Merhaba. Kod zaten belirttiğiniz gibi çalışıyor.
Mesaj kutusunu görmek istemiyorsanız koddan
MsgBox (Veri1 & "-" & Veri2)
kodunu silmelisiniz.
Access İle Hazırlanan Çok Satırlı Veriyi Belirli Sayılarda Metin Dosyalarına Kaydetme
(19/12/2017, 11:11)ozanakkaya yazdı: Merhaba. Kod zaten belirttiğiniz gibi çalışıyor.
Mesaj kutusunu görmek istemiyorsanız koddan
MsgBox (Veri1 & "-" & Veri2)
kodunu silmelisiniz.
Ozan hocam tekrar merhabalar.Kod ile ilgili çözemediğim bir iki durum var.Benim veritabanımda 121 tane alan var ve bunları kod içerisinde tanımladım sizin gösterdiğiniz şekilde. Ancak kod çalışmıyor şu an.Bizim yaptığımız veritabanında 7 alan vardı ve sorun çıkmamıştı.Yazılan alan sayısı sayfaya sığmıyor ve hata veriyor gibi.Şu şekilde düzenlemeye çalıştım.
Diğer bir sorum da şu.Metin dosyaları masaüstüne otomatik olarak kaydediliyor.Dosyaları benim belirleyeceğim bir klasör içine nasıl kaydedeğim?
--------------------------------------------------------------------------------------------------------
Private Sub Komut605_Click()
On Error GoTo hata
Set rs = CurrentDb.OpenRecordset("srg_test")
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
Do Until rs.EOF = True
Veri1 = rs!Alan1
rs.Move 70
Veri2 = rs!Alan1
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO tbl_gecici (Alan1, Alan2, Alan3, Alan4, Alan5, Alan6 ,Alan7, Alan8, Alan9, Alan10, Alan11, Alan12, Alan13, Alan14, Alan15, Alan16, Alan17, Alan18, Alan 19, Alan20, Alan21, Alan22, Alan23, Alan24, Alan25, Alan26, Alan27, Alan28, Alan29, Alan30, Alan31, Alan32, Alan33, Alan34, Alan35, Alan36, Alan37, Alan38, Alan39, Alan40 )SELECT Alan1, Alan2, Alan3, Alan4, Alan5, Alan6 ,Alan7, Alan8, Alan9, Alan10, Alan11, Alan12, Alan13, Alan14, Alan15, Alan16, Alan17, Alan18, Alan 19, Alan20, Alan21, Alan22, Alan23, Alan24, Alan25, Alan26, Alan27, Alan28, Alan29, Alan30, Alan31, Alan32, Alan33, Alan34, Alan35, Alan36, Alan37, Alan38, Alan39, Alan40 FROM tbl_test WHERE (((Alan1) Between " & Veri1 & " And " & Veri2 & "));"
DoCmd.RunSQL "INSERT INTO tbl_gecici (Alan41, Alan42, Alan43, Alan44, Alan45, Alan46, Alan47, Alan48, Alan49, Alan50, Alan51, Alan52, Alan53, Alan54, Alan55, Alan56, Alan57, Alan58, Alan59, Alan60, Alan61, Alan62, Alan63, Alan64, Alan65, Alan66, Alan67, Alan68, Alan69, Alan70, Alan71, Alan72, Alan73, Alan74, Alan75, Alan76, Alan77, Alan78, Alan79, Alan80 ) SELECT Alan 41, Alan42, Alan43, Alan44, Alan45, Alan46, Alan47, Alan48, Alan49, Alan50, Alan51, Alan52, Alan53, Alan54, Alan55, Alan56, Alan57, Alan58, Alan59, Alan60, Alan61, Alan62, Alan63, Alan64, Alan65, Alan66, Alan67, Alan68, Alan69, Alan70, Alan71, Alan72, Alan73, Alan74, Alan75, Alan76, Alan77, Alan78, Alan79, Alan80 FROM tbl_test WHERE (((Alan40) Between " & Veri1 & " And " & Veri2 & "));"
DoCmd.RunSQL "INSERT INTO tbl_gecici (Alan81, Alan82, Alan83, Alan84, Alan85, Alan86, Alan87, Alan88, Alan89, Alan90, Alan91, Alan92, Alan93, Alan94, Alan95, Alan96, Alan97, Alan98, Alan99, Alan100, Alan101, Alan102, Alan103, Alan104, Alan105, Alan106, Alan107, Alan108, Alan109, Alan110, Alan111, Alan112, Alan113, Alan114, Alan115, Alan116, Alan117, Alan118, Alan119, Alan120, Alan121 ) SELECT Alan81, Alan82, Alan83, Alan84, Alan85, Alan86, Alan87, Alan88, Alan89, Alan90, Alan91, Alan92, Alan93, Alan94, Alan95, Alan96, Alan97, Alan98, Alan99, Alan100, Alan101, Alan102, Alan103, Alan104, Alan105, Alan106, Alan107, Alan108, Alan109, Alan110, Alan111, Alan112, Alan113, Alan114, Alan115, Alan116, Alan117, Alan118, Alan119, Alan120, Alan121 FROM tbl_test WHERE (((Alan80)Between " & Veri1 & " And " & Veri2 & "));"
DoCmd.OutputTo acOutputQuery, "srg_gecici", "MS-DOSText(*.txt)", CurrentProject.Path & "\" & Veri1 & "-" & Veri2 & "Veriler.txt", False, "", , acExportQualityPrint
DoCmd.RunSQL "DELETE * FROM tbl_gecici;"
DoCmd.SetWarnings True
rs.Move 1
Loop
End If
rs.Close
Set rs = Nothing
hata:
If Err.Number = "3021" Then
Exit Sub
End If
End Sub
-------------------------------------------------------------------------------------------------------------------------
Merhaba. Örnek uygulamanızı ekleyiniz. Tablonuzu inceleyip çözüm arayalım.
(21/12/2017, 14:50)Onurr yazdı:(21/12/2017, 13:58)ozanakkaya yazdı: Merhaba. Örnek uygulamanızı ekleyiniz. Tablonuzu inceleyip çözüm arayalım.
merhabalar tekrardan.Veritabanını ekledim hocam,between komutunu yanlış kullanıyorum galiba.
DoCmd.RunSQL "INSERT INTO tbl_gecici;"
Between 'Alan1 AND Alan121' SELECT Between 'Alan1 AND Alan121' FROM tbl_test WHERE (((Alan1)Between " & Veri1 & " And " & Veri2 & "));"
DoCmd.OutputTo acOutputQuery, "srg_gecici", "MS-DOSText(*.txt)", CurrentProject.Path & "\" & Veri1 & "-" & Veri2 & "Veriler.txt", True, "", , acExportQualityPrint
DoCmd.RunSQL "DELETE * FROM tbl_gecici;"
Bu şekilde yazmaya çalıştım ama yine sonuç alamadım.Ben ayrıca bu dosyaları kendi belirlediğimiz yere kaydetmek istiyorum masaüstüne atıyor hocam yoksa direkt olarak.Klasörün yerini hangi kodda belirteceğiz .
Konuyu Okuyanlar: 2 Ziyaretçi