keuzelijst opent subformulier

Status
Niet open voor verdere reacties.

brunniepoo

Gebruiker
Lid geworden
25 sep 2006
Berichten
100
Ik heb in een formulier een keuzelijst. Ik wil dat bij één bepaalde keuze (zeg: "groen") een subformulier (zeg: "kleuren") wordt geopend en bij de andere keuzes niet. wat is hiervoor de juiste code en waar plaats ik dit?
 
In de OnChange event van je combobox:

Code:
Select Case me.cboKeuze
Case "Groen", "Blauw"
    docmd.openform "frmKleur"
Case "Blauwig"
    docmd.openform "frmKleurig"
Case "Auto"
    docmd.openform "frmVervoersmiddel"
Case else
    msgbox "Verkeerde keuze dombo!"
end select
 
het werkt deels.

Ik heb nog de volgende problemen:

hij loopt vast op Cbo.Keuze. Moet dit soms aangepast worden of is het misschien nieuwere code dan Access2002?
Ook wordt de keuzelijst uitgelezen uit een tabel. Onderstaande code moet dus al in werking treden bij openen, niet pas bij wijzigen.
 
Zet ff een breakpoint op het select case statement en controleer wat de combobox teruggeeft in het immediate window. (Control-G)
Code:
?me.cboKeuze
25
Als je keuze vak dit bijvoorbeeld teruggeeft, dan moet je je "bound to kolom" nummer aanpassen tot dat je bijvoorbeeld 'Blauw" terugkrijgt.

Ik snap niet dat de code moet werken bij het openen van de combobox. Je hebt dan nog geen keuze gemaakt dus waarom??

Als je bedoelt op de OnOpen van je form dan snap ikhet helemaal niet meer dus je zegt het maar.
 
Okee, als volgt:

ik open een formulier. Formulier leest waarden uit een tabel uit en ik kan ze aanpassen. Een deel van de waarden wil ik alleen maar weergeven als daar aanleiding toe bestaat (vandaar de keuzelijst). Als ik die keuze ("groen") maak dan moet het subformulier dus verschijnen, maar als de keuze al eerder gemaakt is, ook.

Ik heb nu een formulier met een tweede formulier als subformulier zodat het verband tussen de twee duidelijk is, alleen de gegevens van dat ene record worden weergegeven. Eigenlijk zou de keuzelijst dit subformulier dus moeten openen zodat ik dit verband kan aangeven.
 
Foutmelding:
Compileerfout: Kan de methode of het gegevenslid niet vinden (.cboKeuze)
 
Laatst bewerkt:
In de OnChange event van je combobox:

Code:
Select Case me.cboKeuze
Case "Groen", "Blauw"
    docmd.openform "frmKleur"
Case "Blauwig"
    docmd.openform "frmKleurig"
Case "Auto"
    docmd.openform "frmVervoersmiddel"
Case else
    msgbox "Verkeerde keuze dombo!"
end select

In dat geval moet je bovenstaande code ook in je OnCurrent van je form zetten.
Beter is nog om er eerst een sub van te maken en die aan te roepen in je OnCurrent en de OnChange van je combobox.

De me.cboKeuze moet je natuurlijk aanpassen aan de naam die jij er aan hebt gegeven!
 
Laatst bewerkt:
cboKeuze is de naam van je keuzelijst.
Even aanpassen dus in je code.

Groet,

Tardis
 
Oke, openen van formulier bij wijzigen en bij current werkt.

Is het enige dat ik op dit moment nog zou willen:

ik heb nu een formulier(A) met een subformulier(B) die gewoon op een vaste plaats zit (dus geen pop-up). Ik zou willen dat je dit subformulier ziet bij de waarde "groen" en niet bij andere waarden. OpenForm(C) moet hier dus door vervangen worden. Hoe doe ik dat? Subform(B) is nu gewoon hetzelfde formulier als het formulier dat nu als pop-up geopend wordt(C) maar dan met een link met het basisformulier(A).
 
Laatst bewerkt:
In de OnCurrent van je subform kan je bij "groen"
1) alle controls op dat subform invisible maken of
2) je canvas aanpassen (form grootte/width) zodat je subform niet meer zichtbaar is.

Je vraagt wel een hoop.
 
uiteindelijk oplossing is geworden de OnCurrent en de OnChange van die code te voorzien en het werkt!

Veel dank, op deze manier leer ik een hoop over code zodat ik in de toekomst hopelijk wat minder hoef te vragen
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan