meerdere waarden selecteren uit een keuzelijst

Status
Niet open voor verdere reacties.

Grijsbert

Gebruiker
Lid geworden
11 jun 2015
Berichten
39
Goedemorgen,

Ik wil graag meerdere waarden kunnen selecteren uit een keuzelijst, zodat ik veel sneller meerdere records met grotendeels dezelfde waarden toe kan voegen aan een tabel.
Hoe kan ik de benodigde eigenschappen zo in stellen dat dit mogelijk wordt?

Zie in bijlage een voorbeeld.

Het gaat er dus om dat ik meerdere personen tegelijk kan selecteren, zodat voor 1 en dezelfde dag ik de aanwezigheid van meerdere personen tegelijk kan invoeren.

Alvast bedankt voor de reactie!
 

Bijlagen

Laatst bewerkt:
Kun je er een zipje van maken? Deze kan ik niet openen op het werk.
 
Je vraag zelf is overigens niet zo moeilijk; je hebt bij een keuzelijst de mogelijkheid om hem in te stellen op meervoudige waarden. Dat doe je bij de <Eigenschappen>, tabblad <Overige>, optie <Meervoudige selectie>. Die staat standaard op Geen. Als je die verandert in <Enkelvoudig> of <Uitgebreid>, kun je meerdere waarden selecteren. Overigens kun je dan niet meer met Listbox.Value de waarde uitlezen; je moet dan door de collectie SelectedItems lopen en de geselecteerde waarden vervolgens verder verwerken.
 
ik kan de optie van meervoudige selectie niet vinden op de plaats die je aangeeft... dat is misschien ook wel het probleem.
 
Ik wil graag meerdere waarden kunnen selecteren uit een keuzelijst, zodat ik veel sneller meerdere records met grotendeels dezelfde waarden toe kan voegen aan een tabel.
We kunnen het 'probleem' terugbrengen naar een taalkwestie :). Je vraag gaat over een keuzelijst, maar je gebruikt keuzelijsten met invoervak. En dat is een andere tak van sport in Access. Een <keuzelijst met invoervak> kan maar één waarde bevatten.
 
Mooi is dat :)
Op welke wijze kan ik de bestaande lijst veranderen van keuzelijst met invoervak naar keuzelijst?
 
OctaFish: Rechtsklikken op het tekstvak, en dan <Wijzigen in...> selecteren (geloof ik)

Thx!
 
Invulveld veranderd naar keuzelijst (zonder invoerveld) optie: uitgebreid.
Echter, als ik twee cliënten selecteer een datum en het aantal dagdelen, worden wel twee nieuwe records in bijbehorende tabel aangemaakt, maar niet de namen van de cliënten en ook slechts bij 1 cliënt een datum.

Hoe zorg ik ervoor dat beide cliënten ieder in een apart record een datum en het aantal dagdelen komen?

Alvast dank voor de reactie!
 
Moet ik eerst weten hoe je dat nu doet.
 
Ik snap niet helemaal wat de bedoeling is. Je formulier is aan de tabel [Aanwezigheidsregistratie cliënten] gehangen, en je ziet op dat formulier dus de records uit die tabel. Met de knop doe je niks anders dan een nieuw record maken. In die tabel heb je een vaste keuzelijst gemaakt met klanten (wat al niet handig is; daar heb je vast een aparte tabel voor) maar die is dan ingesteld op enkele waarden (zoals het hoort trouwens). Je kunt dus per nieuw record maar één cliënt toevoegen. Dus de knop is daar ongeschikt voor, want je wilt er meerdere tegelijk aanmaken.
Twee dingen dus:
1. Het formulier moet niet aan de tabel hangen
2. Op basis van de keuzelijst moet je alle geselecteerde items uitlezen, en met een loop records aanmaken in de tabel.

En dan gaat het werken.
 
Om je een idee te geven: ik heb je formulier losgekoppeld van je tabel en de bestaande keuzelijsten vervangen door nieuwe met dezelfde naam. Dan krijg je deze code onder de knop:
Code:
Private Sub Knop8_Click()
Dim strSQL As String
Dim itm As Variant
    For Each itm In Me.Cliënt.ItemsSelected
        strSQL = "INSERT INTO [Aanwezigheidsregistratie cliënten] ( Cliënt, [Aantal dagdelen], Datum ) " _
        & "Values(""" & Me.Cliënt.ItemData(itm) & """, " & Me.Aantal_dagdelen & ", CDate(" & CDbl(Me.Datum) & "))"
        CurrentDb.Execute strSQL, dbFailOnError
    Next itm
End Sub
 
Aan het einde van elke dag dat cliënten aanwezig zijn geweest op dagbesteding wordt de aanwezigheid vastgelegd.
Het meest efficiënt is om voor meerdere cliënten tegelijk vast te leggen dat ze 2 dagdelen of 1 op dezelfde datum aanwezig zijn geweest.

Daarom moeten meerdere cliënten tegelijk geselecteerd kunnen worden. Het formulier moet dus gebruikt worden om gegevens in de tabel in te voeren.
Als het beter is om de cliënten in een aparte tabel te zetten vind ik dat ook prima, maar ik weet niet hoe je dan de cliënten uit de aparte tabel in de keuzelijst van het formulier terug kan laten komen.

De tabel wordt gebruikt om uiteindelijk facturen op te kunnen draaien via een automatische koppeling met excel en vervolgens afdruk samenvoegen in word.

De knopcode is helder, dwz ik weet hoe ik die onder de knop kan krijgen. Vraag is nog even hoe richt ik de database in zodat aan mijn doelstelling kan worden voldaan?
Kan je misschien een voorbeeld laten zien?
 
ok excel werkt voor mij iets makkelijker. Hoe kan ik met een keuzelijst op een userform via vba-code een meervoudige selectie van een keuzelijst netjes onder elkaar op een werkblad terecht laten komen?
De datum en het aantal dagdelen zijn gelijk. De cliëntnaam verschilt, omdat twee namen tegelijk geslecteerd worden.
 
Je mag de vraag uiteraard ook stellen in het Excel forum, maar ik weet niet of je daarmee de juiste vorm van automatisering toepast :). Weglopen voor een probleem is namelijk zelden in het belang van dat probleem :D. Kijk maar eens naar mijn voorbeeldje; zo moeilijk is dat allemaal niet. Bovendien heb je in Excel een vergelijkbaar probleem, want ook daar moet je met een lus de keuzes opslaan. OK, je doet dat iets anders, maar makkelijker?
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan