Opgelost Parameterwaarde opgeven, waarom?

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

janluc

Gebruiker
Lid geworden
10 jul 2016
Berichten
68
Besturingssysteem
Windows 11
Office versie
2016
Beste mensen,

Zie database in de bijlage. Als je "frmKlantdetails opent (normaal gesproken door middel van de knop "Details, wijzig" op "frmKlanten") wordt gevraagd om de parameter "tblCliënten. Met ingang van". Dat is echter een veld dat niet (meer) in die tabel voorkomt, en ook in de queries niet.

NB: een vergelijkbare vraag is enige jaren geleden al eens gesteld. Octafish noemde bij zijn antwoord indertijd een soort Spookvelden die kennelijk in Access blijven hangen, en waar niet een oplossing voor leek te zijn. In de hoop dat die er inmiddels wel is, stel ik hem weer.

Groet, Jan-Luc
 

Bijlagen

Heel vreemd inderdaad. Er is wel een oplossing, al snap ik niet waarom die werkt.

Ik wijzigde de Rcordbron van het formulier naar tblClienten. Dan opent het formulier goed. Na het formulier opgeslagen te hebben wijzigde ik de Recordbron weer terug naar qryFrmKlantdetails en...............
 
Wat goed, dat werkt inderdaad. Veel dank Peter!
 
Hmm, het blijft vreemd: als ik deze truc toepas op de originele database, werkt hij niet..
 
Maar nu heb ik de schuldige gevonden: in het eigenschappenvenster van frmKlantdetails stond de sorteerwaarde ingesteld op dat niet meer bestaande veld. Dank voor het meedenken toch!
 
Het komt ook voor wanneer je een veld een voorwaardelijkeopmaak hebt gegeven naar het verwijderde veld.

Gr.
 
Ik snap de combinatie van macro's en procedures nooit; ofwel je kunt niet programmeren en je gebruikt macro's, ofwel je kunt het wél en doet alles met VBA. OK, (blader)knoppen zijn (als je lui bent) wel met de ingebouwde macro's te maken, maak ook die zijn vaak beter af als je de code kan aanpassen.

In dit geval is de query voor het detailsformulier overbodig, gewoon de tabel gebruiken dus. En dat formulier zo openen:
Code:
Private Sub btnPrint_Click()
    DoCmd.OpenForm "frmKlantdetails", WhereCondition:="[ClientID]=" & Me.ClientId
End Sub
 
Ik snap de combinatie van macro's en procedures nooit; ofwel je kunt niet programmeren en je gebruikt macro's, ofwel je kunt het wél en doet alles met VBA. OK, (blader)knoppen zijn (als je lui bent) wel met de ingebouwde macro's te maken, maak ook die zijn vaak beter af als je de code kan aanpassen.

In dit geval is de query voor het detailsformulier overbodig, gewoon de tabel gebruiken dus. En dat formulier zo openen:
Code:
Private Sub btnPrint_Click()
    DoCmd.OpenForm "frmKlantdetails", WhereCondition:="[ClientID]=" & Me.ClientId
End Sub
Deze database heb ik gedurende jaren opgebouwd, en in het begin gebruikte ik macro's. Nu weet ik meer van VBA, en gebruik ik dat, want dan heb je meer eer van je werk...
Ik had die query voor het detailsformulier gebruikt om te kunnen filteren op de aangevinkte klant, ik kende die WhereCondition nog niet, dank daarvoor.
Groet, Jan-Luc
 
Succes ermee! Ik weet uit (dezelfde) ervaring dat het een hoop tijd kost om nieuw verworven inzichten in de praktijk in te bouwen :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan