Formulier openen dmv bepaalde waarde keuzelijst

Status
Niet open voor verdere reacties.

Abel Visscher

Gebruiker
Lid geworden
28 mei 2007
Berichten
171
Geachte leden,

Volgens mij heb ik iets heel eenvoudigs maar ik krijg het niet voorelkaar.
Ik heb een formulier frmStart met daarop een keuzelijst cboProduct die dan weer gekoppeld is aan een tabel tblProduct
De tabel bestaat uit twee velden (ProductID en Product) een van de toegevoegde producten is "Labels" (zonder aanhalingstekens)
Nu wil ik graag dat als ik in cboProduct "Labels" selecteer dat dan frmLabels wordt geopend.
Code:
Private Sub cboProduct_AfterUpdate
If Me.cboProduct.Value = "Labels" Then
DoCmd.OpenForm "frmLabels"
End If
End Sub

Dit werkt niet, iemand een idee?

Groeten Abel
 
Je geeft zelf eigenlijk het probleem al aan: je hebt een keuzelijst gemaakt op basis van een tabel, waarin je twee velden hebt opgenomen: ProductID en Product. Ik vermoed dat je die met de wizard hebt gemaakt, want dan krijg je meestal dit soort constructies. Daarbij zal Access de eerste kolom (ProductID) verbergen zodat je de tweede kolom gebruikt om een waarde te selecteren. Die zichtbare waarde wordt echter niet gebruikt door Access, die gebruikt de ProductID. Nogmaals gezegd: als je de standaard procedure van de wizard hebt gevolgd. Wat je dus uit de keuzelijst krijgt, is een getal en geen tekst. En laat die tekst nu zijn wat je wilt hebben :).

Er zijn een paar oplossingen, variërend van makkelijk tot makkelijk. Geen van de oplossingen is namelijk moeilijk, maar je zult een keuze moeten maken.

Oplossing 1: (gebaseerd op de standaard wizard). Je keuzelijst is nu gekoppeld aan kolom 1 (ProductID). Verander de <Afhankelijke kolom> (Eigenschappen>, tabblad <Gegevens>) naar 2. Probleem opgelost, nu werkt je oorspronkelijke code weer.

Oplossing 2: haal met je code de tweede kolom uit de keuzelijst, en niet de eerste. Dat doe je met deze code:
Code:
Private Sub cboProduct_AfterUpdate
     If Me.cboProduct.Column(1) = "Labels" Then DoCmd.OpenForm "frmLabels"
End Sub

Oplossing 3: Verwijder uit de keuzelijst de eerste kolom (ProductID), stel het aantal kolommen in op 1 en pas de breedte van de kolom aan.
Nu werkt je oorspronkelijke code weer.
 
Beste OctaFish,

Bedankt voor de oplossingen, daar ik al een stukje VBA had heb ik die aangepast. De keuze is dus gevallen op optie 2.
Verder heldere uitleg.
Nogmaals dank.

Groeten Abel
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan