Opzet.
Met het formulier frm_uitvoerder_uurregistratie_oa worden de gepresteerde (werk)uren weggeschreven naar de tabel tbl_uitvoerder_uurregistratie_oa.
Met de knop opslaan worden de uren affectief weg geschreven in zijn desbetreffende tabel. Deze tabel is genormaliseerd al weet ik niet of de code voor het wegschrijven ingekort of aangepast dient te worden.
Mijn vraag:
Met welke vba-code krijg ik de data opgeslagen in de tabel tbl_uitvoerder_uurregistratie_oa terug zichtbaar op de form frm-uitvoerder_uurregistratie_oa?
Hoe krijg ik de de ingegeven data op de frm_uitvoerder_uurregistratie_oa naar m'n rapport rpt_uitvoerder_urenbriefje_oa?
(dit rapport is benodigd ter ondertekening bij de klant om te kunnen factureren).
Als bijlage: zie testcase
Kan iemand me hiermee op weg helpen.
Met dank.
Met het formulier frm_uitvoerder_uurregistratie_oa worden de gepresteerde (werk)uren weggeschreven naar de tabel tbl_uitvoerder_uurregistratie_oa.
Met de knop opslaan worden de uren affectief weg geschreven in zijn desbetreffende tabel. Deze tabel is genormaliseerd al weet ik niet of de code voor het wegschrijven ingekort of aangepast dient te worden.
Code:
Private Sub cmdOpslaan_Click()
Dim i As Integer, iDag As Integer
Dim rs1 As Recordset
Dim rs2 As Recordset
Dim rs3 As Recordset
Dim rs4 As Recordset
Set rs1 = CurrentDb.OpenRecordset("tbl_uitvoerder_uurregistratie_oa", dbOpenDynaset)
For i = 1 To 42
If Not Nz(Me("txtVmV" & i).Value, 0) = 0 Then
Select Case i
Case 1 To 6
iDag = 1
Case 7 To 12
iDag = 2
Case 13 To 18
iDag = 3
Case 19 To 24
iDag = 4
Case 25 To 30
iDag = 5
Case 31 To 36
iDag = 6
Case Else
iDag = 7
End Select
With rs1
.AddNew
!ID_UITVOERDER = Me.cboSelecteerUitvoerder.Column(4)
!ID_WERF = Me.cboSelecteerUitvoerder.Column(5)
!UITVOERDER_DATUM = Me("txtDatum" & iDag).Value
!UITVOERDER_UREN_VM_VAN = Me("txtVmV" & i).Value
!UUR_TYPE = Me("txtVmV" & i).Tag
!AANGEMAAKT_OP = Date
!ID_AANGEMAAKT_DOOR = Me.cboMedewAangemaakt.Column(0)
!AANGEPAST_OP = Date
!ID_AANGEPAST_DOOR = Me.cboMedewAangepast.Column(0)
.Update
End With
End If
Next i
rs1.Close
Set rs2 = CurrentDb.OpenRecordset("tbl_uitvoerder_uurregistratie_oa", dbOpenDynaset)
For i = 1 To 42
If Not Nz(Me("txtVmT" & i).Value, 0) = 0 Then
Select Case i
Case 1 To 6
iDag = 1
Case 7 To 12
iDag = 2
Case 13 To 18
iDag = 3
Case 19 To 24
iDag = 4
Case 25 To 30
iDag = 5
Case 31 To 36
iDag = 6
Case Else
iDag = 7
End Select
With rs2
.AddNew
!ID_UITVOERDER = Me.cboSelecteerUitvoerder.Column(4)
!ID_WERF = Me.cboSelecteerUitvoerder.Column(5)
!UITVOERDER_DATUM = Me("txtDatum" & iDag).Value
!UITVOERDER_UREN_VM_TOT = Me("txtVmT" & i).Value
!UUR_TYPE = Me("txtVmT" & i).Tag
!AANGEMAAKT_OP = Date
!ID_AANGEMAAKT_DOOR = Me.cboMedewAangemaakt.Column(0)
!AANGEPAST_OP = Date
!ID_AANGEPAST_DOOR = Me.cboMedewAangepast.Column(0)
.Update
End With
End If
Next i
rs2.Close
Set rs3 = CurrentDb.OpenRecordset("tbl_uitvoerder_uurregistratie_oa", dbOpenDynaset)
For i = 1 To 42
If Not Nz(Me("txtNmV" & i).Value, 0) = 0 Then
Select Case i
Case 1 To 6
iDag = 1
Case 7 To 12
iDag = 2
Case 13 To 18
iDag = 3
Case 19 To 24
iDag = 4
Case 25 To 30
iDag = 5
Case 31 To 36
iDag = 6
Case Else
iDag = 7
End Select
With rs3
.AddNew
!ID_UITVOERDER = Me.cboSelecteerUitvoerder.Column(4)
!ID_WERF = Me.cboSelecteerUitvoerder.Column(5)
!UITVOERDER_DATUM = Me("txtDatum" & iDag).Value
!UITVOERDER_UREN_NM_VAN = Me("txtNmV" & i).Value
!UUR_TYPE = Me("txtNmV" & i).Tag
!AANGEMAAKT_OP = Date
!ID_AANGEMAAKT_DOOR = Me.cboMedewAangemaakt.Column(0)
!AANGEPAST_OP = Date
!ID_AANGEPAST_DOOR = Me.cboMedewAangepast.Column(0)
.Update
End With
End If
Next i
rs3.Close
Set rs4 = CurrentDb.OpenRecordset("tbl_uitvoerder_uurregistratie_oa", dbOpenDynaset)
For i = 1 To 42
If Not Nz(Me("txtNmT" & i).Value, 0) = 0 Then
Select Case i
Case 1 To 6
iDag = 1
Case 7 To 12
iDag = 2
Case 13 To 18
iDag = 3
Case 19 To 24
iDag = 4
Case 25 To 30
iDag = 5
Case 31 To 36
iDag = 6
Case Else
iDag = 7
End Select
With rs4
.AddNew
!ID_UITVOERDER = Me.cboSelecteerUitvoerder.Column(4)
!ID_WERF = Me.cboSelecteerUitvoerder.Column(5)
!UITVOERDER_DATUM = Me("txtDatum" & iDag).Value
!UITVOERDER_UREN_NM_TOT = Me("txtNmT" & i).Value
!UUR_TYPE = Me("txtNmT" & i).Tag
!AANGEMAAKT_OP = Date
!ID_AANGEMAAKT_DOOR = Me.cboMedewAangemaakt.Column(0)
!AANGEPAST_OP = Date
!ID_AANGEPAST_DOOR = Me.cboMedewAangepast.Column(0)
.Update
End With
End If
Next i
rs4.Close
DoCmd.Close acForm, "frm_uitvoerder_uurregistratie_oa"
End Sub
Mijn vraag:
Met welke vba-code krijg ik de data opgeslagen in de tabel tbl_uitvoerder_uurregistratie_oa terug zichtbaar op de form frm-uitvoerder_uurregistratie_oa?
Hoe krijg ik de de ingegeven data op de frm_uitvoerder_uurregistratie_oa naar m'n rapport rpt_uitvoerder_urenbriefje_oa?
(dit rapport is benodigd ter ondertekening bij de klant om te kunnen factureren).
Als bijlage: zie testcase
Kan iemand me hiermee op weg helpen.
Met dank.