Avatar billede al_pacone Nybegynder
18. oktober 2006 - 02:59 Der er 9 kommentarer og
1 løsning

ADODB.Recordset ind i en ComboBox

Hvordan får jeg nemmest mit ADODB.Recordset med to kolonner ind i min ComboBox?
Avatar billede bak Forsker
18. oktober 2006 - 10:46 #1
overfør dit recordset til en variant og indsæt det så i comboboxen

Lav en global variabel VA
Public VA as Variant

overførsel
VA = Application.Worksheetfunction.Transpose(RS)

Indsættelse

Private Sub UserForm_Initialize()
ComboBox1.ColumnCount = 2
ComboBox1.List = VA
End Sub
Avatar billede al_pacone Nybegynder
18. oktober 2006 - 23:10 #2
Jeg får følgende fejl.

Run-time error '1004'
Application-defined or object-defined error

i linjen
VA = Application.Worksheetfunction.Transpose(RS)

Skal variablen være global?
Har prøvet både lokal og global, uden held.
Avatar billede bak Forsker
18. oktober 2006 - 23:21 #3
Den skal være Public og dimensioneret i et alm. modul.

Har du stadig problemer så send hele koden herind eller send den til mig
excel snabela tbdl.dk
Avatar billede al_pacone Nybegynder
18. oktober 2006 - 23:34 #4
Her er hele koden, med en global variabel VA i et modul.

Private Sub UpdateAfdeling()
  On Error GoTo errHandler
  Dim lSql As String
  Dim lConn As ADODB.Connection
  Dim lRs As ADODB.Recordset
  lSql = "Select * From MinTabel"
  Set lConn = New ADODB.Connection
  lConn.ConnectionString = Min SQL database
  lConn.Open
  Set lRs = New ADODB.Recordset
  lRs.Open lSql, lConn, adOpenDynamic, adLockReadOnly
  If Not lRs.EOF Then
    cboAfdeling.Clear
    VA = Application.WorksheetFunction.Transpose(lRs)
    cboAfdeling.List = VA
  End If
errHandler:
  ' Ingen fejlhåndtering
  lConn.Close
  Set lRs = Nothing
End Sub
Avatar billede bak Forsker
19. oktober 2006 - 00:10 #5
Kan ikke umiddelbart se noget der skulle give anledning til denne fejl.

Prøv lige at dimme VA i selve subben istedet.
Avatar billede al_pacone Nybegynder
19. oktober 2006 - 00:12 #6
Har prøvet at lave variablen lokal, uden held.
Avatar billede bak Forsker
19. oktober 2006 - 14:28 #7
Udskift denne linie
VA = Application.WorksheetFunction.Transpose(lRs)

med

VA = Application.WorksheetFunction.Transpose(lRs.GetRows)

så skulle det køre
Avatar billede bak Forsker
19. oktober 2006 - 14:31 #8
Hvis du gør sådan behøver du ikke VA

cboAfdeling.List = Application.WorksheetFunction.Transpose(lRs.GetRows)
Avatar billede al_pacone Nybegynder
19. oktober 2006 - 15:11 #9
Alletiders.
Det var lige den sidste "GetRows" der skulle til.

Tak for hjælpen.
Avatar billede bak Forsker
19. oktober 2006 - 15:26 #10
ok :-)
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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

IT-JOB