Avatar billede maui Nybegynder
04. september 2003 - 14:37 Der er 9 kommentarer og
1 løsning

Data fra database til combobox

Hvordan opretter man en combobox, så den henter data fra en access database?

Jeg skal bruge en liste over datoer (se evt. spgm. 396275), og udfra datoen hentes flere oplysninger.
Avatar billede hcm Nybegynder
04. september 2003 - 14:44 #1
Hvorfor i excel? Access er som skabt til det :D
Alternativt, skab datagrundlaget i access, og hent det til excel via en query som du kan filtrere
Avatar billede bak Forsker
04. september 2003 - 15:39 #2
Option Base 1
Public liste()

Sub GetTable()
Dim Db As Database
Dim Rs As Recordset

Dim Database As String
Dim Tabel As String
Dim sqlstr As String

Dim var()
Dim x As Long
'Her indsætter du navn og sti på din accessdatabase
Database = "c:\testdatabase.mdb"
'Her tabelnavn
Tabel = "Lager&salg"

sqlstr = "SELECT * FROM " & Tabel & ";"
'*** Hent data ***
Set Db = Workspaces(0).OpenDatabase(Database, ReadOnly:=True)
Set Rs = Db.OpenRecordset(sqlstr)
x = 1
With Rs
        If Not .BOF Then .MoveFirst
        While Not .EOF
            ReDim Preserve var(x)
            var(x) = .Fields("Dato")
            .MoveNext
            x = x + 1
        Wend
End With
liste = Application.WorksheetFunction.Transpose(var)
'*** luk databasen igen ***
Rs.Close
Db.Close
End Sub


Sub Auto_Open()
Call GetTable
Sheets(1).ComboBox1.List = liste  'overfør listen til combobox1 på sheet1
End Sub
Avatar billede maui Nybegynder
04. september 2003 - 16:28 #3
Jeg kan desværre ikke få det til at køre, får flg fejl:
Run-time error '13':

Type mismatch

og så markerer den,
Set Rs = Db.OpenRecordset(sqlstr)
Avatar billede bak Forsker
04. september 2003 - 16:31 #4
Har du sat det rigtige tabelnavn ind hvor der står
Tabel = "Lager&salg"
Avatar billede maui Nybegynder
05. september 2003 - 09:18 #5
Ja, kan ikke se hvad der er galt.
Avatar billede bak Forsker
05. september 2003 - 10:38 #6
Det kan jeg heller ikke. Det virker bare godt her.
Smid lige din kode ind....
Avatar billede maui Nybegynder
05. september 2003 - 11:21 #7
hmmm!!
skiftede computer og smed koden ind i et nyt excelark, og nu virker det.

har dog et nyt problem, da jeg ændrede database opbygningen, figurerer samme dato flere gange. Hvordan kan jeg undgå, at samme dato optræder flere gange i comboboxen?
Avatar billede bak Forsker
05. september 2003 - 11:53 #8
indsæt dette istedet
sqlstr = "SELECT DISTINCT Dato FROM " & Tabel & ";"

distinct betyder at den skal tage unikke datoer
Avatar billede maui Nybegynder
08. september 2003 - 09:29 #9
Stort!!
det virker perfekt.

Vil du ha' point??
Avatar billede bak Forsker
08. september 2003 - 11:16 #10
tjae, hvorfor ik' :-)
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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