[VBA] Sorguları vba kodu ile birleştirme
#1
Herkeze kolay gelsin arkadaşlar, günlük gelen yükü verilerimiz var; excell tabosunda veriliyor.Bende bunları kendimce vt atarak daha kullanışlı hale getirdim hoş ta oldu. Bu verileri excelden buton yardımı ile cekiyorum daha sonra arşiv yapacagım diğer tabloya bunları aktarıyorum ve güncellemeler yapıyorum 3-4 sorgu yardımı ile işlerim görülüyor. Bu sorguları vba kodu ile nasıl bir butonda toplayabilirim anlatabilecek arkadaş varsa sevinirim .teşekkür ederim


Eklenti Dosyaları
.rar   Desktop.rar (Boyut: 46,99 KB / İndirilme: 85)



  Alıntı
Bu mesajı beğenenler:
#2
Private Sub Buton_click()
currentdb.execute "Update......"
currentdb.execute "Insert Into......"
End sub

buton tiklama olayina yukaridakiprosedur araciligi ile yapilabilir. Tirnak icine sorgu SQL'ni tasimaniz ile sonuc alabilirsiniz. baslangic ile son tirnak arasinda sorguya ait tirnaklari kesme isaretine cevirmelisiniz.
Misal:
SQL : Select * From TaloAdi Where (((Adi)=Forms!Form1!adi))
PROSEDUR : currentdb.execute "Select * From TaloAdi Where (((Adi)='" & Forms!Form1!adi & "'))"



  Alıntı
Bu mesajı beğenenler:
#3
ricaetsem bu sorgulardan bir tanesini yapıp gönderebilir misiniz ben yaptım ama birşeyler eksik oluyor



  Alıntı
Bu mesajı beğenenler:
#4
Private Sub Komut3_Click()
On Error GoTo Err_Komut3_Click
'******Tablo 1 e gelen veriyi iki tablo arasýnda eþleþmeyen varsa T_Tümisler e eklesin (kaç veri eklediðini saysýn)
CurrentDb.Execute "INSERT INTO T_Tüm_isler ( isemrino, açýklama, tarih, verilenyöv, durumu, yer, sorumlu, malzeme, malzdurumu ) " & _
"SELECT Tablo1.isemrino, Tablo1.açýklama, Tablo1.tarih, Tablo1.verilenyöv, Tablo1.durumu, Tablo1.yer, Tablo1.sorumlu, Tablo1.malzeme, Tablo1.malzdurumu FROM Tablo1 LEFT JOIN T_Tüm_isler ON Tablo1.isemrino = T_Tüm_isler.isemrino"
'******Tablo1 deki veriler eþleþiyor ise tarih ve verilenyöv güncellesin eþleþmiyor ise son haiyle kalsýn (kaç sütunda güncelleme yaptýysa saysýn)
CurrentDb.Execute "UPDATE Tablo1 INNER JOIN T_Tüm_isler ON Tablo1.isemrino = T_Tüm_isler.isemrino SET T_Tüm_isler.tarih = [Tablo1]![tarih], T_Tüm_isler.verilenyöv = [Tablo1]![verilenyöv]" '<-----S_gelenverilerilegüncellemeyap
'******iki tablo arasýnda eþleþmiyor ise bu iþ kapanmýþ demektir statüsü kapalý yazsýn
CurrentDb.Execute "UPDATE....." '<-----T_Tüm_isler Ýle Eþleþmeyenleri_kapalý_yapma
'******iki tabloda E Þ L E Þ E N var ise statüsü daha önceden KAPALI ya alýnmýþ ise AÇIK statüsüne gertirsin (bu oto kontrol için yaplmýþtýr veriyi ekþik çekmiþ olabiliriz bu durumdada statü kapalý yazacak bu nu önlemek için )
CurrentDb.Execute "UPDATE...." '<-----S_Sehven_Kapalý_yazanlarý_güncelle
Exit_Komut3_Click:
Exit Sub

Err_Komut3_Click:
MsgBox Err.Description
Resume Exit_Komut3_Click

End Sub
Sorgulari tasarim modunda acip, tablo bolgesinde sag tus ile SQL View basip cikan komutu kopyalayin ve currentdb.execute satirina tirnak icinde yapistirin.



  Alıntı
Bu mesajı beğenenler:
#5
Private Sub Verilerial_Click()
MsgBox "Merhaba eski veriler silinecek yeni veriler gelecek"
'Tablo1 boşaltır
CurrentDb.Execute "DELETE * FROM [Tablo1] "
'Tablo1e yeni verileriekler

MsgBox "Merhaba yeni veriler gelecek", vbCritical + vbYesNo, UYARI
DoCmd.TransferSpreadsheet acImport, 8, "Tablo1", "C:\Users\User\Documents\Tablo1.xlsx", True, "a1:j20"
MsgBox "Merhaba yeni veriler geldi"


CurrentDb.Execute "INSERT INTO T_Tüm_isler ( isemrino, açıklama, tarih, verilenyöv, durumu, yer, sorumlu, malzeme, malzdurumu )" & _
"SELECT Tablo1.isemrino, Tablo1.açıklama, Tablo1.tarih, Tablo1.verilenyöv, Tablo1.durumu, Tablo1.yer, Tablo1.sorumlu, Tablo1.malzeme, Tablo1.malzdurumu FROM Tablo1 LEFT JOIN T_Tüm_isler ON Tablo1.isemrino = T_Tüm_isler.isemrino"
CurrentDb.Execute "UPDATE Tablo1 INNER JOIN T_Tüm_isler ON Tablo1.isemrino = T_Tüm_isler.isemrino SET T_Tüm_isler.tarih = [Tablo1]![tarih], T_Tüm_isler.verilenyöv = [Tablo1]![verilenyöv];"

CurrentDb.Execute "UPDATE T_Tüm_isler LEFT JOIN Tablo1 ON T_Tüm_isler.isemrino = Tablo1.isemrino SET T_Tüm_isler.statü = "kapalı", T_Tüm_isler.kapatma_tr = Date()WHERE (((Tablo1.isemrino) Is Null));"

CurrentDb.Execute "UPDATE T_Tüm_isler INNER JOIN Tablo1 ON T_Tüm_isler.isemrino = Tablo1.isemrino SET T_Tüm_isler.statü = "Açık",WHERE (((T_Tüm_isler.statü)="kapalı"));"



End Sub
son iki sorguda
'TIRNAK İÇİNDE "kapalı" ,"açık" yazdığı için hata veriyor

ilave
.... sitede buldum hocam '" & kapalı &"' şeklinde üzelttim oldu.



  Alıntı
Bu mesajı beğenenler:
#6
Hocam yardımlarınız için teşekkür ederim
birde bunları mesajla kaç veri ilave edildi güncelleme yaparken kaç güncelleme yapıldı her sorgunun arkasında bize sayılı beyanda bulundura bilirmiyiz



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [TABLO] Ada Ve Parsel Bilgisini Farklı Bir Kolonda Birleştirme mmisildar 4 458 04-09-2024, 13:37
Son Mesaj: mmisildar
  [RAPOR] Access De Ki Raporu Word Belgesi Olarak Vba Kodu Ile Açma Ahmet51 10 879 01-08-2024, 10:28
Son Mesaj: dsezgin
  Bir Tabloda Bulunan 2 Alanı Birleştirme programmer67 10 752 25-06-2024, 11:49
Son Mesaj: halily
  [SORGU] Sayı Formatı Bozulmadan Metinle Birleştirme atyaty 2 380 08-12-2023, 18:57
Son Mesaj: atyaty
  Birden Fazla Alandaki Veriyi Sorguda Alt Alta Birleştirme adnnfrm 3 648 18-11-2023, 19:54
Son Mesaj: dsezgin
  Birleştirme Hakkında. Satir 7 677 10-09-2023, 18:21
Son Mesaj: Satir
  [VBA] Yıl Ay Sayı Sıralama Kodu Hakkında Ahmet51 6 767 29-05-2023, 09:31
Son Mesaj: halily
  [SORGU] Sql Kodu Ahmet51 10 1.131 11-04-2023, 19:01
Son Mesaj: dsezgin

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar):