MS Access selectie query in formulier

Status
Niet open voor verdere reacties.

MJJBROEKHUI

Gebruiker
Lid geworden
6 jun 2001
Berichten
175
In mijn database heb ik een formulier en dit bevat een veld met een pull down waar ik de status van een project kan selecteren. Ik heb twee soorten fasen in mijn project namelijk prospect en shadow.

Als bijvoorbeeld een prospect geen prospect meer is moet de user in het veld de status wijzigen in "non-prospect". In het pull down menu verschijnen echter ook de fasen "shadow" en "non shadow", maar eigenlijk zou de user alleen moeten kunnen kiezen uit "prospect" en "non-prospect". Dit geldt ook omgekeerd. Als de status "shadow" is mag je alleen kiezen in pull down uit "shadow" en "non shadow".

Ik heb een voorbeeld van de database toevoegd. Graag jullie hulp. Dank.
 

Bijlagen

  • test.zip
    13,2 KB · Weergaven: 47
Je kunt hier eens mee stoeien:

Code:
Select Case Me.Text0.Value
    Case 24
strSQL = "SELECT ID, [Status aanvraag] FROM tbl002 WHERE ID =25;"
    Case 25
strSQL = "SELECT ID, [Status aanvraag] FROM tbl002 WHERE ID =24;"
    Case 26
strSQL = "SELECT ID, tbl002.[Status aanvraag] FROM tbl002 WHERE ID =27;"
    Case 27
strSQL = "SELECT ID, tbl002.[Status aanvraag] FROM tbl002 WHERE ID =26;"
    Case Else
strSQL = "SELECT ID, [Status aanvraag] FROM tbl002 ORDER BY ID;"
End Select
Me.Text0.RowSource = strSQL
Het is nog een beetje puzzelen waar je het 't beste kunt neerzetten; ik heb geëxperimenteerd met de <Bij Kiezen> gebeurtenis, maar op zicht werkt 't wel goed, maar hij maakt de keuzelijst optisch leeg als je naar een ander record bladert.
 
Deze code houdt overigens de oorspronkelijke waarde wel aan:

Code:
Select Case Me.Text0.Value
    Case 24, 25
strSQL = "SELECT ID, [Status aanvraag] FROM tbl002 WHERE ID =24 OR ID =25;"
    Case 26, 27
strSQL = "SELECT ID, tbl002.[Status aanvraag] FROM tbl002 WHERE ID =26 OR ID =27;"
    Case Else
strSQL = "SELECT ID, [Status aanvraag] FROM tbl002 ORDER BY ID;"
End Select
Me.Text0.RowSource = strSQL
 
thanks. dit werkt en ik zal nog gaan rommelen waar ik deze code nog meer neerzet!
 
ik zit nog met een probleempje. Het voorbeeld dat ik gaf bevat een nummeriek ID, die gekoppeld is aan de "status aanvraag". Echter, mijn database heb ik jaren geleden gebouwd en daarom zitten er een hoop schoonheidsfoutjes in. Het verld ID bestaat niet, maar wel het veld "status aanvraag" en dit getal moet ingevuld worden ip ID. Nu zit ik dus met probleem dat de veldnaam een spatie bevat en dat waarde geen nummeriek veld is, maar een tekstveld. Ook het formulier bevat een spatie. Heel dom natuurlijk, want nu heb ik problemen met aanhalingstekens. Ik heb iets geprobeerd, maar dit werkt niet.

Code:
Case "prospect", "non prospect" 
strSQL = "SELECT [Status aanvraag] FROM [tabel aanvraag] WHERE [status aanvraag] ="prospect" OR [status aanvraag] ="non prospect";"

Heb je enig idee hoe de code zou moeten zijn?

Thanks
 
Laatst bewerkt door een moderator:
Op zich maakt het niet uit of je een select case op tekst of op waarden toepast. In ieder geval zit er een foutje in de SQL:
Code:
strSQL = "SELECT [Status aanvraag] FROM [tabel aanvraag] WHERE [status aanvraag] =[B][COLOR=red]'[/COLOR][/B]"prospect"[B][COLOR=red]'[/COLOR][/B] OR [status aanvraag] = [B][COLOR=red]'[/COLOR][/B]"non prospect"[B][COLOR=red]'[/COLOR];"[/B]
 
Michel, dank voor je reactie, maar ik krijg de foutmelding "compile error expected end of statement". bij prospect (de allereerste tekst tussen enkele en dubbele haakjes)

Code:
Private Sub Status_aanvraag_Click()
Select Case Me.[Status aanvraag].Value
    Case "prospect", "non prospects"
strSQL = "SELECT [Status aanvraag] FROM [03 tabel dealflow ontvangst] WHERE [status aanvraag] ='[COLOR="red"]"prospect"[/COLOR]' OR [status aanvraag] = '"non prospect"';"
    Case "shadow portfolio", "non shadow portfolio"
strSQL = "SELECT [Status aanvraag] FROM [03 tabel dealflow ontvangst] WHERE [status aanvraag] ='"shadow portfolio"' OR [status aanvraag] = '"non shadow portfolio"';"
    Case Else
strSQL = "SELECT [Status aanvraag] FROM [03 tabel dealflow ontvangst];"
End Select
Me.[Status aanvraag].RowSource = strSQL
End If

alvast dank voor je reactie
 
Laatst bewerkt door een moderator:
Het moet ook, denk ik, dit zijn:

Code:
strSQL = "SELECT [Status aanvraag] FROM [03 tabel dealflow ontvangst] WHERE [status aanvraag] ='prospect' OR [status aanvraag] = 'non prospect';"
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan