Text ve Acess Veri Aktarma

1 2
02/09/2011, 12:17

ikosarer

Öncelikle merhaba

Benim elimde bulunan Access Dosyasında 2 farklı tabloda fatura verilerini tek text dosyasında alt alta almak istiyorum.Şöyleki

1.tablom : fatura başlık bilgisi
2.tablom: Faturadaki girilen hareketler bilgisi ni içeriyor.

Örnek:
B (Ft.Baslık Kodu) 145 (Fat.No) 11.08.2011(Fatura Tarihi) 118.00 (Fat.Tutarı)
H (Ft.Hareket Kodu) 1(hrk.Satır No) URN.001 (Urün Kodu) Okul Çantası (Stok Adı)
H (Ft.Hareket Kodu) 2(hrk.Satır No) URN.002 (Urün Kodu) Defter (Stok Adı)
H (Ft.Hareket Kodu) 3(hrk.Satır No) URN.003 (Urün Kodu) Kurşun Kalem (Stok Adı)
................................................................
B (Ft.Baslık Kodu) 146 (Fat.No) 19.09.2011(Fatura Tarihi) 300.00 (Fat.Tutarı)
H (Ft.Hareket Kodu) 1(hrk.Satır No) URN.B01 (Urün Kodu) Bilg.Çantası (Stok Adı)
H (Ft.Hareket Kodu) 2(hrk.Satır No) URN.B02 (Urün Kodu) Bilg.Usb Klav.(Stok Adı)
...................................................................
gibi devam arz eden bir text dosya yapmak istiyorum.
2 farklı tablonun Text dosyasında alt alta yazdırmak istiyorum.Her fatura bitimininde B harfi ile yeni fatura bilgisi ardından girilen fatura hareketi kadar başında H harfi ile text dosyasında yazmak istiyorum bu soruyu internet de bulamadım.Bunun için vb de modül mü yazmak gerekiyor bilemedim.değerli bilgilerinize sunarım.Cevaplandırırsanız çok sevinirim.
Saygılarımla
İsmail KOŞARER

02/09/2011, 12:53

mehmetdemiral

Sorunuzun vb sorularına değil de Access sorularına sorulması daha doğru olur gibi geliyor, çünkü Access kullanarak ADO ile verilerin txt olarak istenildiği gibi oluşturulması mümkün. Access dosyalarınızı buraya yüklerseniz Access üzerinden birkaç farklı yöntemle dosyalarınız txt olabilir. Bu yöntemlerden birincisi Access'in kendi sihirbazı ile txt olarak vermesi, ikincis de ADO veya DAO kullanarak txt oluşturmadır. Tabii Sql ile de yapılabilir. Kısacası Access ile mümkün. Bu arada sitemizde konuyla ilgili örnekleri inceleyebilirsiniz.

https://accesstr.net/konu-sorgu-dan-txt-...detme.html
https://accesstr.net/konu-makro-ile-meti...etsiz.html
https://accesstr.net/konu-veritabani-nes...aydet.html
https://accesstr.net/konu-sorgu-dan-txt-...me-ek.html
05/09/2011, 10:21

ikosarer

Öncelikle cevap verme nezaketinizden dolayı teşekkür eder geçmiş Ramazan bayramınızı kutlarım.Değerli hocam örneklerinizi inceledim.gayet güzel fakat benim yapmak istediğim ilk öncelik farklı 2 tabloyu alt alta birleştirmek.ardından tek text dosyasına göndermek.text dosyasına göndermede herhangi bir problemin yok ama 2 tabloyu alt alta birleştirme de sıkıntı yaşıyorum.Kısaca 1.tablomda fatura başlığı 2.fatura da da ise 1.tabloya bağı faturanın hareketleri gelecek şekilde birleşim sağlamak.
Örnek 1.tablo içerinde sadece fişin başlıklarını tutuyorum.
fiş tipi fiş No Fiş Tarihi Fiş Tutarı
B 158 11.11.2011 118.00 TL

2.tablomda ise bu fişin numarasına bağlı hareketlerini tutuyorum.
Fiş Tipi Fiş No hesap Kodu Hesap Adı Borç Alacak
H 158 153 00 18 %18 Ticari Mal Stokları 100.00 TL 0

böyle 2 farklı ama fiş numarasıyla ilişkili tablom var.
Ben bunları tek tablo da birleştirmelimiyim yoksa her 2 sini text dosyasına dönüştürürken alt alta mı getirmeliyim.Bunu çözemedim.

Text Dosyasında ben bu şekilde görmek istiyorum.
B 158 11.11.2011 118.00 TL ( Bu alan Bilgi Başlığı olan 1.tablo)
H 158 153 00 18 %18 Ticari Mal Stokları 100.00 TL 0.00 TL
H 158 191 00 18 %18 Hesaplanan Kdv 18.00 TL 0.00 TL
H 158 320 00 b001 Akdeniz Ticaret Ltd.Ştiı 0 TL 118.00 TL

Satır başında B harfi ile başıyan her satır 1 faturanın ilk satırını oluşturuyor.
ardından gelen H harfi ise B harfinin içindeki hareketleri 2.tablodan getiriyor.
1.ve 2.Tablonun ortak hücreleri Fiş Numaralarıdır.Birbirine ilişkilendirilmiştir.

bu 2 tabloyu yukarıdaki format da text dosyasına alt alta gelecek şekilde nasıl gönderebilirim.Değişen her fiş numarasında bu görüntü altalta gelmesi gerekiyor.
tüm sıkıntım bundan ibarettir.
Değerli bilgilerinize sunarım.

Saygılarımla
İsmail KOŞARER
Bilsun Bilgisayar Ltd.Şti.
05/09/2011, 13:10

ozanakkaya

Keşke bu kadar açıklamaya ek olarak örnek uygulamanızıda ekleseydiniz.

başlık isimli formdaki butonu tıkla.
_____________________________________________
Ayrıca, konu Access soruları bölümüne taşındı.
05/09/2011, 16:07

ikosarer

Sayın Mehmet hocam ellerinize sağlık Sadece 1 yerde hata aldım.Oda txt butonuna basıldığında modül not found hatası veriyor olay yordamına girmek istediğimde beni Access den dışarı atıyor.Ms2003 Access kullanıyorum.Birde bu işlemin kısa mantığını anlatabilirmisiniz hazıra konmak istemem gönderdiğiniz dosya da inceleme yapıyorum ama bilenden öğrenmek daha bir başka...
1.herhalde öncelikle çapraz sorgu yaptınız bunun amacı nedir ?
2.form olarak hazırladığınız şablonda txt butonuna vbscrpit ekranında modül mü yazdınız bu kodlamayı nasıl görebilirim ?
3.Bu ekran da gözüken alanların genişlikleri(Örnek Fiş No 4.Txt butonuna bastığımızda Dosya adını ve sürücüyü bizmi vereceğiz yoksa default bir tanımı olacakmı?

Umarım sorularımla sizi bunaltmamışımdır.İnanın Okadar hevesle araştırma yapıyorum şuana kadar doyurucu bilgiyi sizden başka birinden de alamadım.Sizi Bulmuşken kafamdaki biriken soru işaretlerinden kurtulayım.Yapmış Olduğunuz örnek istediğimin tıpatıp aynısı bu arada.

Değerli bilgilerinizi eksik etmediğiniz için ve bizler gibileri aydınlattığınız için binlerce teşekkürü borç bilirim.Göndediğiniz ek dosya yı size gönderiyorum.

Saygılarımla
İsmail KOŞARER

05/09/2011, 16:59

ozanakkaya

4. mesajdaki örneği yeniledim.

1. Örnekteki çapraz sorgunun işlevi yok, zaten son örnekte sorguda yok.
2. txt olarak aktaran kod:
DoCmd.OutputTo acOutputReport, "başlık", acFormatTXT, "C:\Documents and Settings\" & Environ("userName") & "\Desktop\" & "Başlık.txt", False
3. Formda metin kutularının genişliğine göre metin dosyasına aktarma yapıyor, metin kutusunun genişliği cm veya px olarak belirlenir. karakter olarak yapılmaz. 1 karakter 1 mm olarak varsayıyorsan genişliği 0,8 cm olarak belirle.
4. koddaki "C:\Documents and Settings\" & Environ("userName") & "\Desktop\" & "Başlık.txt" dosya adı ve aktarılacağı yer.
5. Ben mehmet hoca değilim.

1 2