Sizin istediğiniz işlemin stabil çalışması için formda tarih alanının olması gerekiyor. Tablodaki giris, cikis ve odadurum verilerine göre denetimlerin renklenmesi için
Private Sub ODARENK()
On Error Resume Next
Dim rs As DAO.Recordset
Dim db As Database
Dim strSQL As String
Dim D As Date
D = Date
Set db = CurrentDb()
'------------Odalar
strSQL = "SELECT * FROM tbl_odabilgileri"
Set rs = db.OpenRecordset(strSQL)
rs.MoveFirst
Do Until rs.EOF
If rs!drumu = "dolu" And D >= rs!giristarihi And D <= rs!cikistarihi Then
Controls("Etiket" & rs!Odano).BackColor = vbRed
Controls("Etiket" & rs!Odano).ForeColor = 0
ElseIf rs!drumu = "rezerv" And D >= rs!giristarihi And D <= rs!cikistarihi Then
Controls("Etiket" & rs!Odano).BackColor = vbGreen
Controls("Etiket" & rs!Odano).ForeColor = 0
ElseIf rs!drumu = "bos" And D >= rs!giristarihi And D <= rs!cikistarihi Then
Controls("Etiket" & rs!Odano).BackColor = 15920614
Controls("Etiket" & rs!Odano).ForeColor = 0
End If
100
rs.MoveNext
Loop
End Sub
Örneğinizdeki fonksiyon düzeltilmiştir. inceleyip olumlu/olumsuz bildirimde bulununuz.