Öncelikle
Yapılmaması Gereken Ölümcül Hatalar
Konusunu mutlaka incele. Ayrıca, proje isimlerine yerleşik işlev veya fonksiyon isimleri verilmez. Projenize
Dlookup ismi verirseniz
Dlookup kodu çalıştıramazsınız.
Butonun tıklandığında olayındaki kodların tamamını aşağıdaki ile değiştirerek deneyiniz.
Dim strSQL1 As String
Dim rsSQL1 As ADODB.Recordset
Dim Varmi, YilDegeri As Integer
If IsNull(Me.akYıl) Then
MsgBox "Yıl Seçimi Yapınız"
Exit Sub
ElseIf IsNull(Me.akAy) Then
MsgBox "Ay Seçimi Yapınız"
Exit Sub
End If
strSQL1 = "SELECT * FROM Kutukdefteri WHERE (((Durumu)='Aktif') AND ((Yatılılıkdurumu)='Parasız'));"
Set rsSQL1 = New ADODB.Recordset
rsSQL1.Open strSQL1, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
DoCmd.SetWarnings False
Do While Not rsSQL1.EOF
Varmi = Nz(dlookup("YılID", "tblYıllar", "[SıraID] = " & rsSQL1.Fields("SıraID") & " And [Yıl] = '" & Me.akYıl & "'"), 0)
If Varmi = 0 Then
DoCmd.RunSQL "INSERT INTO tblYıllar (SıraID, Yıl) VALUES (" & rsSQL1.Fields("SıraID") & ", '" & Me.akYıl & "')"
End If
YilDegeri = Nz(dlookup("YılID", "tblYıllar", "[SıraID] = " & rsSQL1.Fields("SıraID") & " And [Yıl] = '" & Me.akYıl & "'"), 0)
If YilDegeri > 0 Then
Varmi = Nz(dlookup("HarçlıkID", "tblHarçlıklar", "[SıraID] = " & rsSQL1.Fields("SıraID") & " And [YılID] = " & YilDegeri & " And [Ay] = '" & Me.akAy & "'"), 0)
If Varmi = 0 Then
DoCmd.RunSQL "INSERT INTO tblHarçlıklar (SıraID,YılID, Ay, Ekgösterge, Katsayı, Yuvarlama, Ödenen, 1Ödeme, 2Ödeme, 3Ödeme, 4Ödeme, 1Borç, 2Borç, 3Borç, 4Borç) VALUES (" & rsSQL1.Fields("SıraID") & ", '" & YilDegeri & "','" & Me.akAy & "','" & Me.akEk & "', '" & Me.akKat & "', '" & Me.Yuvarlama & "', '" & Me.Ödenen & "', '" & Me.Ödeme1 & "', '" & Me.Ödeme2 & "', '" & Me.Ödeme3 & "', '" & Me.Ödeme4 & "','" & Me.Borc1 & "','" & Me.Borc2 & "','" & Me.Borc3 & "','" & Me.Borc4 & "')"
End If
End If
rsSQL1.MoveNext
Loop
DoCmd.SetWarnings True
rsSQL1.Close
Set rsSQL1 = Nothing
Me.afAktifharçlık.Requery