Via knop in formulierA m.b.v. VBA een specifiek record oproepen in formulierB

Status
Niet open voor verdere reacties.

J Manussen

Gebruiker
Lid geworden
16 dec 2009
Berichten
30
Geachte Forumleden,

Wat mij niet lukt::

Wil via een knop (bij klikken) in formulierA met behulp van VBA-code

(gebeurtenisprocedure) juist dat record in formulierB oproepen, waarbij de

voorwaarde geldt, dat het veld admnr(heeft unieke waarde) uit tabelC identiek is

aan het veld ctrlWachtwoord (waarde = waarde admnr) in formulierA.

- In FormulierB is ook het veld admnr opgenomen.
- Zowel het veld admnr als ctrlWachtwoord hebben Integers als waarden.

Ik wil het record in het formulierB oproepen zonder een parameterwaarde te hoeven

invullen.

Wie wil en kan mij helpen?

Groet,

Joop Manussen
 
Als het veld [Admnr] uit FormulierA ook in FormulierB zit, kun je het tweede formulier openen met het Admnr als filter. Het filter wordt dan: "[Admnr] = " & Me.Admnr.Value
Als je de knop met de wizard maakt, krijg je overigens de optie om in het te openen alle records te zien, of een specifiek record. De tweede optie maakt precies de code die je zoekt:

Code:
    stDocName = "fKlant"
    stLinkCriteria = "[Klantid]=" & Me.[Klantid].Value
    DoCmd.OpenForm stDocName, , , stLinkCriteria
bijvoorbeeld
 
Michel,

Allereerst dank voor de snelle reactie.

Het formulierA is echter een Inlogformulier en algemeen van karakter. Daarom kan ik deze oplossing via een filter niet gebruiken, denk ik.

Groet,
Joop
 
Dat mag je even nader uitleggen; hoe weet je dan het Admnr? Dat staat toch op je eerste formulier?
 
Michel,

Toelichting, verduidelijking:

De waarden voor het wachtwoord, ctrlWachtwoord en die voor het admnr zijn identiek.(Integers)
Op het Inlogformulier (formulierA) krijgt het veld ctrlWachtwoord)de waarde pas toegekend, nadat de medewerker zijn naam en wachtwoord juist heeft ingevuld.

- Deze waarde (in veld ctrlWachtwoord) wordt uit queryMedewerker_actief opgehaald.(=DLookUp("Wachtwoord";"qryMedewerker_actief";"ID_Mdw='"&fInitialen()&"'") en is identiek aan het admnr.
- Het veld ctrlWachtwoord is Invisible.

De waarde van het veld crtlWachtwoord wil ik nu als voorwaarde gebruiken bij het openen van formulierB.
De voorwaarde wordt: het record oproepen, waarbij crtlWachtwoord(uit formulierA) = admnr(formulierB)
Deze gebeurtenis wil ik starten door op een knopD in formulierA te drukken.

Groet,
Joop
 
En daarvoor gebruik je dus de code die ik hierboven heb beschreven. Het maakt niet uit of een control zichtbaar is of niet; als er wat in staat, kun je het uitlezen. En dat is precies wat je wilt doen. Pas de naam van het formulier aan, en uiteraard de namen van veld en formulier control, en het werkt...
 
Hallo Michel,

Heb intussen wat gefrutseld en o.a. door jouw opmerking het veld ctrlWachtwoord veranderd in admnr.
Ook wat namen in codes aangepast en ik zie net dat het functioneert!!

Bedankt voor het meedenken, ik kan weer verder!

Groet,

Joop
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan