Keuzelijstwaarde wissen na verlaten

Status
Niet open voor verdere reacties.

Stabiloy

Gebruiker
Lid geworden
3 okt 2009
Berichten
129
Hallo,
Door middel van een keuzelijst laat ik het formulier vullen. Nu kan je dat door meerdere keuzelijsten doen. Je kan namelijk op debnr, op naam en op postcode zoeken.

Nu wil ik wanneer je de waarde in 1 van de keuze velden hebt ingevoerd dat het formulier word aangevult, en de keuzelijst weer leeg word gemaakt. Dit om verwarring te voorkomen.

Zelf had ik al bedacht dat ik dan een gebeurtenis moet instellen bij het verlaten van de keuzelijst. Maar heb totaal geen kennis van VBA dus zou graag wat hulp willen.

Als ik totaal in de verkeerde richting zit te denken, mag het ook gezegd worden ;):P
 
Laatst bewerkt:
Eerste vraag: waarom wil je de oorspronkelijke keuzelijst weer leegmaken? Wat is er verwarrend aan, dat je kun zien wat je hebt geselecteerd?
Ten tweede: hoe haal je de informatie uit de overige velden op, als je een keuze maakt? Als je de tekstvakken hebt gekoppeld aan kolommen uit je keuzelijst, dan gaat het zowiezo niet lukken, want als je dan de keuzelijst leegmaakt na selectie, dan zijn daarna ook de tekstvakken leeg.
Persoonlijk gebruik ik de keuzelijst om één van de gewenste waarden te laten zien, en gebruik dan dus tekstvakken voor de rest. Op die manier heb je ook geen dubbele gegevens op je formulier.
 
ik gebruik het echt als een zoekveld, de waarde die je in de keuzelijst intypt komt er onder in een lijst te staan. Dat doe ik zo met alle 3 de "zoekvelden", alleen ik vind het wel duidelijk, maar de andere mensen die het gebruiken vinden het verwarrend dat die waarde blijft staan.

Vooral wanneer ze eerst iemand zochten op naam, en evenlater iemand anders zoeken op debnr.
 
Volgens mij is het niet zo moeilijk wat je vraagt.

Je reageert duidelijk op de keuze die er wordt gemaatk in de keuzelkijst. Je laat dan het juist record zien met alle gegevens op het formulier.
Als je deze gebeurtenis hebt afgehandeld kan je gewoon de waarde van je keuzelijst op leeg zetten en je zien meer wat je hebt gekozen.
Code:
Keuzelijst.Caption ° ``
Dan ben je volgens mij geholpen.

Wim
 
Ik weet niet beter of een keuzelijst (al dan niet met invoervak) geen Caption heeft, dus kun je dat commando ook niet gebruiken.
Wel kun je op de gebeurtenis <Na bijwerken> de waarde van de keuzelijst leegmaken, maar dan zijn dus de gekoppelde velden ook leeg. Dat wil je uiteraard niet. Nogmaals: ik zou de waarde uit de keuzelijst gewoon tonen, en dan een tekstveld dat dezelfde waarde laat zien verwijderen.
Of, als alternatief, kun je de tektsvelden niet koppelen aan de keuzelijst, en bij de gebeurtenis <Na bijwerken> de tekstvelden via VBA vullen.
Dan krijg je dus zoiets:

Code:
Private Sub LstPostcode_AfterUpdate()

    Me.txtProvincie.Value = LstPostcode.Column(2)
    Me.txtLand.Value = LstPostcode.Column(3)
    Me.LstPostcode = ""

End Sub
 
twee vragen:P
1. Hoe zorg ik dan dat het gewist word.
2. waar moet ik dan eventueel de code van vba neerzetten? Bij die van de keuzelijst met invoervak, of bij de velden die ingevuld moeten worden?
 
Worden de zoekvelden gevuld met de kolommen van je keuzelijst, dan volstaat de methode aangegeven door Michel. Dus de "NaBijwerken" gebeurtenis van de keuzelijst.
 
Worden de zoekvelden gevuld met de kolommen van je keuzelijst, dan volstaat de methode aangegeven door Michel. Dus de "NaBijwerken" gebeurtenis van de keuzelijst.

Het werkt ;) Daarvoor alvast bedankt, maar nu het volgende:

Er moeten dmv de keuzelijst 8 velden worden ingevuld, nu wil ik niet al die 8 kolommen in mijn keuzelijst zien, wil er namelijk maar 1 zien. Maar wanneer ik dit bij aantal kolommen invoer, doet hij dat netjes. Alleen vult hij dan de overige velden, die dus geen zichtbare kolom hebben niet meer aan.

Hoe is dit op te lossen?
 
Laatst bewerkt:
@Stabiloy,

Het is de bedoeling dat je per topic 1 vraag stelt. Worden er meerdere vragen gesteld in een topic dan vervuil je het forum. Deze vragen zijn met de zoekfunctie van het forum niet meer zichtbaar. Met de zoekfunctie wordt het meest gezocht op de titel van een topic.

Maak even een nieuwe topic aan en daar zal je vraag dan behandeld worden. ;)
 
maar dan komen er zo onnodig veel topics bij soms.

Formulier word nu goed ingevult, maar de subformulieren nog niet. Die draaien op een query, en de query gebruikt het debnr van het hoofdformulier. Moet ik dit dan ook in VBA gaan doen?
 
Laatst bewerkt:
maar dan komen er zo onnodig veel topics bij soms

Dat is waar, maar het forum blijft dan wel overzichtelijk.

Daarbij stel je nu alweer een nieuwe vraag.
 
Laatst bewerkt:
Dat is waar, maar het forum blijft dan wel overzichtelijk.

Daarbij stel je nu alweer een nieuwe vraag.

Het gaat toch nog steeds over het laten vullen van velden, en de keuzelijst leeg maken??
Maar ik zet het wel in een nieuw topic ;)
 
Ik zie de vraag als een tweeledige vraag, want het antwoord is eigenlijk hetzelfde. Je hoeft niet alle 8 kolommen te laten zien; voor het opvragen van velden uit de keuzelijst is het noodzakelijk dat ze in de onderliggende query zitten. Als je dus 8 velden gelijk wilt vullen, dan moeten alle 8 velden in de keuzelijst zitten. Om ze onzichtbaar te maken, zet je de breedte van die velden vervolgens op 0cm.
 
Ik zie de vraag als een tweeledige vraag, want het antwoord is eigenlijk hetzelfde. Je hoeft niet alle 8 kolommen te laten zien; voor het opvragen van velden uit de keuzelijst is het noodzakelijk dat ze in de onderliggende query zitten. Als je dus 8 velden gelijk wilt vullen, dan moeten alle 8 velden in de keuzelijst zitten. Om ze onzichtbaar te maken, zet je de breedte van die velden vervolgens op 0cm.

dat was idd mij al zelf gelukt, daarom topic op opgelost gezet. Alleen hier nog niet gepost.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan