Avatar billede Jens Jakob Teislev Nybegynder
18. oktober 2005 - 17:50 Der er 13 kommentarer og
1 løsning

Tillade multiple choice til tabel felt

Hej Alle,

Jeg ønsker at lave et system der holder styr på hvilke skilte jeg tager med på forskellige udstillinger.
Derudover vil jeg gerne have en historik på hvor de har været.

Jeg har lavet en db med 2 tabeller - en over udstillinger og en over skilte.
Derudover har jeg en formular med en list box hvor jeg vælger hvilke udstillinger har haft hvilke skilte.
Problemet er bare at den kun tillader jeg vælger 1 udsilling - ikke flere. Såsnart den sættes på "multiple" bliver den blank!

hjælp?

Jens
Avatar billede mugs Novice
18. oktober 2005 - 17:55 #1
I fanen "Andre" skal flere markeringer være sat til Simpel for at vælge flere markeringer.
Avatar billede jesperfjoelner Nybegynder
18. oktober 2005 - 17:57 #2
Som du har set kan en listbox multiselect sættes til:
Ingen
Simpel
Extended

Hvis du vælger extended har du mulighed for at vælge flere værdier i listboxen. Men du mangler at fortælle databasen hvordan den skal håndtere de valgte værdier. Normalt vil du jo med en enkelt markeret række vælge én værdi, som lander i et felt i databasen. Den værdi vil være værdien i listboxens bundne kolonne.

Du skal have en tabel, hvor du lagrer information om hvor skiltene har været.

Du har:
tblSkilte, tblUdstillinger og skal have tblSkilteUdstillinger
som f.eks. kunne være
ID (auto)
SkiltID (tal)
UdstillingID (tal)

har du allerede den tabel?
Den normale måde at gøre det du beder om ville være at lave en underformular, bundet til tblSkilteUdstillinger.
Avatar billede mugs Novice
18. oktober 2005 - 17:58 #3
Nå du vælger en udstilling skal du samtidig vælge en skilt. D.v.s. at hvis du på en udstilling har haft 2 skilte med, skal du oprette 2 poster i tabellen udstilling. Jeg vil anbefale, at du laver en ny tabel med navnet på udstillingerne. Derefter samler du data om Udstilling og skilte i en 3.tabel.

Samtidig får du her din historik.
Avatar billede Jens Jakob Teislev Nybegynder
18. oktober 2005 - 18:04 #4
Jeg forsøger nu....

Jens
Avatar billede Jens Jakob Teislev Nybegynder
18. oktober 2005 - 18:27 #5
Problemet er - så snart jeg skifter til multiple choice forsvinder mit valg. feltet i min tbl_Tradeshows vil åbenbart kun have en værdi i sig? giver det mening?
Hvordan "mapper" jeg mit valg til en ekstern tabel? Det tillader "list box" ikke - den lader mig bare vælge et eksisterende felt i min nuværende tabel - dvs tbl_tradeshow..

Forståeligt??

Jens
Avatar billede Jens Jakob Teislev Nybegynder
18. oktober 2005 - 18:34 #6
måske det er lettere hvis jeg sender den db med tabeller og formularer jeg har lavet nu..?
Avatar billede mugs Novice
18. oktober 2005 - 18:35 #7
Njaa - Ikke helt klart.

Men hvis du vil overføre de valgte poster fra din liste til et felt i din tabel kan du bruge denne:

Private Sub Kommandoknap0_Click()
Dim Itm As Variant
Dim txt As String
If Me!Liste1.ItemsSelected.Count > 0 Then
For Each Itm In Me!Liste1.ItemsSelected
txt = txt & Me!Liste1.ItemData(Itm) & "; "
Next Itm
txt = Left(txt, Len(txt) - 2)
End If
Me!FELTNAVN = txt
End Sub

Jeg kan sende dig et eksempel. Blot læg sdin e-mail.
Avatar billede jesperfjoelner Nybegynder
18. oktober 2005 - 18:39 #8
Mugs eksempel er selvfølgelig helt korrekt og lægger alle de valgte shows i et enkelt felt i din tabel. Er det det der er meningen?
Jeg vil blot nævne at det nok burde laves med en underformular, men som Mugs viser skal dataene "indsamles" fra en listbox, der er sat til "extended" før de kan bruges til noget. Man kan ikke koble den direkte til et felt i tabellen.
Hvis du vil have den 3. tabel "tblSkilteTradeshows" og koble det sammen med valgte rækker i en Extended-multiselect-Listbox kræver det et par krumspring, da der hele tiden skal lægges til og fra tabellen "tblSkilteTradeshows" når markeringen ændres.
Avatar billede Jens Jakob Teislev Nybegynder
18. oktober 2005 - 18:40 #9
jens@solving-it.biz
Avatar billede Jens Jakob Teislev Nybegynder
18. oktober 2005 - 18:45 #10
Hmm.. det der er meningen/målet er helt præcis:

1) Lave en database der holder styr på hvilke udstillinger (tradeshows) de ca 200 skilte (drops) har været.
2) Lave en database der holder styr på hvilke skilte der skal med på kommende udstillinger.

Jeg forestillede mig en tre tabel opsætning. Dvs tbl_drops, tbl_tradeshows og tbl_history.
Dertil forestiller jeg mig en formular hvor jeg kan se hvad hvilke drops der hører til hvilke tradeshows - både frem i tiden og tilbage i tiden. Samt endelig en rapport der viser mig hvor de forskellige drops har været :o)

Simpelt nok.....

Jens :o)
Avatar billede mugs Novice
18. oktober 2005 - 18:50 #11
Eksempel er sendt.
Men jeg ville nok gå en lidt anden vej. Du har en række udstillinger og en række skilte, hvor udstillingerne er i en særskilt tabel og skiltene i en anden.
Disse 2 parametrer skal nu kombineres i en 3. tabel. Dette kan du gøre med 3 feltet:

- FLDudstilling
- FLD skilt
- FLDid (PK)

Værdierne vælger du med kombinationsbokse. Dette betyder, at hvis du har een udstilling hvor du har medbragt 3 skilte, skal der oprettes 3 poster med samme udstilling og 3 forskellige skilte. Det lyder lidt omstændigt, men du kan programmere dig ud af det ved at kopiere posten og kun vælge et nyt skilt. Dermed kan du som (som jesperfjoelner er inde på), benytte en unbderformular til at vise, hvilke skilte det har "deltaget" i hvilke udstillinger.
Avatar billede Jens Jakob Teislev Nybegynder
18. oktober 2005 - 18:53 #12
Okay må se på det senere... skal hjemad...
thank you so far...
Jens
Avatar billede Jens Jakob Teislev Nybegynder
20. oktober 2005 - 09:56 #13
Udemærket MUGS - det virker. Tror dog snart jeg må stille et spg. ang. den underformular ting :o)

Tak for hjælpen - so far!
Avatar billede mugs Novice
20. oktober 2005 - 10:04 #14
Du vender bare tilbage. Tak for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester