Avatar billede kasper_knaldperle Nybegynder
07. november 2005 - 13:47 Der er 16 kommentarer og
2 løsninger

Fra listbox til poster i tabel

Jeg har med succes brugt Thomas Jepsens eksempel "flyt mellem listboxe" fra makeiteasy.dk.

Hvordan får jeg de valgte emner fra en listbox til at være poster i en tabel.
Aktuelt skal brugeren have mulighed for, at "kombinere" forskellige materialer til en bygningsdel.
Materialerne hentes fra en listbox og skal så samles i en ny tabel. Det er en mange-til-mange relation, hvor materialerne er bundet sammen til en bygningsdel med et bygningsdelsID.

Altså skal der oprettes poster i en tabel der indeholder et ens bygningsdelID, men forskellige materialeID'er.

Jeg håber I forstår.

For dem, der ikke kender eksemplet fra Thomas Jepsen, kan jeg sige, at det virker på den måde, at det markerer posterne i den tabel der vælges fra som valgt, og den anden listbox (der flyttes til) viser de valgte.

De poster der skal overføres er altså markeret i "hovedtabelen".
Avatar billede -anders- Juniormester
07. november 2005 - 13:51 #1
Hej Kasper
Jag har ikke hele facitlisten, men i dette spørgsmål som jeg selv oprettede spørger jeg hvordan man for oprettet en eller flere poster som er markeret på en listbox med multiselect, og det lykkes. Som inspiration kan jeg anbefale at du kikker på indlæggende: http://www.eksperten.dk/spm/659138

Hilsen Anders.
Avatar billede terry Ekspert
07. november 2005 - 14:00 #2
If I've understood th equestion properly and if I am guessing then the records which are moved from listbox to the other are marekd as selected in a table. So I would think you can just make a query which appends them to your table

INSERT INTO .. SELECT * FROM ....

and it may be an idea to reset the flag fo rthe records which are selected so that they dont get appended again

Just an idea
Avatar billede kasper_knaldperle Nybegynder
07. november 2005 - 14:10 #3
aandersen--> det virker nogenlunde, men det tager jo kun den post der lige markeret, og ikke indholdet af hele listen...ellers fint forslag :D

terry--> Fin idé, men når det kommer til SQL er jeg HELT ny. Så hvad skal der gøres, og hvor skal det sættes hen.
Lad os sige at de markerede poster skal flyttes fra tabel1 til tabel2. Tabel 2 indeholder 2 felter. Det skal også have nummeret på bygningsdelen. Så der er måske 5 poster med det samme bygningsdelID og 3 forskellige materialeID'er.
eks:
BygningsdelID.....MaterialeID
1                1
1                2
1                3

Forstår I??

/Kasper :D
Avatar billede kasper_knaldperle Nybegynder
07. november 2005 - 14:11 #4
Rettelse:
"Så der er måske 5 poster med det samme bygningsdelID og 3 forskellige materialeID'er"

Ændres til :"Så der er måske 3 poster med det samme bygningsdelID og 3 forskellige materialeID'er"
Avatar billede -anders- Juniormester
07. november 2005 - 14:17 #5
Hvis du i listen med multiselct markere flere items vil disse markerede items blive oprettet i en foruddefineret tabel som nye poster, hvordan det lige gøres i det eks. du referer til fra makeiteasy.dk har jeg ikke helt styr på, men det må være noget med at tælle antal items på listen i stedet for selected items, måske terry kan klare den :o)
Avatar billede -anders- Juniormester
07. november 2005 - 14:18 #6
Egenskaben multiselect sættes i design på listen under fanebladet Andre
Avatar billede -anders- Juniormester
07. november 2005 - 14:20 #7
for testens skyld kunne du prøve at angive egensskaben multiselect for den liste der indeholder de items der skal være nye poster, hvis dette virker er vi da godt på vej :o)
Avatar billede -anders- Juniormester
07. november 2005 - 14:24 #8
Sidst men ikke mindst, skal nøglen BygningsdelID jo på en eller anden måde også oprettes i mangetabellen
Avatar billede -anders- Juniormester
07. november 2005 - 14:28 #9
Denne tæller alle items på en liste:

Dim cList As Integer
For cList = 0 To Me.NavnPåListe.ListCount - 1
Me.NavnPåListe.Selected(cList) = True
Next intList
Avatar billede -anders- Juniormester
07. november 2005 - 14:29 #10
Rettelse:
Dim cList As Integer
For cList = 0 To Me.NavnPåListe.ListCount - 1
Me.NavnPåListe.Selected(cList) = True
Next cList
Avatar billede kasper_knaldperle Nybegynder
07. november 2005 - 14:32 #11
Prøver lige!!!
Avatar billede kasper_knaldperle Nybegynder
07. november 2005 - 14:37 #12
Det virker fint :D Tak for hjælpen.

Smid du blot et svar. Jeg er lige fraværende en times tid, men jeg deler ud når jeg er tilbage :D

terry--> Du må meget gerne hjælpe med den anden metode. Jeg kan evt. oprette et nyt spørgsmål til det. Så kan vi tage den derfra :D

/Kasper
Avatar billede terry Ekspert
07. november 2005 - 14:40 #13
Kasper, if you can get aandersens solution to work then I suggest you use that. I dont have much time at the moment. But if you need help then I will see what I can do later
Avatar billede -anders- Juniormester
07. november 2005 - 14:43 #14
Fint at det virker så langt, men metoden er som du selv er inde på måske ikke så elegangt så 150 points er den nok ikke værd, så jeg syntes vi skal dele så er der point til en måske senere og bedre løsning :o), men metoden med at opbygge et recordset via ADO er nu ikke så tosset, jeg bruger det selv meget i andre sammenhænge og det har altid virket uden problemer.
Avatar billede kasper_knaldperle Nybegynder
07. november 2005 - 14:45 #15
Det er helt i orden. Jeg fik det til at virke fint.
Jeg vil bare gerne have så mange alternativer som muligt. Både fordi man lærer af det, og så fordi, at jeg måske løber ind i et problem senere hen. Så er det rart at "have flere strenge at spille på".

Du skal ikke tænke mere på mig. Men du er velkommen til, at skrive i den her tråd senere hvis du har lyst. Så laver jeg bare en fortsættelse i et nyt spørgsmål. Ret skal være ret :)

Men tænk ikke mere på det.

/Kasper
Avatar billede kasper_knaldperle Nybegynder
07. november 2005 - 14:49 #16
aandersen--> OK...så tager jeg lidt af dem selv :D
Det kan godt være at det kan laves fiksere, men det virker og jeg tvivler på, at det lægger hele db'en ned ved en fejltagelse.

Tak for hjælpen

/Kasper
Avatar billede -anders- Juniormester
07. november 2005 - 14:51 #17
Selv tak og tak for point, forsat god arbejdslyst med projektet
Avatar billede kasper_knaldperle Nybegynder
07. november 2005 - 14:53 #18
Takker...og det er ikke sidste I hører fra mig omkring det ;)
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