Avatar billede puppetmaster Nybegynder
20. august 2004 - 10:27 Der er 13 kommentarer og
1 løsning

Værdi fra combo til liste

I en tabel har jeg følgende felter/data:

ID    Navn      Navn_Polsk    Navn_Engelsk
********************************************
1    Afvist    Odrzucone      Rejected
2    Andet    Inne          Other
3    T-mærket  Oznaczenie T  T-marked

Disse data vises i en comboboks, afhængigt af hvilket sprog brugeren har valgt fra menuen.
Comboboksen er bundet til kolonne 1 (ID feltet) og så kolonnen Navn (hvis Dansk er valgt) vha. VBA kode.
Det ser også fint ud og alt. Når man så vælger et element på comboboksen, kopierer VBA kode så værdien af elementet over i en listboks. Her opstår problemet!
Jeg får jo selvfølgelig overført værdien fra ID feltet, IKKE den værdi der vises i comboboksen. Jeg vil jo helst gerne vise det valgte Navn i listen, men så den stadig er bundet til ID feltet.
20. august 2004 - 10:33 #1
Hey Puppetmaster,

Hvis jeg forstår dig ret, så mangler du en måde at referere til kolonne 2, 3 eller 4 på?

Du kan bruge Me!Comboboks.Column(1) til at referere til kolonne 2 (TO, da Column() starter fra nul - dvs Me!Comboboks.Column(0) er første kolonne, Me!Comboboks.Column(1) er anden kolonne osv

Er det det, du mener?
Avatar billede puppetmaster Nybegynder
20. august 2004 - 10:38 #2
Well, ikke helt, tror jeg da! :)
I min comboboks vises værdierne
Afvist
Andet
T-mærket
, hvis jeg har valgt Dansk som sprog.
Disse værdier vil jeg have flyttet over i en listboks, men comboboksen er bundet til kolonne 1, som indeholder værdierne 1 2 og 3, hvilket er de værdier der flyttes over i listen.
Det ser jo ikke så smart ud.
(granted, de fleste kan nok hurtigt finde ud af at hvis der står 1 i listen, betyder det "første element i comboboksen")
20. august 2004 - 10:41 #3
ja, men der hvor du flytter værdierne over i listen, kan du skrive Me!comboboks.Colom(1) i stedet for blot Me!comboboks (eller hvordan din kode eller SQL nu ser ud)
Avatar billede puppetmaster Nybegynder
20. august 2004 - 10:45 #4
Nå ja, så får jeg da i det mindste vist de rigtige værdier. Så mangler jeg bare at "få fat i det til feltet Navn hørende ID numre".
20. august 2004 - 10:46 #5
men det vil jo altid være Me!comboboks

Men jeg er
20. august 2004 - 10:46 #6
...slet ikke klar over hvordan du flytter dem over?
Kan du vise koden?
Avatar billede puppetmaster Nybegynder
20. august 2004 - 10:51 #7
Koden med dine modifikationer:

  If [kriterie4 liste].ListCount > 0 Then
    [kriterie4 liste].RowSource = [kriterie4 liste].RowSource & ";" & [kriterie4 combi].Column(1)
  Else
    [kriterie4 liste].RowSource = [kriterie4 combi].Column(1)
  End If
20. august 2004 - 11:21 #8
Har din [kriterie4 liste] ikke 2 kolonner? En skjult og en vist? Altså kolonnebredden sat til 0

Derved skulle koden se såleds ud:
If [kriterie4 liste].ListCount > 0 Then
    [kriterie4 liste].RowSource = [kriterie4 liste].RowSource & ";" [kriterie4 combi] & ";" & [kriterie4 combi].Column(1)
Else
    [kriterie4 liste].RowSource = [kriterie4 combi] & ";" & [kriterie4 combi].Column(1)
End If
Avatar billede puppetmaster Nybegynder
20. august 2004 - 12:00 #9
Jeg KAN simpelthen ikke få det med kolonnerne til at fungere! :(
Jeg sætter egenskaben AntalKolonner til 2 på listboksens egenskaber-ark.
I VBA koden bruger jeg
[kriterie4 liste].ColumnWidths = "0cm;2cm"
til at få vist kolonne 2 og skjule kolonne 1.
men det virker ad helvede til.
20. august 2004 - 12:22 #10
Stod der noget på Kriterie3 liste inden du satte 2 kolonner på?

Du er velkommen til at prøve at sende den til mig (skriv lige hvilken formular)
Avatar billede puppetmaster Nybegynder
20. august 2004 - 13:52 #11
Koden som fjerner et element på listen ved dbl-klik:

Private Sub kriterie4_liste_DblClick(Cancel As Integer)
  Dim i As Integer, j As Integer, elementer As String
 
  elementer = ""
  j = 0
  For i = 0 To [kriterie4 liste].ListCount - 1
    If Not [kriterie4 liste].Selected(i) Then
      If j > 0 Then elementer = elementer & ";"
      elementer = elementer & [kriterie4 liste].Column(0, i)
      j = j + 1
    End If
  Next
  [kriterie4 liste].RowSource = elementer
End Sub
Avatar billede puppetmaster Nybegynder
20. august 2004 - 15:00 #12
Jeg har mingeleret lidt rundt med koden og nu har jeg noget jeg kan bruge. Den tabel hvori de i comboboksen valgte værdier gemmes, skal bare renses når formularen åbner, så brugere i Polen ikke bliver mødt med danske værdier (so to speak!)
Avatar billede puppetmaster Nybegynder
20. august 2004 - 15:00 #13
Takker for hjælpen, Thomas, det var en sej omgang.
20. august 2004 - 15:02 #14
Godt, at det lykkedes...jeg havde i hvert fald selv lidt svært ved at gennemskue fejlen, når jeg ikke selv sad med db'en.
Tak for point :o)
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