Leeg veld meenemen in afhankelijke keuzelijst

Status
Niet open voor verdere reacties.

De Vrije Vogel

Gebruiker
Lid geworden
8 apr 2006
Berichten
95
Beste helpers,
Ik wil in afhankelijke keuzelijst gebruik maken van een leeg veld.
Ik heb het bestandje Opzoeken van Octafish aangepast.
Als ik bij de 2de keuze niets selecteer omdat dit veld niet altijd wordt gevuld werkt het niet.
Wat moet ik toevoegen om het te laten werken.
Alvast bedankt voor jullie hulp.
Grtz DVV
 
Wat is er tegen om de tweede keuzelijst leeg te laten? Ik zie eerlijk gezegd geen voordeel van het toevoegen van een lege tekst, ook al omdat die niet is gerelateerd aan een waarde uit de eerste keuzelijst. Je haalt dus een waterdicht systeem bewust onderuit. Kwestie van in je eigen voet schieten dus...
 
Hallo Michel,
Zo zit het niet helemaal.
Keuze 1 = ProductGroup --> altijd gevuld.
Keuze 2 = GrowthStadium --> niet altijd gevuld.
Keuze 3 = Reason --> niet altijd gevuld.
Keuze 4 = ProductName --> altijd gevuld.
Ik heb ondertussen een workaround gevonden/bedacht door m.b.v. een Iff functie het lege veld te vullen met een '-', Hierdoor kan ik dit veld toch selecteren. Moest wel van de query weer een tabel maken.
Het huidige probleem, wat ik er nog mee heb, is dat van keuze 2 naar keuze 3 alles zichtbaar is. M.a.w. keuze 3 houdt geen rekening met de beperking gemaakt in keuze 2.

Ik zal de VBA code bijvoegen of is dit een nieuw item?
Code:
Option Compare Database
Dim strSQL As String

Private Sub cboProductGroup_Enter()
    Me.cboProduct = ""
    Me.cboReason = ""
    Me.cboGrowthStadium = ""
End Sub

Private Sub cboProductGroup_AfterUpdate()
    Dim tmp
    strSQL = "SELECT DISTINCT GrowthStadium FROM tblProductChoice WHERE ProductGroupID = '" & Me.cboProductGroup & "' ORDER BY GrowthStadium"
    Me.cboGrowthStadium.RowSource = strSQL
    Me.cboGrowthStadium.Requery
    Call Filteren

End Sub

Private Sub cboGrowthStadium_Enter()
    Me.cboProduct = ""
    Me.cboReason = ""
End Sub

Private Sub cboGrowthStadium_AfterUpdate()
    Dim tmp
    strSQL = "SELECT DISTINCT Reason FROM tblProductChoice WHERE GrowthStadium = '" & Me.cboGrowthStadium & "' ORDER BY Reason"
    Me.cboReason.RowSource = strSQL
    Me.cboReason.Requery
    Call Filteren

End Sub
Private Sub cboReason_Enter()
    Me.cboProduct = ""
End Sub
Private Sub cboReason_AfterUpdate()
    Dim tmp
    strSQL = "SELECT DISTINCT ProductName FROM tblProductChoice WHERE Reason = '" & Me.cboReason & "' ORDER BY ProductName"
    Me.cboProduct.RowSource = strSQL
    Me.cboProduct.Requery
    Call Filteren
End Sub

Private Sub cboProduct_AfterUpdate()
    Call Filteren
End Sub
Function Filteren()
Dim sFilter As String
sFilter = ""

If Not Me.cboProductGroup & "" = "" Then sFilter = "ProductGroupID = '" & Me.cboProductGroup & "'"
If Not Me.cboGrowthStadium = "" Then
    If Not sFilter & "" = "" Then sFilter = sFilter & " AND "
    sFilter = sFilter & "GrowthStadium = '" & Me.cboGrowthStadium & "'"
End If
If Not Me.cboReason = "" Then
    If Not sFilter & "" = "" Then sFilter = sFilter & " AND "
    sFilter = sFilter & "Reason = '" & Me.cboReason & "'"
End If
If Not Me.cboProduct = "" Then
    If Not sFilter & "" = "" Then sFilter = sFilter & " AND "
    sFilter = sFilter & "ProductName = '" & Me.cboProduct & "'"
End If

If sFilter = "" Then
    Me.Filter = ""
    Me.FilterOn = False
Else
    Me.Filter = sFilter
    Me.FilterOn = True
End If
Me.Requery

End Function
Grtz,
Matt
 
Heeft iemand misschien een antwoord voor mij.
Ik heb de boel nog steeds niet draaiende.
Thnx.
DVV
 
Post er een voorbeeldje van, dat denkt wat makkelijker.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan