sorgudaki alanı güncelleme

Katılım
18 Mayıs 2005
Mesajlar
63
tablodaki alanı güncelleme

Değerli forum üyeleri ve yöneticileri,

Tablo alanı güncelemeyi nasıl yapabiliriz. T_ALIMVESATIMLAR tablosunda BIRIMFIYATI ve KESINTIYUZDE alanım var. Ama ben alım yaptığımda fiyatı ve yapacağım kesinti oranını bilmediğim için bu alanları boş bırakıyorum. Ay sonunda fiyat ve kesinti oranı belli olunca T_URETICILER tablosundaki FIYATI ve KESYUZ alanına bunları giriyorum. T_URETICILER tablosundaki FIYATI ve KESYUZ alanına göre T_ALIMVESATIMLAR tablosunda boş bıraktığım BIRIMFIYATI ve KESINTIYUZDE alanlarını nasıl güncelleyebilirim. Zira ilerde atıyorum 01.01.2009-31.01.2009 aralığında ilgili kişiden ilgili alımı kaçtan yapmışım hangi oranda kesinti uygulamışım görebilmem lazım.

Şimdiden teşekkürler...
 

Ekli dosyalar

Son düzenleme:
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Bu sorgu ile istediğinizi gerçekleştirebilirsiniz..

Kod:
UPDATE T_ALIMVESATIMLAR INNER JOIN T_URETICILER ON T_ALIMVESATIMLAR.VERICI = T_URETICILER.VERICISI SET T_ALIMVESATIMLAR.BIRIMFIYATI = [FIYATI], T_ALIMVESATIMLAR.KESINTIYUZDE = [KESYUZ]
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Bu da form üzerinden güncelleyebileceğiniz şekli.. Bir düğmeye bağlayabilirsiniz..

Kod:
If MsgBox(DCount("*", "T_ALIMVESATIMLAR", "nz(BIRIMFIYATI)=0") & " Adet Kayıt Güncenlenmek Üzere. Emin misiniz?", vbYesNo, "Taruz") = vbYes Then
Set trz = Application.CurrentProject.Connection
       trz.Execute "UPDATE T_ALIMVESATIMLAR INNER JOIN T_URETICILER ON T_ALIMVESATIMLAR.VERICI = T_URETICILER.VERICISI" _
       & " SET T_ALIMVESATIMLAR.BIRIMFIYATI = [FIYATI], T_ALIMVESATIMLAR.KESINTIYUZDE = [KESYUZ]" _
       & " WHERE (((T_ALIMVESATIMLAR.BIRIMFIYATI) Is Null) AND ((T_ALIMVESATIMLAR.KESINTIYUZDE) Is Null))"
    trz.Close
    Set trz = Nothing
End If
 
Katılım
18 Mayıs 2005
Mesajlar
63
Teşekkürler Sayın Taruz,
Yazdığınız kod işimi gördü. Tarih aralığı kısmında da yardımcı olursanız sevinirim.

Saygılarımla...
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Daha ayrıntılı bir şekilde işleminizi gerçekleştirebileceğiniz hali..:

Kod:
kayıt [COLOR=#008000]=[/COLOR] DCount[COLOR=#000000]([/COLOR][COLOR=#fb0000]"*"[/COLOR], [COLOR=#fb0000]"S_ALIMVESATIMLARTA"[/COLOR], [COLOR=#fb0000]"nz(BIRIMFIYATI)=0"[/COLOR][COLOR=#000000])[/COLOR]
[COLOR=#0600ff]If[/COLOR] kayıt [COLOR=#008000]=[/COLOR] [COLOR=#7d2252]0[/COLOR] [COLOR=#0600ff]Then[/COLOR]
  MsgBox [COLOR=#fb0000]" Güncellenecek kayıt bulunmamaktadır."[/COLOR], , [COLOR=#fb0000]"Taruz"[/COLOR]
[COLOR=#0600ff]ElseIf[/COLOR] MsgBox[COLOR=#000000]([/COLOR]kayıt [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" Adet Kayıt Güncenlenmek Üzere."[/COLOR] _
[COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" Emin misiniz?"[/COLOR], vbYesNo, [COLOR=#fb0000]"Taruz"[/COLOR][COLOR=#000000])[/COLOR] [COLOR=#008000]=[/COLOR] vbYes [COLOR=#0600ff]Then[/COLOR]
sql [COLOR=#008000]=[/COLOR] [COLOR=#fb0000]"UPDATE T_ALIMVESATIMLAR INNER JOIN T_URETICILER ON T_ALIMVESATIMLAR.VERICI = T_URETICILER.VERICISI"[/COLOR] _
 [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" SET T_ALIMVESATIMLAR.BIRIMFIYATI = [FIYATI], T_ALIMVESATIMLAR.KESINTIYUZDE = [KESYUZ]"[/COLOR] _
   [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" WHERE (((T_ALIMVESATIMLAR.BIRIMFIYATI) Is Null) AND ((T_ALIMVESATIMLAR.KESINTIYUZDE) Is Null)"[/COLOR] _
     [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" AND ((T_ALIMVESATIMLAR.ALISVERISTARIHI) Between [Forms]![F_ANAMENU]![F_BASTAR] And [Forms]![F_ANAMENU]![F_BITTAR]));"[/COLOR]
       [COLOR=#0600ff]With[/COLOR] DoCmd
       .SetWarnings [COLOR=#0600ff]False[/COLOR]
.[COLOR=#000000]RunSQL[/COLOR] sql
       .SetWarnings [COLOR=#0600ff]True[/COLOR]
       [COLOR=#0600ff]End[/COLOR] [COLOR=#0600ff]With[/COLOR]
MsgBox [COLOR=#fb0000]" Kayıtlar başarı ile güncellendi."[/COLOR], , [COLOR=#fb0000]"Taruz"[/COLOR]
 
[COLOR=#0600ff]End[/COLOR] [COLOR=#0600ff]If[/COLOR]
 
Katılım
27 Kasım 2008
Mesajlar
1
Excel Vers. ve Dili
türkçe ofis 2003
Güzel Bir Çözüm İşlem Başarılı Teşekkürler
 
Katılım
18 Mayıs 2005
Mesajlar
63
Ne diyeyim Sayın Taruz harikasınız. Lütfen bu sözlerimi yağcılık olarak algılamayın. Ne zaman başım sıkışsa Adnan Bey ve Taruz Bey imdadıma yetişmiştir.
 
Üst