Skip to main content

AccessTr.neT


Koşullu Hesaplama

Koşullu Hesaplama

#7
sorumu çözdüm biraz karmaşık gibi duruyor ama benim için baya kullanışlı oldu ilgilenene bırakıyorum
bir buton ile aşağıdaki kodları işletiyorum.

'sql bağlantısı için değişken tanımla
Dim rs1, rs2 As DAO.Recordset
Dim db1, db2 As Database
Dim strSQL1, strSQL2 As String

'db Sql oluşturup bağlan değeri al
Set db1 = CurrentDb()
Set db2 = CurrentDb()
strSQL1 = "SELECT TBL_VERILER.BAG_DONEM, TBL_VERILER.*, TBL_VERILER_PAYDAS.* " & _
"FROM TBL_VERILER_PAYDAS LEFT JOIN TBL_VERILER ON TBL_VERILER_PAYDAS.BAG_KAYNAK = TBL_VERILER.BAG_KAYNAK " & _
"WHERE TBL_VERILER.BAG_DONEM= " & Me.ID_DONEM & " AND TBL_VERILER_PAYDAS.AKTİF=True ;"

Set rs1 = db1.OpenRecordset(strSQL1)
rs1.MoveFirst
DoCmd.SetWarnings False
'sorguya göre kriter listesini çek
Do Until (rs1.EOF)
'kriterin şartlarını karşılaştır
strSQL2 = "Select IIf(" & rs1!KURAL & ",1,0) AS bakiver from TBL_VERILER where ID_VERILER= " & rs1!ID_VERILER
Set rs2 = db2.OpenRecordset(strSQL2)
rs2.MoveFirst

If rs2!bakiver = 1 Then

DoCmd.RunSQL "UPDATE TBL_VERILER SET TBL_VERILER.PAY_HESAPLA = " & rs1!ISLEM & " WHERE TBL_VERILER.ID_VERILER=" & rs1!ID_VERILER & ";"

End If

rs1.MoveNext
Loop


'recordset kapat
rs1.Close
rs2.Close
DoCmd.SetWarnings true
Me.FRM_VERILER.Requery
MsgBox "Kriter karşılaştırma ve uygun olanların hesaplamaları yapılmıştır.", vbInformation, "Bilgilendirme"
Cevapla
#8
çözümü paylaştığınız için teşekkürler
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da