Access: communicatie tussen formulieren

Status
Niet open voor verdere reacties.

Hannie2

Gebruiker
Lid geworden
30 dec 2007
Berichten
47
Ik heb 2 formulieren, frmA en frmB. In frmA wil ik in een tekstvak "Test" het recordnummer tonen van frmB. Dat werkt goed, maar het wordt niet automatisch bijgewerkt als ik in frmB naar een ander record spring. Ik moet in frmA op F9 drukken om het bij te werken.
Ik heb in frmA Bij Activeren de volgende VBA-procedure gemaakt:
Me.Test.ControlSource = "Forms!frmB.ActiveRecord"
Waarom krijg ik de foutmelding Naam#?
 
Volgens mij wordt de fout veroorzaakt doordat Activerecord op FormA nog niet is opgeslagen (en dus not niet bekend is). Je zult dus eerst een AcSaveRecord moeten uitvoeren en dan zal hij vanuit FormB inzichtelijk zijn. Indien FormB open is voordat deze save wordt uitgevoerd zul je na de Saveprocedure ook een requery (of repaint) voor FormB moeten doen.

Mijn access kennis is een beetje roestig maar hier denk ik het probleem in te zien.
 
Volgens mij wordt de fout veroorzaakt doordat Activerecord op FormA nog niet is opgeslagen (en dus not niet bekend is). Je zult dus eerst een AcSaveRecord moeten uitvoeren en dan zal hij vanuit FormB inzichtelijk zijn. Indien FormB open is voordat deze save wordt uitgevoerd zul je na de Saveprocedure ook een requery (of repaint) voor FormB moeten doen.

Mijn access kennis is een beetje roestig maar hier denk ik het probleem in te zien.

Hi Maurice,
Dank voor je reactie. Ik ben er inmiddels achter gekomen dat de VBA-procedure niet goed was. Het had moeten zijn:
Me!test = Forms!FormB.ActiveRecord
Dus niet Me.test.ControlSource enz.
Als ik nu in frmB naar een ander record ga en dan weer terug naar frmA is het tekstvak Test keurig bijgewerkt.
De reden waarom ik dit wilde testen is omdat het in de praktijk nogal eens voor kan komen dat je met twee geopende formulieren werkt waartussen de communicatie automatisch moet verlopen. Je wil als gebruiker niet steeds handmatig met F9 bijwerken.
Groet,
Hannie2
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan