Items selecteren in een keuzevak en invoegen in tabel

Status
Niet open voor verdere reacties.

broekkie

Nieuwe gebruiker
Lid geworden
9 dec 2008
Berichten
4
Ik ben bezig met een Access 2003 project waarin ik de gebruiker de mogelijkheid wil geven informatie uit een (pop-up) formulier (met keuzelijst gekoppeld aan db) kan toevoegen aan een formulier die hij aan het invullen is.

De bedoeling is dat hij meerdere rijen kan selecteren en op een knop "toevoegen" kan klikken. Na het indrukken van de knop toevoegen moeten de geselecteerde waarden worden toegevoegd aan de db

mijn vraag:
De keuzelijst van het popup formulier wordt gevuld door een db.
- Op welke manier krijg ik een kolom toegevoegd die de eigenschappen heeft om selecteerbaar te zijn.
- Met behulp van welk commando kan ik de geselecteerde waarde in het formulier selecteren?
- Wel SQL-commando heb ik nodig om de waarden toe te voegen aan de database.

Alvast heel erg bedankt !
 
Dat zijn gelijk een hoop vragen!
Vraag 1 snap ik overigens niet; wat bedoel je met:
Op welke manier krijg ik een kolom toegevoegd die de eigenschappen heeft om selecteerbaar te zijn.
Vraag 2 is wel uit het bijgevoegde voorbeeldbestand te halen.
Daar moet je maar eens kijken naar de derde keuzelijst optie (Keuzelijst + Afhankelijke keuzelijst).
Voor de derde vraag kun je niet zomaar een SQL commando gebruiken, omdat je de optie wilt hebben om meerdere records te kunnen toevoegen aan de tabel. Dat betekent, dat je een procedure moet maken die de verschillende te maken records stuk voor stuk toevoegt. Dat dan weer wel met een SQL commando... Maar de loop is dus het lastigst.
 
Hoi OctaFish,

Ik bedoelde met het onderstaande:
> Op welke manier krijg ik een kolom toegevoegd die de eigenschappen heeft om
> selecteerbaar te zijn.

In het formulier dat ik aan de gebruiker toon is een keuzelijst opgenomen met data afkomstig uit een tabel. Ik stelde me zo voor dat de gebruiker met het formulier een selectie maakt van items uit het referentiebestand. Ik verwachte dat je dan een kolom moet toevoegen die het mogelijk maakt de selectie aan te geven.
Deze selectie kan je dan later weer gebruiken voor de inserts in de db

Groeten
Chris

n.b. heb ik misschien de bijlage gemist?
 
Je hebt gelijk over de bijlage.... :o Bij deze!
De keuzelijst hang je normaal gesproken aan een veld in de tabel of query die je als bron voor het formulier gebruikt. De keuzelijst heeft dan een Besturingselementbron. Bij een meervoudige keuzelijst werkt dat uiteraard niet, omdat je in een veld normaal gesproken maar één waarde opslaat. De andere variant die je hebt is een niet-gebonden object. Dat heeft dan dus geen besturingselementbron. Ongebonden objecten gebruik je bijvoorbeeld om selecties te maken op een formulier, of een bepaald record op te zoeken.
Kortom: ik snap je vraag nog steeds niet helemaal ;) Bij een keuzelijst is elke optie namelijk in beginsel selecteerbaar. Als je niks kunt selecteren, dan komt dat vaak doordat de bron van het formulier niet goed gekozen is, en de objecten dus niet kunnen worden gewijzigd. Maar dat geldt dan ook voor alle objecten.
Zonder een voorbeeld is het overigens lastig aan te geven wat er precies fout zit.
 

Bijlagen

Hoi OctaFish

Ik heb je voorbeeldbestand bekeken en ik zat helemaal op het verkeerde pad.:thumb:

De keuzelijst heeft (blijkbaar) de eigenschap om meerdere rijen te selecteren. Ik dacht dat ik zelf voor deze functionaliteit moest zorgen. De tabel die ik in de keuzelijs zou laten zien heeft geen veld waarmee ik een selectie kon maken.
Dit was ook de kern van mijn vraag.

Ik zal nu een stukje code moeten verzinnen om de waarden van alle geselecteerde rijen toe te voegen aan een andere tabel.

Heb jij misschien nog tips hoe ik dat het beste kan aanpakken? ....

groeten
Chris
 
Dat kan zo:

Code:
Private Sub cmdOpslaan_Click()
Dim Omschrijving As Variant
    
    For Each Omschrijving In lstSpelers.ItemsSelected()
        With CurrentDb.OpenRecordset("temp")
            .AddNew
            .Fields(0) = lstSpelers.Column(0, Omschrijving) & " " & lstSpelers.Column(1, Omschrijving)
            .Update
            .Close
        End With
    Next Omschrijving

End Sub

Hierbij heb ik in mijn voorbeeldbestandje een tabel temp gemaakt met een tekstveld. Het eerste veld wordt met elke geselecteerde keuze gevuld.
 
Hoi OctaFish,

Ik ga met je tips aan de slag en ga proberen dit verder uit te werken.
Bedankt voor de moeite TOP! :thumb::thumb:

Groeten
Chris
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan