Keuzelijst leeg maken

Status
Niet open voor verdere reacties.

Rost1967

Gebruiker
Lid geworden
15 jun 2015
Berichten
7
Keuzelijst in formulier met als 1e waarde een leeg veld. Bij het kiezen van een keuze wordt deze verwerkt in de data. Nu moet er indien er voor een klant als een keuze is gemaakt de keuze worden weergeven of anders een leeg veld.:shocked:
 
Allereerst welkom bij HelpMij :). Kun je iets beter uitleggen wat de bedoeling is? Want ik snap 'm niet helemaal. Zo heb je het over een keuzelijst waarvan de eerste waarde leeg is, en dat vind ik al vreemd. Dat hoeft namelijk niet. Een keuzelijst die niet gebruikt wordt is per definitie al leeg, en het veld waaraan je de keuzelijst koppelt dus ook. En versta je onder 'leeg' ook echt leeg, of zet je dan bijvoorbeeld een spatie in het veld? Nogmaals: keuzelijsten hoeven geen lege optie als keuze te hebben :).
En dan de eigenlijke vraag: wat moet er gebeuren als de gebruiker wél iets aanklikt in de keuzelijst?
 
Keuze leeg maken

Je moet een keuze maken. Bij een volgende klant moet de keuze leeg zijn. Nu als ik na de volgende klant ga blijft de keuze staan van de vorige.
 
Dan klopt er iets niet helemaal. Ik vermoed dat de keuzelijst niet-gebonden is, wellicht is het een keuzelijst waarmee je een klant opzoekt? En staat die in de koptekst? Maar als je een niet-gebonden keuzelijst hebt gemaakt, dan snap ik weer niet dat je een keuze moet maken. Maar goed, je rechtstreekse antwoord is iets als dit:
Code:
Private Sub Form_Current()
    Me.cboKeuzelijst = ""
End Sub
 
Keuzelijst

Oke en waar zet ik dit neer.

We gaan klanten bellen er dan krijg je 3 opties waaruit je moet kiezen. Dus als je vb klant 1 belt en je klikt op keuze 1 dan ga je naar de volgende. Dan moet dus bij klant 2 niets staan.
 
Ik snap nog steeds niet veel van je formulier, maar nu lijkt het er op alsof je een keuzelijst gebruikt om records op te zoeken in je formulier. En dat is dan inderdaad een niet-gebonden formulier. De code staat bij de gebeurtenis <Bij aanwijzen> van het formulier, maar je kunt hem ook als laatste opnemen in de code die het record opzoekt. Dan wordt de keuzelijst na het opzoeken gelijk leeg gemaakt. Wat je maar handig vindt :).
 
Oke nu snap ik het niet (net begonnen met Access 2010).

Voorbeeld:
ik bel klant 1 en krijg een antwoord bv boter. Dan kies ik in de keuzelijst boter.

Dan ga ik naar de volgende klant (dmv record volgende links onderaan in beeld).

ik bel klant 2 en zie dan nog steeds boter staan maar wil dan eigenlijk een lege veld zien.

Misschien zo duidelijk.:shocked:
 
Maar wat gebeurt er dan als je in de keuzelijst op 'Boter' klikt? Dan gebeurt er toch iets? Ik dacht dat je daarmee iets wegschreef.
Bij het kiezen van een keuze wordt deze verwerkt in de data.
Dat kan alleen als er een actie achter de keuzelijst hangt. Als dat allemaal te lastig aanpassen is, kun je mijn eerdere code compleet kopieren en in het VBA venster plakken. Hij hangt dan automatisch achter de juiste gebeurtenis. Wel nog even de naam van de keuzelijst aanpassen :).
 
Dat klopt dan wordt boter weggeschreven naar (het veld dat genoemd is bij besturingselementbron in tabblad gegevens). Of is het dan handiger om deze leeg te laten en bij gebeurtenis de macro op te nemen (zo ja welke).

Onderstaande code werkt niet.

Private Sub Form_Current()
Me.cboKeuzelijst = ""
End Sub.
 
Nu begrijp ik het toch niet meer; ik dacht dat je keuzelijst niet-gebonden was, want de gekozen waarde bleef staan in de keuzelijst als je naar het volgende record gaat. Maar nu zeg je dat je de Besturingselementbron wél hebt gekoppeld? Dan heb je van een paar kwade opties zo'n beetje alle varianten gepakt die je kon vinden :). Om te beginnen vermoed ik dat je de keuzelijst in de Koptekst hebt neergezet. Een gekoppelde keuzelijst moet altijd in de Detailsectie staan waar de overige klantdetails ook staan. In kopteksten mag je alleen niet-gekoppelde objecten zetten. Dus dat verklaart al een heleboel.
Daarnaast heb je dus geen actie gekoppeld aan de keuzelijst, en zou ik 'm verder ook niet leeg maken, omdat je dan de opgeslagen waarde ook verwijdert. Lijkt mij niet de bedoeling.
 
Ik ook niet meer. Ik heb de keuzelijst nu aan de klantdetails gekoppeld (in veldeigenschappen tabblad opzoeken weergave besturingselement keuzelijst met invoervak en rijbron gekoppeld aan keuzelijst. Kom ik in de buurt ? Nu zie ik geen keuzelijst meer in het formulier. Waar moet ik nog meer iets doen.
 
Ik heb geen idee wat je nu gedaan hebt; in mijn ogen had je alleen maar de keuzelijst hoeven te verslepen van de koptekst naar de Detailsectie. De eigenschap Besturingselementbron stond toch goed op dat veld? En de rijbron moet een query zijn die datgene ophaalt wat je wilt zien.
 
Keuze ja/nee

Ha nou in formulier bestaande regels verwijderd en nieuwe regel met keuzelijst toegevoegd. Nu werkt het wel...... wat een strijd.

Nu het volgende 2 selectievakjes ja of nee.
Zodra je kiest voor keuze selectievakje ja moet de keuze nee niet mee mogelijk zijn en andersom ook natuurlijk.
 
Dat noemen wij: keuzerondjes :). Selectievakjes zijn nu juist expliciet bedoeld om wél meerdere opties te kunnen kiezen! Gebruik ze dus nooit om de gebruiker daarmee te dwingen om 1 van de 2 (of meer) opties te kiezen, want die snapt daar dan helemaal niets van.
Keuzerondjes zet je dan bij voorkeur in een groepsvak. De gekozen waarde sla je op in het onderliggende veld.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan