Ja nu er jeg kørt fast igen
Jeg kan ikke finde ud af hvorfor den her stump kode ikke virker som den skal. Koden er at finde iPrivate Sub Report_Open(Cancel As Integer)
Jeg skal fylde værdierne fra felterne (Fravaer, AftaltFravaer, Sygdom, Nuldag) ind i nogle controller felter i en rapport.
Dataene står i tabellen Modekalender, og skal på sigt søges på baggrund af et indtastet tidsinterval, men for nu tager jeg bare de første 20.
Modekalender tabellen har relation til Brugertabellen som er hjertet i min db. Der skal på baggrund af en specifik bruger hentes nogle oplysninger i modekalenderen.
Der kommer ingenting ind i variablerne, og jeg forstår det ikke. Jeg har på fornemmelsen at jeg ikke åbner og tilgår db og tabellerne rigtigt, men er ikke klar over hvor fejlen er. Problemet er at jeg har copy/pastet en del af det, og har derfor ikke det fulde overblik over kommandoerne. Selve logikken og programflowet mener jeg virker som det skal, men database styringen er jeg ikke god nok til.
Private Sub Report_Open(Cancel As Integer)
On Error Resume Next
Dim cn As ADODB.Connection
Dim recset As ADODB.Recordset
Dim n As Integer
Dim test As String
Dim antalkolonner As Integer
Dim strSQLQuery As String
Dim Fravaer As Variant
Dim Aftaltfravaer As Variant
Dim Sygdom As Variant
Dim Nuldag As Variant
Set cn = CurrentProject.Connection
Set recset = Server.CreateObject("ADODB.Recordset")
recset.Open Me.RecordSource, cn, adOpenStatic
strSQLQuery = "SELECT * FROM Modekalender ORDER BY Dato ASC"
recset.Open strSQLQuery, conn, 3, 3
rs.MoveFirst
For n = 0 To 24
If n = 0 Or n = 6 Or n = 13 Or n = 19 Then
Me("ctrl" & Trim(CStr(n))).ControlSource = "uge " & Trim(CStr(n))
Else
Set Fravaer = recset.Fields("Fravaer")
Set Aftaltfravaer = recset.Fields("AftaltFravaer")
Set Sygdom = recset.Fields("Sygdom")
Set Nuldag = recset.Fields("Nuldag")
If Fravaer.OriginalValue <> "" Then
Me("ctrl" & Trim(CStr(n))).ControlSource = Fravaer
Else
If Aftaltfravaer <> "" Then
Me("ctrl" & Trim(CStr(n))).ControlSource = Aftaltfravaer
Else
If Sygdom <> False Then
Me("ctrl" & Trim(CStr(n))).ControlSource = "S"
Else
Me("ctrl" & Trim(CStr(n))).ControlSource = "0"
End If
End If
End If
test = recset.Fields.Item("Fravaer")
Me("ctrl" & Trim(CStr(n))).Visible = True
recset.MoveNext
End If
Next n
