Avatar billede jsl Nybegynder
26. marts 2002 - 23:35 Der er 6 kommentarer og
1 løsning

Udskriv poster i en list vha vba

Dette script fungere i Access 97, ved at hente posterne i felt(0) i tabel TblAdr, og udskrive dem i debug.
Hvordan får jeg dem udskrevet i Liste0?
Jeg ved godt det kan gøres lettere, men nu skal det her prøves.

Sub OpenRecordsetX()
Dim dbs As Database, rs As Recordset, sql As String
Set dbs = CurrentDb
Set rs = dbs.OpenRecordset("TblAdr ", dbOpenForwardOnly)

With rs
Do While Not rs.EOF
Debug.Print , rs.Fields(0)
rs.MoveNext
Loop
End With

rs.Close
Set rs = Nothing
End Sub
27. marts 2002 - 07:47 #1
Hvis du sætter LIste0's Rækkekildetype til Værdiliste, burde du kunne gøre således:

Sub OpenRecordsetX()
Dim dbs As Database, rs As Recordset, sql As String
Set dbs = CurrentDb
Set rs = dbs.OpenRecordset("TblAdr ", dbOpenForwardOnly)


  Do While Not rs.EOF
    SQL = SQL & rs.Fields(0) & "; "
    rs.MoveNext
  Loop
  SQL = Left(SQL, Len(SQL)-2)

rs.Close
Set rs = Nothing
Me!Listeo.Rowsource = SQL

End Sub
27. marts 2002 - 07:52 #2
Men Hov!?? Hvorfor sætter du ikke bare listens Rowsource til at pege på din TblAdr?
27. marts 2002 - 07:53 #3
Derved behøver du ikke en eneste linie kode...
Avatar billede jsl Nybegynder
27. marts 2002 - 10:56 #4
Det er fordi, jeg er ved at lave et eksamensprojekt, hvor jeg skal anvende løkker, så så jeg det her som en mulighed.
Avatar billede jsl Nybegynder
27. marts 2002 - 13:47 #5
Posterne bliver ikke udskrevet i listen. Der kommer ingen fejl. Hvad kan der mon være galt?
Avatar billede jsl Nybegynder
27. marts 2002 - 14:30 #6
Nu virker koden tildels, men fields(0) bliver bare udskrevet vandret i liste0. Den skal udskrives lodret i kolonne 1. Fields(1) skal udskrives i kolonne 2 osv. Er det til at lave?
27. marts 2002 - 16:58 #7
Hvormange kolonner er listen sat til at have?
Egenskaben "Antal Kolonner" skal sættes til 1.

Ellers prøv at udskifte ; med komma i sætningen: SQL = SQL & rs.Fields(0) & "; "

Hvis det heller ikke virker, så prøs at erstatte hele koden med dette:

Sub OpenRecordsetX()
Dim dbs As Database, rs As Recordset, sql As String
Set dbs = CurrentDb
Set rs = dbs.OpenRecordset("TblAdr ", dbOpenForwardOnly)


  Do While Not rs.EOF
    SQL = SQL & "'" & rs.Fields(0) & "'; "
    rs.MoveNext
  Loop
  SQL = Left(SQL, Len(SQL)-2)

rs.Close
Set rs = Nothing
Me!Listeo.Rowsource = SQL

End Sub
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