[SORGU] Bir Sütunun Tabloda olup olmadığını nasıl buluruz?
#1
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.







  Alıntı
Bu mesajı beğenenler:
#2
Merhaba..

Mevcut ekleme sorgunuzun sql görünümünü alabilir miyiz?



  Alıntı
Bu mesajı beğenenler:
#3
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;")




  Alıntı
Bu mesajı beğenenler:
#4
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.



  Alıntı
Bu mesajı beğenenler:
#5
Bu yapıyı deneyiniz..:

Visual Basic
  1. On Error GoTo hata_Error
  2. trz = Nz(DCount("ISKTUTAR1", "fis"), 0)
  3. DoCmd.RunSQL ("INSERT INTO gecicisip ( müstunvan, mustadsoyad, ilce, sehir, " _
  4. & " siptarih, sipsaati, islemtarihi, isktutar, fisno ) " _
  5. & " SELECT Fis.CARIID , Fis.CARIADI , Fis.ILCE , Fis.SEHIR , CDate([FISTAR]) ," _
  6. & " Fis.FISSAAT , Formlar!gunlukislemgirisi!isltar , (Val(Fis!ISKTUTAR1*1000))/1000 , Fis.FISNO FROM Fis;")
  7.  
  8. On Error GoTo 0
  9. Exit Sub
  10.  
  11. hata_Error:
  12.  
  13. If Err.Number = 2471 Then
  14. DoCmd.RunSQL ("INSERT INTO gecicisip ( müstunvan, mustadsoyad, ilce, sehir, " _
  15. & " siptarih, sipsaati, islemtarihi, isktutar, fisno ) " _
  16. & " SELECT Fis.CARIID , Fis.CARIADI , Fis.ILCE , Fis.SEHIR , CDate([FISTAR]) , " _
  17. & " Fis.FISSAAT , Formlar!gunlukislemgirisi!isltar , 0 , Fis.FISNO FROM Fis;")





  Alıntı
Bu mesajı beğenenler:
#6
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



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [TABLO] Iki Tabloda Tarih Alanlarını ,tek Alanda Altalta Getirme Access Ziyaretçisi 9 683 24-07-2025, 23:58
Son Mesaj: Access Ziyaretçisi
  [TABLO] Tabloda Köprü Bilgisini Topluca Değiştirebilmek Nasıl Olur? sevincili 1 262 20-03-2025, 01:00
Son Mesaj: dsezgin
  Bağlı Tabloda şarta Göre Renklendirme Satir 2 358 19-12-2024, 15:38
Son Mesaj: Satir
access-sql-9 [SORGU] Tabloda Geçen Iki Alanda Ortak Kelime Var Ise Istenilen Alana Işaret Koymak sevincili 5 452 20-09-2024, 01:09
Son Mesaj: dsezgin
  Tabloda Koşul Kullanmak/combobox TheREDROSE 10 688 19-07-2024, 15:15
Son Mesaj: halily
  Bir Tabloda Bulunan 2 Alanı Birleştirme programmer67 10 754 25-06-2024, 11:49
Son Mesaj: halily
  [TABLO] Formu Tabloda Filtreleme soss 2 475 27-03-2024, 20:04
Son Mesaj: soss
  [VBA] Bir Tabloda Alan Türü Uzun Metin Olan Iki Ayrı Alanı Karşılaştırmak abkbek 13 1.187 10-11-2023, 22:26
Son Mesaj: abkbek

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi