21. september 2004 - 19:17Der er
8 kommentarer og 2 løsninger
Type mismatch fejl - hvorfor?
Hej eksperter
Jeg erklærer en global variabel med Public Kontaktpertsonarray
Jeg har koden:
SqlSTR = "Select * from skontaktpersoner ORDER BY navn, kundeid" Trs.Open sqlSTR, conn, 3, 3 t = 0 Do While Not trs.EOF t = t+1 reDim Preserve Kontaktpersonarray(1,t) kontaktpersonarray(0,t-1) = Trs("kontaktid") Kontaktpersonarray(1,t-1) = Trs("navn") Trs.Movenext Loop Trs.Close
I linien med reDim Preserve Kontaktpersonarray(1,t) får jeg fejlen Type mismatch - kan nogen forklare hvorfor?
Hvis jeg erklærer med dim - kan jeg så referere til arrayet på en anden side? (meningen er at jeg vil indlæse data i et array og bruge dette array globalt i dropdowns - istedet for at skulle gennemløbe recordsettet hver gang)
Hej eagleeye, tak for forslag. Hvis jeg ændre Public til redim, så får jeg ikke type mismatch fejl MEN:
Arrayet indeholder kun én post - selvom tabellen har 3771 poster. Hvis jeg laver en for t = 0 to ubound(kontaktpersonarray) efter løkken (se koden i spørgsmålet) så skriver den kun en post!
En anden ting er, at hvis jeg fra en anden side, referere til kontaktpersonarray, så ser det ud som om, at arrayet er tomt!
Det jeg gerne ville med koden/arrayet, var at indlæse posterne i et array, når brugeren logges på, og derefter bruge arrayet i dropdowns. Herved sparer jeg den tid det tager at indlæse posterne, hver gang siden loades. Hvis så kontaktpersonerne ændres eller der oprettes en ny, så opdatere jeg arrayet.
Hvordan ville du løse denne problematik - andre måder end array?
P.S jeg logger af nu, men går online igen senere iaften, for at se om jeg kan være så heldig at få fler af dine fantastiske forslag. På forhånd tak.
Hej eagleeye, Din indsats er enorm prisværdig! Jo - nu indeholder array'et poster MEN:
I den .inc fil, hvor posterne indlæses i arrayet, vises de - men hvis jeg referere til arrayet fra en anden side, så er det tomt! Med andre ord: For t = 0 to ubound(kontaktpersonarray,2) virker "lokalt" men ikke globalt!
Problemet virker total ulogisk, idet henvisningerne til, hvordan man bruger arrays, redim o.s.v tilsyneladende ikke virker efter hensigten. Jeg er ikke indstillet på at gå på komprommis med god programmeringsskik. Jeg vælger derfor at lave en button, som man kan klikke på og derpå får vist en liste, man kan vælge i. Altså en anden (selvudviklet) dropdown, som først eksekvere indlæsningen af poster fra recordsettet, når man specifik beder om det.
Du skal - selvom jeg ikke fik det løst - have nogle points - så skal vi ikke dele puljen? Send et svar - din iver og indsats er som sædvanlig prisværdig.
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.