AccessTr.neT

Tam Versiyon: Koşullu Hesaplama
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
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"
çözümü paylaştığınız için teşekkürler
Sayfalar: 1 2