Avatar billede dc Nybegynder
17. marts 2004 - 14:14 Der er 14 kommentarer og
4 løsninger

VBA Editor: Data fra tabel kolonne til array

Hvor kan man skrive noget kode som henter alt data fra en bestemt tabel og kolonne ind i et array?
Avatar billede hubs Nybegynder
17. marts 2004 - 14:32 #1
Du laver bare et recordset baseret på din tabel, som du så looper igennem mens du skriver til array'et
Avatar billede hubs Nybegynder
17. marts 2004 - 14:32 #2
dette kan evt. gøres ved <tryk> på en knap
Avatar billede dc Nybegynder
17. marts 2004 - 14:46 #3
ok, men jeg er ikke så stærk i kode, så hvordan gør man?
Avatar billede hubs Nybegynder
17. marts 2004 - 15:23 #4
Er ikke helt sikker på syntax'en men du kan gøre noget i retning af:

Dim Array(antal felter) As Variant
strSQL = "Select [KolonneNavn] From [TabelNavn]"
Set rsTable = CurrentDb.OpenRecordset(strSQL)

If rsTable.EOF And rsTable.BOF Then GoTo Exit
rsTable.MoveLast
rsTable.MoveFirst
x = 1
While Not rsTable.EOF
Array(x) = rsTable.Fields(x)
x = x + 1
rsTable.MoveNext
Wend
Avatar billede terry Ekspert
17. marts 2004 - 15:39 #5
try looking at the getstring method of the recordset, this will save you having to loop through the recordset as it inserts the recordset directly into an array!
Avatar billede nih Novice
17. marts 2004 - 15:45 #6
eller getrows i dao
Avatar billede nih Novice
17. marts 2004 - 15:46 #7
Avatar billede dc Nybegynder
20. marts 2004 - 13:26 #8
Jeg kan stadig ikke finde ud af det :-/
hjælp...
Avatar billede terry Ekspert
20. marts 2004 - 16:49 #9
if you can send your dB to me then I can see what the problem is.
NOSPAMeksperten@santhell.dkNOSPAM

remove NOSPAM
Avatar billede dc Nybegynder
22. marts 2004 - 09:53 #10
Jeg har desværre ikke mulighed for at sende databasen
Avatar billede dc Nybegynder
22. marts 2004 - 11:19 #11
Jeg har prøvet med:

    Dim rRS As Recordset, sSQL$, lX&, sData$, iMin&, iMax&, iCount%
    sSQL = "SELECT * FROM " & "Observations" ' & ";"
    Set rRS = CurrentDb.OpenRecordset(sSQL)
    lX = 1  ' initialize x
    With rRS
        If Not .BOF Then .MoveFirst
        While Not .EOF
            .MoveNext
            lX = lX + 1
        Wend
    End With

Men får fejlen:
"Type Mismatch" i linien    Set rRS = CurrentDb.OpenRecordset(sSQL)

Hvad er der galt?
Avatar billede dc Nybegynder
22. marts 2004 - 13:39 #12
lukket
Avatar billede terry Ekspert
22. marts 2004 - 18:57 #13
tak!
Avatar billede hubs Nybegynder
29. marts 2004 - 08:32 #14
Halløj ked af jeg ikke har svaret men er lige kommet tilbage fra skiferie.

Der er i hvert fald noget galt med din sSQL-sætning, så den skal du lige kigge på
Avatar billede dc Nybegynder
05. maj 2004 - 10:11 #15
Jeg har ikke mulighed for at sende databasen.
Avatar billede terry Ekspert
05. maj 2004 - 19:31 #16
dc>Although we would like to help, it isnt easy if you cant make use of the answers given.
Avatar billede hubs Nybegynder
06. maj 2004 - 10:36 #17
dc>> Hvor langt er du noget i processen, har du forsøgt dig med noget af det Terry, Nih eller jeg foreslog?

Som Terry siger vil vi naturligvis gerne hjælpe dig men du give os lidt feedback, evt. vise noget af din kode, så er det nemmere for os at guide dig :c)
Avatar billede hubs Nybegynder
14. maj 2004 - 12:49 #18
Er det mig eller er der ikke 2 spørgsmålstråde der er "sammensmeltet" her?
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