Avatar billede bics Nybegynder
02. april 2003 - 16:02 Der er 8 kommentarer og
1 løsning

Fejl når jeg sætter ListIndex

Hejsa,

jeg har 9 100% ens comboboxe i en form (eneste forskel er selvfølgelig navnene + placeringerne).

Jeg har ingen problemer med at sætte "ListIndex = 3" på den første, men på de andre får jeg en fejl:

"Fejl: Du har brugt egenskaben ListIndex forkert."

Jeg har selvfølgelig sikret mig at der er elementer nok i listen (der er 8).

Det skal siges at det er comboboxe lavet i Access-formular.
Avatar billede joern Nybegynder
02. april 2003 - 17:49 #1
Hej.

Det fremgår ikke klart af dit spørgsmål hvad listeboksene hedder.

list2.listindex = 3
list3.listindex = 4

Hjælper det?  Ellers formuler spørgsmålet for dummies.

M.v.h.  Jørn
Avatar billede tjacob Juniormester
02. april 2003 - 19:23 #2
Hvis det er et array du har skal du jo huske indexet:

    Combo1(x).ListIndex = 3

DVS at click eventen er fælles:

Private Sub Combo1_Change(Index As Integer)

    Combo1(Index).ListIndex = 3

End Sub

 
/tjacob
Avatar billede bics Nybegynder
03. april 2003 - 08:22 #3
Hejsa,

og tak for svarene. For lige at uddybe det, så hedder 2 af comboboksene:

Kombinationsboks4 og Kombinationsboks6

Når jeg så laver denne her:

Kombinationsboks4.ListIndex = 0

så virker det fint, og det første element i Kombinationsboks4 bliver valgt.

Når jeg derefter prøve med:

Kombinationsboks6.ListIndex = 0

Så kommer fejlen. De 2 comboboksene er ens mht. properties, og er kun forskellige på navn + placering.
Avatar billede joern Nybegynder
03. april 2003 - 08:59 #4
Hej.

Jeg har lige afprøvet 2 combobokse i VB5, ingen problemer.  Ligger dine på samme form?  Ellers:  form1.kombinationsboks4.listindex = 0
                form2.kombinationsboks6.listindex = 0

Access anvender jeg ikke, er det en VBA-sag eller bruger du rigtig Visual Basic?

M.v.h.  Jørn
Avatar billede bics Nybegynder
03. april 2003 - 09:10 #5
Jep, de ligger på samme form.

Det er også første gang jeg er nød til at lave sådan noget i Access. Jeg vil tro at det er VBA, men er ikke 100% sikker på hvad forskellen er. Det er i hvertfald Alt+F11 fra Access af.

Eventuelt kan jeg jo prøve at smide de forskellige combobokse i et array som tjacob snakker om.
Avatar billede bics Nybegynder
03. april 2003 - 09:33 #6
Jeg kan lige tilføje at hvis jeg skriver ListIndex på de 2 combobokse ud lige inden jeg prøver at ændre den, er de begge -1
Avatar billede joern Nybegynder
03. april 2003 - 10:38 #7
Hej.

Når listindex er minus 1 betyder det, at listen endnu ikke har haft focus og at der derfor ikke er valgt nogen post.  Men det skulle ikke være påkrævet at give en liste focus for at indstille listindex.  Men du kan jo prøve det.
Kombinationsboks6.SetFocus
Kombinationsboks6.ListIndex = 0

Forskellen på VBA og VB er meget stor.  VB er et udviklings-miljø hvor du kan lave næsten enhver slags programmer og kompilere dem til selvstændige exe-filer.
VBA er et script-sprog til produkterne i Microsofts Office Suite.  Syntaksen er for en stor del fælles, men så ophører ligheden også.  Der er langt flere kommandoer, mulige paramtre og kontroller i VB.

Når det er VBA, må jeg melde fra.  Jeg skriver kun i VB.

M.v.h.  Jørn
Avatar billede bics Nybegynder
03. april 2003 - 12:58 #8
Hej joern,

jeg kender selv en del til VB, men var bare ikke sikker på hvor "meget VB" der var i VBA.

Men under alle omstændigheder ser det ud til at det virker hvis jeg først sætter focus, og derefter sætter listindex.

Så du får MANGE tak herfra, og selvfølgelig dine fortjente points :)
Avatar billede joern Nybegynder
03. april 2003 - 13:33 #9
Hej.

Selvtak, i VB var det altså ikke nødvendigt!  Men vi klarede den.

m.v.h.  Jørn
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
Kurser inden for grundlæggende programmering

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