Sayın Modalı. Aslında veri aldığımız txt dosyasının yerine bizim oluşturduğumuz -daha doğrusu kodlarımızın oluşturduğu- txt dosyası geçecek. Ve aslında en aciliyeti olan konu buydu. Çünkü projem yarın kullanılmaya başlanmalı. Ben verileri alıp düzenlenmesini sağlayacak kadar ilerledim. Ve aslını ararsanız üzerlerinde çalıştıkları verileri düzenledikleri kadarıyla bırakıp acil olarak düzenlemeleri gereken -veya dosyası ellerine ulaşmadığı için durmak zorunda kaldıkları durumda- mevcut mdb'yi kaydetmelerini amaçlıyordum. Böylece başka bir dosya (txt veya mdb) çağırıp onunla çalışabilecekti. Ama eğer txt olarak arşivleyip daha sonra devam etmek isterlerse de iş olabilir. Bu sefer tek sıkıntı -ki çok önemli değil- asıl txt dosyasında olmayan mahalleadi, caddeadi gibi 7-8 kalem veri kaydedilmeyecek. Ama bunların koyulma sebebi zaten seçildiklerinde dlookup komutu ile tabloya mahalleid, caddeid gibi verileri yazdırmaktı. Bu veriler yazılmış olacak yani.
Ama tıpkı sizin önerdiğiniz -karaayhan'a önerdiğiniz- ve benim split ile $ ayıraçlı hale getirdiğim yapının aynen tersine işletilmesi mümkün mü? Böylece üzerinde çalışılmış, düzenlenmiş veriler txt olarak kaydedilebilecek. Daha önce anlattığım 13.000 kayıtla sınırlı olan ama bizim tek mdb'de topladığımız şekil de tersine çevrilecek. Bunu yaparken mdb dosyamıza yazdığımız dosya adları da ayırmada bize yol gösterecek ve oluşan txt dosyaları birer birer adlarını bu şekilde alacak.
Anlatırken güzel ama yaparken nasıl olur? ))) Ben o yüzden önceliği txt'e dönüştürmeye verelim diyorum. Mdb olarak arşivlemeden vazgeçelim. Onu adamlar verileri düzenlemeye başladıktan sonra da ilave edebilirim. Zaten eğer txt olarak kaydetme işini yarına yetiştiremezsem bu şekilde vereceğim ve txt olarak dönüştürme işini verileri dosyaadi sütununa göre gruplayan bir sorgu ile istifleyip Access'in kendi dışa veri gönderme sihirbazıyla tek tek ben yapmalıyım. Bu da 80-100 adet txt dosyasını tek tek benim dönüştürmem demek ki, yazdığım programın bir anlamı olmayacak.. Adamlardan fazla ben yorulacağım))
Sayın modalı.. Sizin yazdığınızı görmeden ve okumadan bir sürü şey yazdım.. Kusura bakmayın..)
Bahsettiğiniz komutları görmemişim. Onları da aldım ve bazı yerlerini kendimce düzenledim. Ama ne kadar doğru oldu bilmiyorum. Aşama aşama ilerledim ve en son
Set recExt = dbExt.OpenRecordset("tblalınanVeriler")
kısmında hata verdi. Verilerin tamamını vereyim de bir inceleyin. Nereyi atlamışım?
ÖNCE GÖZAT BUTONU:
Private Sub gözat_Click()
On Error GoTo cmdAddSmall_Err
Dim strFilter As String
Dim lngflags As Long
Dim varFileName As Variant
strFilter = "All Files (*.*)" & vbNullChar & "*.*" _
& vbNullChar & "All Files (*.*)" & vbNullChar & "*.*"
lngflags = tscFNPathMustExist Or tscFNFileMustExist _
Or tscFNHideReadOnly
Set db = OpenDatabase(dbName)
For Each tdf In db.TableDefs
If Not (tdf.name Like "MSys*") Then 'ignore system tables
DoCmd.TransferDatabase acImport, "Microsoft Access", _
dbName, acTable, tdf.name, tdf.name, False
End If
Next
db.Close
Set db = Nothing
End Sub
DATA VALID KODLARI
Sub DataValid()
Dim dbExt As Database
Dim recExt As Recordset
Dim dbName As String
Dim verisay As Integer
Dim y As Integer
dbName = Me!Metin25
Set dbExt = OpenDatabase(dbName)
Set recExt = dbExt.OpenRecordset("tblalınanVeriler") 'Benim tablo ismim. Arşivde de program da aynı isim
Sayın Modalı,
Ben olayı çözdüm. Olay referanslardan kaynaklanıyor. Daha doğrusu referansların sıralamasından. O yüzden sanırım aktarma modülünü ayrı bir program olarak vermek gerekecek. Çünkü eğer Microsoft DAO 3.6 Obj. Libr. eğer Ole Otomasyon ve Activex data obj. 2.7 referanslarından önce olmazsa Arşive gönderme çalışmıyor. Bu şekilde sıralanınca da Txt'ten mdb'ye alma çalışmıyor. Sanırım sizin dediğini gibi bunun Ado'su lazım. Olmazsa ayrı bir form olarak yapacağız.
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.