(11/04/2016, 15:52)kadirdursun yazdı: Bir şey farkettim;
Eğer personel tablosundaki ilk personele ait yemek sütununda 1 yazmıyor ise hiç bir personele yemek eklemiyor.
Neden olabilir?
Modüldeki YemekBilgisiEkle kodunu aşağıdaki ile değiştiriniz.
Public Sub YemekBilgisiEkle(GTarih As Date)
Dim db As DAO.Database
Dim GYemekTarihi As Date
Dim rs As DAO.Recordset
Dim rs2 As DAO.Recordset
Dim HaftaiciGun, KayitVarMi As Integer
Dim YemekYiyenler As String
YemekYiyenler = "SELECT * FROM T_PEROSNELKAYDI WHERE (((T_PEROSNELKAYDI.YEMEK)=1))"
Set db = CurrentDb
Set rs2 = db.OpenRecordset(YemekYiyenler)
If Not (rs2.EOF And rs2.BOF) Then
rs2.MoveFirst
Do Until rs2.EOF = True
Set rs = db.OpenRecordset("T_YEMEK", dbOpenTable, dbAppendOnly)
GYemekTarihi = DateSerial(Year(GTarih), Month(GTarih), 1)
For HaftaiciGun = 1 To AydakiGunSayisi(GTarih)
KayitVarMi = Nz(DLookup("YEMEKID", "T_YEMEK", "TARIH= #" & Format(GYemekTarihi, "mm\/dd\/yyyy") & "# And [PERSONELID]= " & rs2!PERSONEID & ""), 0)
If KayitVarMi = 0 And (Weekday(GYemekTarihi) = vbSunday Or Weekday(GYemekTarihi) = vbSaturday) = 0 Then
rs.AddNew
rs!PERSONELID = rs2!PERSONEID
rs!TARIH = GYemekTarihi
rs.Update
End If
GYemekTarihi = GYemekTarihi + 1
Next
rs2.MoveNext
Loop
Else
MsgBox "Yemek yiyecek personel bulunamadı"
End If
rs.Close
rs2.Close
Set rs = Nothing
Set rs2 = Nothing
End Sub
Modüle ayrıca mükerrer kayıt kontrolü de eklenmiştir. Veri daha önce eklenmiş ise tekrar eklenmez.