Veri Tabanındaki Kayıtlı Bilgiyi 2. Veri Tabanında Bulunan Aynı Değişkenlere Kayıt

1 2
24/04/2018, 09:54

cevahir1

Merhaba
programa girişte dolar ve euro kurlarını güncelleme butonu koydum.. Buton tıklanınca isteğim. malzeme veri tabanındaki Her kayıt için dolar ve euro kuru son girilen değer olsun. Ama bir Türlü başaramadım.... yardımlarınızı bekliyorum..

ilk girişteki kaydet butonu kur veri tabanına yeni değeri güncelliyor.

İyi çalışmalar.
24/04/2018, 09:58

cevahir1



görüldüğü gini veri tabanının sonuna ekliyor.






bu ekranda a parametresini göstermesini istemiyorum ama kod bilgisi eksikliğinden başaramadım...
24/04/2018, 10:32

ozanakkaya

Merhaba, tablodaki verileri güncelleştirmek istiyorsanız ekleme sorgusu değil güncelleştirme sorgusu kullanmalısınız.

butonun tıklandığında olayındaki kodu aşağıdaki ile değiştir.
Private Sub kguncelle_Click()
Dim a As Integer

If MsgBox("Malzeme tablosuna Kur Bilgilerini aktarmak istiyor musunuz?", vbYesNo, "GERİ ALMA UYARISI") = vbYes Then

'DoCmd.GoToRecord , , acFirst         'ilk kayda getirdik imleci

'For a = 1 To acLast           ' 1 den son kayda kadar döngü kurduk

DoCmd.SetWarnings False

DoCmd.RunSQL "UPDATE malzeme SET malzeme.dolarkur = " & Me.Metin9 & ", malzeme.eurokur = " & Me.Metin11 & ";"


'DoCmd.RunSQL "INSERT INTO malzeme (dolarkur,eurokur) SELECT dolarkur,eurokur FROM kur WHERE a=" & Me.Kimlik ' 1 den son kayda kadar (tabi isteğim bu ama olmadı) kur veritabanındaki dolar ve euro kurunu malzeme veritabanına ekle

DoCmd.SetWarnings True

'Me.Requery
'Next a

Else

Me.Undo

End If

End Sub

Ayrıca, hali hazırda kur tablosunda veri var iken, niye malzeme tablosuna kur alanı eklediniz?
24/04/2018, 10:41

cevahir1

(24/04/2018, 10:32)ozanakkaya yazdı: Merhaba, tablodaki verileri güncelleştirmek istiyorsanız ekleme sorgusu değil güncelleştirme sorgusu kullanmalısınız.

butonun tıklandığında olayındaki kodu aşağıdaki ile değiştir.
Private Sub kguncelle_Click()
Dim a As Integer

If MsgBox("Malzeme tablosuna Kur Bilgilerini aktarmak istiyor musunuz?", vbYesNo, "GERİ ALMA UYARISI") = vbYes Then

'DoCmd.GoToRecord , , acFirst         'ilk kayda getirdik imleci

'For a = 1 To acLast           ' 1 den son kayda kadar döngü kurduk

DoCmd.SetWarnings False

DoCmd.RunSQL "UPDATE malzeme SET malzeme.dolarkur = " & Me.Metin9 & ", malzeme.eurokur = " & Me.Metin11 & ";"


'DoCmd.RunSQL "INSERT INTO malzeme (dolarkur,eurokur) SELECT dolarkur,eurokur FROM kur WHERE a=" & Me.Kimlik ' 1 den son kayda kadar (tabi isteğim bu ama olmadı) kur veritabanındaki dolar ve euro kurunu malzeme veritabanına ekle

DoCmd.SetWarnings True

'Me.Requery
'Next a

Else

Me.Undo

End If

End Sub

Ayrıca, hali hazırda kur tablosunda veri var iken, niye malzeme tablosuna kur alanı eklediniz?

Ozan bey 

kodu değiştirdim fakat hata mesajı veriyor.


24/04/2018, 10:44

ozanakkaya

Merhaba, resimde sarı işaretlenen kısmı aşağıdaki ile değiştiriniz.


DoCmd.RunSQL "UPDATE malzeme SET malzeme.dolarkur = '" & Me.Metin9 & "', malzeme.eurokur = '" & Me.Metin11 & "'"
24/04/2018, 10:57

cevahir1

(24/04/2018, 10:44)ozanakkaya yazdı: Merhaba, resimde sarı işaretlenen kısmı aşağıdaki ile değiştiriniz.


DoCmd.RunSQL "UPDATE malzeme SET malzeme.dolarkur = '" & Me.Metin9 & "', malzeme.eurokur = '" & Me.Metin11 & "'"


bu kodu eklersem, 

DoCmd.RunSQL "UPDATE malzeme SEMalzeme.dolarkur * FiyatT malzeme.fiyatusd = '" & Malzeme.dolarkur * Fiyat & "', malzeme.fiyateuro = '" & Malzeme.eurokur * Fiyat & "'"

kura bağlı olarak alım fiyatlarını dolar ve euroya güncellermi dedim ama olmadı (Fazlakurnazlık iyi değil sanırım)
1 2