Hallo. Ik heb een voor mij lastige issue. Er zijn twee formulieren Werkorder en Verzamelstaat. Beide formulieren worden geopend vanuit het Access Navigatieformulier. Dit werkt uitstekend en is betrouwbaar is gebleken. Echter openen beide formulieren met de eerste ID van de tabel, ID=2.
Het zou mooi zijn als beide formulieren wederkerig openen op basis van het geselecteerde record ID van het andere formulier. Beide formulieren beschikken over een keuzevak waarin een willekeurig record kan worden gekozen bv. gegevens van record ID 119 c.q. [pdracht ID].
Als form Verzamelstaat 119 worden getoond en via het Navigatieformulier Werkorder wordt gekozen, dan moet Werkorder 119 worden getoond en ook omgekeerd.
De huidige structuur is dat het Navigatieformulier het formulier opent en de VBA Private Sub Form_Load() wordt doorlopen echter met de eerste record ID (2).
Ik heb voor elkaar dat, dmv. Private Sub Form_Current() en string sFormulierid, zodra in één van de formulieren een selectie wordt gemaakt van een record, de string sFormulierid wordt geladen met de geselecteerde ID bv. sFormulierid heeft de waarde 119. Deze waarde is in beide formulieren beschikbaar. Hoe kan ik deze waarde toepassen om het geladen formulier te veranderen naar de waarde van sFormulierid?
Voorbeeld: In formulier Verzamelstaat record 119 gekozen en daarna omgeschakeld naar formulier Werkorder, daarna bij load Werkorder een foutmelding.
Formulier Verzamelstaat
Formulier Werkorder
sFormulierid werkt goed. Deze string geeft steeds de goede waarde van de ID tussen de formulieren door.
Welke instructie kan ik toepassen bij het laden van het formulier? (Het is niet mogelijk meer om het laden van formulieren of het toepassen van Docmd OpenForm . . . te veranderen of toe te passen)
Het zou mooi zijn als beide formulieren wederkerig openen op basis van het geselecteerde record ID van het andere formulier. Beide formulieren beschikken over een keuzevak waarin een willekeurig record kan worden gekozen bv. gegevens van record ID 119 c.q. [pdracht ID].
Als form Verzamelstaat 119 worden getoond en via het Navigatieformulier Werkorder wordt gekozen, dan moet Werkorder 119 worden getoond en ook omgekeerd.
De huidige structuur is dat het Navigatieformulier het formulier opent en de VBA Private Sub Form_Load() wordt doorlopen echter met de eerste record ID (2).
Ik heb voor elkaar dat, dmv. Private Sub Form_Current() en string sFormulierid, zodra in één van de formulieren een selectie wordt gemaakt van een record, de string sFormulierid wordt geladen met de geselecteerde ID bv. sFormulierid heeft de waarde 119. Deze waarde is in beide formulieren beschikbaar. Hoe kan ik deze waarde toepassen om het geladen formulier te veranderen naar de waarde van sFormulierid?
Voorbeeld: In formulier Verzamelstaat record 119 gekozen en daarna omgeschakeld naar formulier Werkorder, daarna bij load Werkorder een foutmelding.
Formulier Verzamelstaat
Code:
Private Sub Form_Current()
sFormulierid = Me.[o_Opdracht ID] 'Bij verandering in het keuzevak van record wordt sFormulierid geladen met current ID.
End Sub
Formulier Werkorder
Code:
Private Sub Form_Current()
sFormulierid = Me.[o_Opdracht ID] 'Bij verandering in het keuzevak van record wordt sFormulierid geladen met current ID
End Sub
Code:
Private Sub Form_Load()
Me.[o_Opdracht ID] = sFormulierid 'Dit werkt niet. Foutmelding "Kan veld niet bijwerken"
'Verdere invulling van het formulier Werkorder
End Sub
sFormulierid werkt goed. Deze string geeft steeds de goede waarde van de ID tussen de formulieren door.
Welke instructie kan ik toepassen bij het laden van het formulier? (Het is niet mogelijk meer om het laden van formulieren of het toepassen van Docmd OpenForm . . . te veranderen of toe te passen)