Kayıt Tarihi: 29.04.2011
Toplam 1 konu açtı.
Toplam 6 yorum yaptı.
Toplam
0
puanı bulunmakta.
Beğeniler: 0 / 0
Merhabalar.
Takıldığım bir konuda bana yardımcı olurmusunuz lütfen.
Application.ImportXML ile tablo yapısı ile birlikte aldığım xml verileri geçici bir tabloya kaydediyorum.
Bilgileri geçici dosyadan asıl dosyaya isteğim formatta aktarmak istiyorum.
Ancak aktaracağım xml dosyadaki sütunlardan birisi bazen eksik oluyor(veri olmadığından xml i export eden program o sütunu yazmıyor).
Sonuç olarak geçici tabloda örneğin "isktutar" adlı sütun var ise mesele yok
asıl tablodaki isktutar = geçici dosyadaki isktutar
ama bu sütun yok ise asıl tablodaki isktutar = 0 yazdırmam gerekiyor.
Bunu ekleme sorgusunda nasıl çözebilirim?
Yardımlarınızı bekliyorum.
Teşekkkür ederim.
Kayıt Tarihi: 04.03.2008
Toplam 371 konu açtı.
Toplam 7.540 yorum yaptı.
Toplam
236
puanı bulunmakta.
Mevcut Office Sürümü:
Office 2010,
Office 2019,
Beğeniler: 56 / 56
Merhaba..
Mevcut ekleme sorgunuzun sql görünümünü alabilir miyiz?
Kayıt Tarihi: 29.04.2011
Toplam 1 konu açtı.
Toplam 6 yorum yaptı.
Toplam
0
puanı bulunmakta.
Beğeniler: 0 / 0
Elbette Hocam,
DoCmd.RunSQL ("INSERT INTO gecicisip ( müstunvan, mustadsoyad, ilce, sehir, siptarih, sipsaati, islemtarihi, isktutar, fisno ) SELECT Fis.CARIID AS Deyim1, Fis.CARIADI AS Deyim2, Fis.ILCE AS Deyim5, Fis.SEHIR AS Deyim6, CDate([FISTAR]) AS Deyim8, Fis.FISSAAT AS Deyim7, Formlar!gunlukislemgirisi!isltar AS Deyim10, (Val(Fis!ISKTUTAR1*1000))/1000 AS Deyim3, Fis.FISNO FROM Fis;")
Kayıt Tarihi: 29.04.2011
Toplam 1 konu açtı.
Toplam 6 yorum yaptı.
Toplam
0
puanı bulunmakta.
Beğeniler: 0 / 0
Val(Fis!ISKTUTAR1*1000))/1000 AS Deyim3
buradaki Fis!ISKTUTAR1 alanı xml den alınan tabloda mevcut değil
bu durumda isktutar = 0 yazmam gerekiyor.
Kayıt Tarihi: 04.03.2008
Toplam 371 konu açtı.
Toplam 7.540 yorum yaptı.
Toplam
236
puanı bulunmakta.
Mevcut Office Sürümü:
Office 2010,
Office 2019,
Beğeniler: 56 / 56
Bu yapıyı deneyiniz..:
Visual Basic On Error GoTo hata_Error trz = Nz(DCount("ISKTUTAR1", "fis"), 0) DoCmd.RunSQL ("INSERT INTO gecicisip ( müstunvan, mustadsoyad, ilce, sehir, " _ & " siptarih, sipsaati, islemtarihi, isktutar, fisno ) " _ & " SELECT Fis.CARIID , Fis.CARIADI , Fis.ILCE , Fis.SEHIR , CDate([FISTAR]) ," _ & " Fis.FISSAAT , Formlar!gunlukislemgirisi!isltar , (Val(Fis!ISKTUTAR1*1000))/1000 , Fis.FISNO FROM Fis;") On Error GoTo 0 Exit Sub hata_Error: If Err.Number = 2471 Then DoCmd.RunSQL ("INSERT INTO gecicisip ( müstunvan, mustadsoyad, ilce, sehir, " _ & " siptarih, sipsaati, islemtarihi, isktutar, fisno ) " _ & " SELECT Fis.CARIID , Fis.CARIADI , Fis.ILCE , Fis.SEHIR , CDate([FISTAR]) , " _ & " Fis.FISSAAT , Formlar!gunlukislemgirisi!isltar , 0 , Fis.FISNO FROM Fis;")
Kayıt Tarihi: 29.04.2011
Toplam 1 konu açtı.
Toplam 6 yorum yaptı.
Toplam
0
puanı bulunmakta.
Beğeniler: 0 / 0
hocam yaptığım tüm işlemler aşağıda for-next arasına sizin kodu eklediğimde
next without for hatası verdi.
Private Sub Komut2_Click()
Dim f As Object
Set f = Application.FileDialog(1)
f.InitialFileName = "*.xml"
f.AllowMultiSelect = True
If f.Show Then
For i = 1 To f.SelectedItems.Count
dosyaadi = Filename(f.SelectedItems(i))
Application.ImportXML f.SelectedItems(i), acStructureAndData
Kill f.SelectedItems(i)
DoCmd.RunSQL ("INSERT INTO gecicisip ( müstunvan, mustadsoyad, ilce, sehir, siptarih, sipsaati, islemtarihi, isktutar, fisno ) SELECT Fis.CARIID AS Deyim1, Fis.CARIADI AS Deyim2, Fis.ILCE AS Deyim5, Fis.SEHIR AS Deyim6, CDate([FISTAR]) AS Deyim8, Fis.FISSAAT AS Deyim7, Formlar!gunlukislemgirisi!isltar AS Deyim10, (Val(Fis!ISKTUTAR1*1000))/1000 AS Deyim3, Fis.FISNO FROM Fis;")
DoCmd.RunSQL ("INSERT INTO gecicisipdetay ( SIRANO, STOKKOD, STOKADI, MIKTAR, FIYAT, TUTAR, KDVORANI, KDVTUTARI, fisnodetay ) SELECT Val([FATSIRANO]) AS Deyim1, Satir.STOKKOD AS Deyim2, Satir.STOKADI AS Deyim3, Val([MIKTAR]) AS Deyim4, (Val([FIYAT]*1000))/1000 AS Deyim5, (Val([TUTAR]*1000))/1000 AS Deyim6, Val([KDVORANI]) AS Deyim7, (Val([KDVTUTARI]*1000))/1000 AS Deyim8, gecicisip.fisno FROM Satir, gecicisip;")
DoCmd.RunSQL ("INSERT INTO siparisler ( fisno, müstunvan, mustadsoyad, ilce, sehir, siptarih, sipsaati, isktutar, islemtarihi ) SELECT gecicisip.fisno, gecicisip.müstunvan, gecicisip.mustadsoyad, gecicisip.ilce, gecicisip.sehir, gecicisip.siptarih, gecicisip.sipsaati, gecicisip.isktutar, gecicisip.islemtarihi FROM gecicisip;")
DoCmd.RunSQL ("INSERT INTO siparislerdetay ( fisnodetay, SIRANO, STOKKOD, STOKADI, MIKTAR, FIYAT, TUTAR, KDVORANI, KDVTUTARI, DEPOKOD ) SELECT gecicisipdetay.fisnodetay, gecicisipdetay.SIRANO, gecicisipdetay.STOKKOD, gecicisipdetay.STOKADI, gecicisipdetay.MIKTAR, gecicisipdetay.FIYAT, gecicisipdetay.TUTAR, gecicisipdetay.KDVORANI, gecicisipdetay.KDVTUTARI, gecicisipdetay!MIKTAR*malzeme!satışnakliyetl AS Deyim1 FROM gecicisipdetay INNER JOIN malzeme ON gecicisipdetay.STOKKOD = malzeme.MalzemeKodu;")
DoCmd.RunSQL ("DELETE gecicisip.* FROM gecicisip;")
DoCmd.RunSQL ("DELETE gecicisipdetay.* FROM gecicisipdetay;")
DoCmd.DeleteObject acTable, "Fis"
DoCmd.DeleteObject acTable, "Satir"
Next
End If
If f.SelectedItems.Count = 0 Then
MsgBox "İşlem İptal Edildi", vbOKOnly, "Ali"
Else
MsgBox i - 1 & " " & "Adet İşlem Aktarıldı", vbOKOnly, "Ali"
End If
DoCmd.Close
End Sub
|