Henk Benter
Gebruiker
- Lid geworden
- 13 mei 2010
- Berichten
- 158
In mijn toepassing ga ik middels een opdrachtknop naar een subformulier. Onder de knop heb ik de navolgende code staan:
In het subformulier heb ik de navolgende code bij laden document opgenomen om velden te vullen met waardes vanuit het hoofdformulier.
Gevolg van bovenstaande code is dat een gebruiker bij een druk op de knop iedere keer een leeg formulier krijgt voorgeschoteld. Dit laatste is niet de bedoeling. De gebruiker moet eenmalig het formulier voorgeschoteld krijgen en de gegevens hierop invullen. Wanneer hij enkele dagen later wederom op dezelfde knop drukt, dan moet het formulier met de inputgegevens van enkele dagen terug op het scherm verschijnen. In dit formulier moet de gebruiker dan kunnen wijzigen, de wijzigingen moeten dan weer opgeslagen worden in de tabel. Wie kan mij helpen de code zodanig aan te passen zodat het bovenstaande resultaat kan worden bereikt.
Code:
Private Sub Knop36_Click()
Dim disc As String
disc = Forms![FrmProject]![FrmDetailDiscipline].Form![Discipline].Value
If disc = "1" Then 'Water
'form Water openen
DoCmd.OpenForm "frmQuickscanWater_" & disc, datamode:=acFormAdd, windowmode:=acDialog, OpenArgs:=DisciplineId & "|" & ProjectnummerID
ElseIf disc = "2" Then 'Laagspanning
'form Water openen
DoCmd.OpenForm "frmQuickscanLaagspanning_" & disc, datamode:=acFormAdd, windowmode:=acDialog, OpenArgs:=DisciplineId & "|" & ProjectnummerID
ElseIf disc = "5" Then 'CAI
'form Laagspanning openen
DoCmd.OpenForm "frmQuickscanCAI_" & disc, datamode:=acFormAdd, windowmode:=acDialog, OpenArgs:=DisciplineId & "|" & ProjectnummerID
Else
MsgBox "U heeft een Discipline gekozen waar nog geen Quickscan formulier voor bestaat", vbCritical
End If
End Sub
In het subformulier heb ik de navolgende code bij laden document opgenomen om velden te vullen met waardes vanuit het hoofdformulier.
Code:
Private Sub Form_Load()
If Not IsNull(Me.OpenArgs) Then
Dim sArgs() As String
sArgs = Split(Me.OpenArgs, "|")
Me.TblDetailDisciplineID.Value = sArgs(0)
Me.TblProjectnummerID.Value = sArgs(1)
End If
End Sub
Gevolg van bovenstaande code is dat een gebruiker bij een druk op de knop iedere keer een leeg formulier krijgt voorgeschoteld. Dit laatste is niet de bedoeling. De gebruiker moet eenmalig het formulier voorgeschoteld krijgen en de gegevens hierop invullen. Wanneer hij enkele dagen later wederom op dezelfde knop drukt, dan moet het formulier met de inputgegevens van enkele dagen terug op het scherm verschijnen. In dit formulier moet de gebruiker dan kunnen wijzigen, de wijzigingen moeten dan weer opgeslagen worden in de tabel. Wie kan mij helpen de code zodanig aan te passen zodat het bovenstaande resultaat kan worden bereikt.