sayın kadirdursun,
aşağıdaki açıklamaların yapılması uygun görülmüştür.
1)
öncelikle,
DoCmd.TransferSpreadsheet komutu;
eğer bir TABLO mevcutsa bunun üzerinden işlemin yapılması ile kullanılmaktadır.fakat uygulamanızda "mutabakat" adlı tablonuz mevcut değil,aksine sorgu olarak geçerlidir.dolayısı ile,bu işlem hata verecektir.
bu nedenle de,DoCmd.OutputTo acOutputQuery komutunu kullanmanız daha yerinde olacaktır.
2)
istediğiniz sonucu elde etmek için yapmanızı gerekenler şunlardır:
mutabakat adlı sorgunuzun
Sql sorgu içeriğini
Kod:
SELECT MUSTERI_KAYDI.GRUPKODU, MUSTERI_HAREKET.TARIH, MUSTERI_KAYDI.UNVAN, MUSTERI_HAREKET.MakbuzFatura, MUSTERI_HAREKET.BELGENO, MUSTERI_HAREKET.BORC, MUSTERI_HAREKET.ODEME, (select sum(([BORC]-[ODEME])) from [MUSTERI_HAREKET] where [TARIH]<=[TARIH]) AS BAKIYE, BAK([UNVAN],[BORC],[ODEME]) AS Bakiye
FROM MUSTERI_KAYDI INNER JOIN MUSTERI_HAREKET ON MUSTERI_KAYDI.[No] = MUSTERI_HAREKET.MUSTERI
WHERE (((MUSTERI_KAYDI.GRUPKODU)=[Forms]![MUSTERI_KAYDI]![BOT]) AND ((MUSTERI_HAREKET.TARIH) Between [Forms]![MUSTERI_KAYDI]![ILK] And [Forms]![MUSTERI_KAYDI]![SON]));
olarak değiştiriniz.çünkü;ALACAK adlı sütun değerine yönelik olarak eski hali ile uyarı vermektedir,sorguya dahil edilmediği için.ardından,
Buton3 adlı
Excel uygulamasına dönüştürmek için kullandığınız butonun içeriğini
Kod:
On Error GoTo Err_aktar
Dim Klasor As String
'Klasor = CurrentProject.Path & "\detay.xlsx"
Klasor = CurrentProject.Path & "\" & "detay" & ".xls"
If MsgBox("Verileri Excele aktarmak istiyor musunuz? Bu işlem veri yoğunluğuna göre bir kaç dakika sürebilir.", 36, "detay.xls 'ye aktarılacak") = 6 Then
'DoCmd.TransferSpreadsheet acExport, 10, "mutabakat", Klasor, True, "detay"
DoCmd.OutputTo acOutputQuery, "mutabakat", acFormatXLS, Klasor, True
MsgBox "Aktarma işlemi tamamlandı.", 10, "VERİ AKTARIMI"
Exit_aktar:
Exit Sub
Err_aktar:
MsgBox Error$
Resume Exit_aktar
End If
yukarıdaki kodlar ile değiştirerek kullanmayı deneyiniz.bilginize...iyi çalışmalar,saygılar.