Please post code like this
Code:
Dim db As DAO.DatabaseDim rs As DAO.Recordset
Dim strJob As String
Dim lngWeek As Long
Dim lngDay As Long
Dim strDay As String
Dim lngLine As Long
Dim strPosition As String
Dim dateDate As Date
For lngWeek = 1 To 1 ' 5
For lngDay = 1 To 7 ' 14
strDay = CStr(lngDay)
Select Case strDay
Case 1, 2, 3, 4, 5, 6, 7, 8, 9:
strDay = "0" & strDay
Case Else:
strDay = strDay
End Select
For lngLine = 101 To 103 ' 120
dateDate = DateValue(Forms![frmCal_2025].Controls("tbD1" & strDay))
strPosition = "tbJ" & CStr(lngWeek) & CStr(lngDay) & CStr(lngLine)
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT tblCal_2025.fDate, tblCal_2025.fStrLineNo, tblCal_2025.fLngProposalNo, " _
& "tblCal_2025.fTxtService, tblProposal.fTxtPropertyName " _
& "From tblCal_2025 INNER JOIN tblProposal " _
& "ON tblCal_2025.fLngProposalNo = tblProposal.fLngProposalNo " _
& "WHERE (((tblCal_2025.fDate) = #" & dateDate & " # " _
& "AND (tblCal_2025.fStrLineNo) = '" & CStr(lngLine) & "'))" _
& "Order BY tblCal_2025.fDate, tblCal_2025.fStrLineNo", _
dbOpenSnapshot, dbReadOnly)
With rs
Debug.Print "date " & rs!fDate & " ProposalNo " & rs!fLngProposalNo & " LineNo " & rs!fStrLineNo
If Not (.BOF And .EOF) Then
.MoveFirst
End If
strJob = ![fDate] & " " & ![fLngProposalNo] & " " & !fTxtPropertyName ' this makes the value of the line
End With
With Forms![frmCal_2025].Controls(strPosition)
.Value = strJob
.BackColor = 14810879
End With
Next lngLine
Next lngDay
Next lngWeek
Set rs = Nothing
Set db = Nothing
I have no idea what you are trying to do. You start with a for/next loop: For lngWeek = 1 To 1. Why a loop if you only perform it once?
After that you have For lngDay = 1 To 7 with a case select
Code:
strDay = CStr(lngDay)
Select Case strDay
Case 1, 2, 3, 4, 5, 6, 7, 8, 9:
strDay = "0" & strDay
Case Else:
strDay = strDay
End Select
Why the SELECT CASE if lngDay/strDay never is bigger than 7?