Avatar billede themepark Nybegynder
20. oktober 2003 - 18:10 Der er 11 kommentarer og
1 løsning

Gennemkørsel af felter

Hvordan kan jeg, uden at kende felternes navne, køre igennem dem med en løkke?

F.eks. hvis jeg har følgende tabel i Access:

Tal1  Tal2  Tal3 (Felt navne)
1    4    7
2    5    8
3    6    9

Så vil jeg køre en løkke 3 gange, hvor jeg først får adgang til tallene 1,2 og 3 osv. men uden at skulle referere til feltnavnene.

Argh...det er ikke nemt at forklare :(
Avatar billede themepark Nybegynder
20. oktober 2003 - 18:11 #1
Det skal siges, at jeg selvfølgelig snakker om VBA :)
Avatar billede terry Ekspert
20. oktober 2003 - 18:23 #2
you make a recordset and then use the recordsets fields property object

YourRecordset.Fields(0) 'This is the first field in the recordset

and because you need to do things three times you need to movefirst or close the recordset and open it again for the next field(s)
Avatar billede terry Ekspert
20. oktober 2003 - 18:23 #3
.
Avatar billede themepark Nybegynder
20. oktober 2003 - 18:35 #4
Okay, men hvordan kan jeg så få antallet af felter i den tabel oplyst?
Avatar billede terry Ekspert
20. oktober 2003 - 18:52 #5
YourRecordset.Fields.count
Avatar billede themepark Nybegynder
20. oktober 2003 - 19:20 #6
Okay, en sidste ting...når jeg nu bruger en tæller sammen med Fields(), hvordan får jeg så den post, markøren står ved lige nu? Normalt plejer det jo at være YourRecordset("PostNavnet"), men det kan jeg jo så ikke gøre her :(
Avatar billede terry Ekspert
20. oktober 2003 - 19:29 #7
Now I'm really lost!

You first ask for help on how to loop through a (tables) fields WITHOUT knowing the names and number of fields and now you want to know the field you are currently on!

Are we now talking forms or what?
Avatar billede themepark Nybegynder
20. oktober 2003 - 19:32 #8
Nej ikke feltet, men posten. F.eks. ved første loop (altså ved Fields(0)), vil jeg vha. en Do...Loop gerne have værdien for hver enkel post i det første felt, men da jeg ikke kender navnet på feltet, kan jeg jo ikke bruge den sædvanlige metode med PostSæt("FeltNavnet")
Avatar billede terry Ekspert
20. oktober 2003 - 19:44 #9
for 30 points you have to do something yourself! This is for the first field only!

Dim rs As ADODB.Recordset
   
    Set rs = New ADODB.Recordset
    '
    With rs
        Set .ActiveConnection = CurrentProject.Connection
       
        .Open "Select * From YourTable"
   
       
        Do Until .EOF
          debug.print rs.fields(0)
          .movenext
        Loop

    End With
   
    rs.Close
    Set rs = Nothing
Avatar billede themepark Nybegynder
20. oktober 2003 - 20:04 #10
Det har da intet med at gøre det selv at gøre. Jeg ville blot gerne vide, hvordan man fik fat i den aktuelle post uden at kende navnet...men det tror jeg egentlig jeg har fundet ud af nu.
Avatar billede terry Ekspert
20. oktober 2003 - 20:13 #11
I thought I gave the answer here

YourRecordset.Fields(0) 'This is the first field in the recordset
Avatar billede themepark Nybegynder
20. oktober 2003 - 20:19 #12
Ja, MEN jeg troede kun, det gav navnet på det første felt, og ikke værdien af den aktuelle post :)
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