Avatar billede fqthjoe Nybegynder
27. september 2002 - 20:09 Der er 2 kommentarer og
2 løsninger

list/combobox fra access-base

Hej eksperter
Prøver nu at stille spørgsmålet her..efter mange timers forsøg selv :-(...
Føst min konfig:
AccesDatabase - felter:
Navn -    Textfelt - Tabel1
Adresse - Textfelt - Tabel1
Køn    - Textfelt - Tabel2 (Liste:Mand/kvinde)
I tabel1 henter den så "opslag" fra Køn (Tabel2)
Alt virker fint i access :-)
VisualBasic:
Lavet to ADODC connection med Microsoft.Jet.OLEDB.4.0
Forbundet Navn, Adresse i "textboxe" (TABEL1) Alt virker..
Så har prøvet at lave både en ListBox og ComboBox (TABEL2) og feltet "Køn". Men her kommer så problemet.. Der kommer kun den føste valgmulighed frem..I mit tilfælde "Mand", men ikke "Kvinde".
Er der en der kan beskrive en løsning elle et simel eksempel skridt for skridt ?.
Jeg har også istedet prøvet at udfylde "LIST" under properties for min list/combo-box og istedet lavet et alm. textfelt i min accesbase.. Det virker fint, men har så problemer hvis jeg vil tilføje nye valgmuligheder, f.eks. dreng/pige... fra mit VB-prg. Har prøvet med AddItem.. (Combo1.AddItem Text3.Text)
Giver 200 points.. til den der kan hjælp..er nemlig snart træt af det ikke virker :-(
Avatar billede kjeld_klit Nybegynder
27. september 2002 - 21:52 #1
"Har prøvet med AddItem.. (Combo1.AddItem Text3.Text)"

Lidt svært at se hvad der går galt, men hvis du bare får første post op i comboboksen kunne det tyde på at du ikke "bladre" tabellen igennem??
... MoveFirst
    Do Until Recordset.EOF = True
    Combo1.AddItem Recordset("Tabel2")
... MoveNext
Avatar billede tubber Juniormester
27. september 2002 - 22:15 #2
Du kan også lave det sådan her.
Du skal bruge referencen Microsoft DAO 3.51 eller 3.6

Dim ws As Workspace
Dim db As Database
Dim rs As Recordset
Dim dbID as String

Set ws = Workspaces(0)
Set db = ws.OpenDatabase(App.Path & "\database.mdb")
Set rs = db.OpenRecordset("SELECT * FROM tabel1")
If Not rs.EOF Then
    rs.MoveFirst
    Do While Not rs.EOF
        Text1.Text = rs!Navn
        Text2.Text = rs!Adresse
        dbId = rs!TableID
    Loop
End If

Set ws = Workspaces(0)
Set db = ws.OpenDatabase(App.Path & "\database.mdb")
Set rs = db.OpenRecordset("SELECT * FROM tabel2")
If Not rs.EOF Then
    rs.MoveFirst
    Do While Not rs.EOF
        If dbId = TableId then
            Text3.Text = rs!koen
        End If
    Loop
End If
End Sub

Det kan godt være den skal pudses lidt af, for jeg kan jo ikke se helt hvordan din db er lavet med primær nøgle osv.

TableID er et ID der så skal være i begge tabeller og være ens i de poster der hører sammen :O)

/Tubber
Avatar billede fqthjoe Nybegynder
28. september 2002 - 19:18 #3
Hej Tubber.
Der kommer desværre fejl ved linien:
Set ws = Workspaces(0)
"Invalid OutSide Procedure".
Jeg har sat en reference i "project/reference" til MS DAO 3.6.
Skal jeg stadig have en MS ADO Control ?
Kan du hjælpe mig videre ? eller rettere vil du ?
Avatar billede tubber Juniormester
02. oktober 2002 - 09:40 #4
Jeg tror ikke du skal have en MS ADO control....

Kan du ikke maile mig den nye kode ?
smolf@venner.dk

/Tubber
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
Kurser inden for grundlæggende programmering

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