Güncelleştirme Sorgusu ??

Katılım
6 Ocak 2005
Mesajlar
20
Merhabalar. :hey:
Kod:
 Dim VT As Database
Dim TEczane As Recordset
Dim PEczane As Recordset
Dim Sira, Miktar
Set VT = CurrentDb()
Set TEczane = VT.OpenRecordset("ECZANETUTAR")
Set PEczane = VT.OpenRecordset("PERSONEL")
PEczane.Index = "SNo"
TEczane.Index = "SNo"
PEczane.MoveFirst
TEczane.MoveFirst

Do Until PEczane.EOF
    PEczane.Edit
    PEczane!ECZANE = 0
    PEczane.Update
    PEczane.MoveNext
Loop

Do Until TEczane.EOF
    PEczane.Seek "=", TEczane
    Set PEczane = VT.OpenRecordset("PERSONEL")
    Sira = TEczane!SNo
    Miktar = TEczane!TUTAR
        PEczane.Index = "SNo"
        PEczane.GetRows (Sira)
        PEczane.MovePrevious
        PEczane.Edit
        PEczane!ECZANE = Miktar
        PEczane.Update
    TEczane.MoveNext
 
    Loop
VT.Close
İki tablo arasında aynı sütunları güncelleştirmek istedim. Güncelleştirme sorgusu güncelleştirilecek tabloda olupta diğer tabloda olmayan kayıtlara dokunmuyordu (diğer kayıtlardaki değerlerinde "0" olması gerekiyor)Bende bu işi vb ile yapmayı düşünüp yukarıdaki kodları yazdım ama bu seferde access ten çıkılmıyor kapattığım zaman boş access yeniden açılıyor ctrl+alt+del ile çıkabiliyorum. Acaba Srunu nerede veya bu işlemin daha kısa bir yolu yokmu ? İlginize şimdiden Teşekkürler. :dua:
 
Katılım
6 Ocak 2005
Mesajlar
20
Daha kolay yolunu buldum ve paylaşayım dedim: :hihoho:

DoCmd.SetWarnings False
Dim ECZTYAP As String

ECZTYAP = "SELECT ECZANEBEDEL.ADI_SOYADI, ECZANEBEDEL.ECZANE, Sum(ECZANEBEDEL.TUTAR) AS ToplaTUTAR INTO ecz FROM ECZANEBEDEL GROUP BY ECZANEBEDEL.ADI_SOYADI, ECZANEBEDEL.ECZANE;"

DoCmd.RunSQL ECZTYAP

Dim PECzsil As String

PECzsil = "UPDATE PERSONEL SET PERSONEL.ECZANE = Null;"

DoCmd.RunSQL PECzsil

Dim PECZYAZ As String

PECZYAZ = "UPDATE ecz INNER JOIN PERSONEL ON ecz.ADI_SOYADI = PERSONEL.ADISOYADI SET PERSONEL.ECZANE = ecz!ToplaTUTAR;"

DoCmd.RunSQL PECZYAZ
DoCmd.SetWarnings True



ile oluyor
Bu arada sorguları komut düğmelerinin olay larına yazmak daha kullanışlı imiş böylelikle sorgudaki bazı parametreleri replace ile sonradan değiştirebiliyoruz. (Ã?rneğin tablo yapma sorgusunda tablo nun adı veya sorgudaki hedef tablonun adını... gibi. İyi çalışmalar...
 
Üst