Avatar billede cole Nybegynder
12. marts 2001 - 16:00 Der er 10 kommentarer og
1 løsning

ADO og combobox

Jeg har lavet en databasetabel i Access og vil i forbindelse med et program sammnkæde den med ADO datakontrol. Hvordan gør jeg det så jeg kan få en liste ud på formen og hvordan kan man pege på en data i tabellen.
Avatar billede jennemaan Nybegynder
13. marts 2001 - 09:22 #1
Antaget at din datakontrol hedder Adodc1
strConnectionString = \"Driver={Microsoft Access Driver (*.mdb)};dbq=c:\\dinaccessfil.mdb;uid=Admin;pwd=\"
strSQL=\"Select * From dinaccesstabel\"
With Adodc1
  .ConnectionString = strConnectionString
  .RecordSource = strSQL
End With


Nu kan du f.eks. tilføje et msflexgrid til din form og skrive følgende i form load:

Set msflexgrid1.DataSource=Adodc1


Så skulle du meget gerne få flexgrid\'et fyldt med data fra dinaccesstabel-tabellen.

Istedet for at bruge en ADO datakontrol kan du gøre følgende.

I Form load skriver du:

Dim adoConn as object
Dim adoRST as object

Set adoConn=CreateObject(\"ADODB.Connection\")

adoConn.Open \"Driver={Microsoft Access Driver (*.mdb)};dbq=c:\\dinaccessfil.mdb;uid=Admin;pwd=\"

Set adoRST=adoConn.Execute(\"Select * From dinaccesstabel\")
Set msflexgrid1.Datasource=adoRST





/Jennemaan
Avatar billede cole Nybegynder
14. marts 2001 - 21:35 #2
Dit svar er lidt uforståeligt. Jeg går ud fra at jeg skal bruge min sti og databasenavn i stedet for dinaccessfil.mbd. Jeg kan ikke skrive hele stringen uden at få en masse røde fejl. Gider du uddybe hvad der sker i mellem tuborgparnteserne. Hvad er dbq for en variabel.
Når du skriver dinaccesstabel hvilke værdi mener du så?
Avatar billede jennemaan Nybegynder
14. marts 2001 - 22:26 #3
Istedet for \"dinaccessfil.mdb\" skriver du den fulde sti til den accessfil du vil åbne.

\"dinaccesstabel\" er navnet på den tabel i din access-database du vil åbne.

Din connectionstring (den som står efter adoConn.Open) er den der fortæller ado, hvilken driver den skal bruge, hvilken database den skal bruge og evt. brugerid og password.

\"Driver={Microsoft Access Driver (*.mdb)};\" fortæller ado at du vil bruge access
\"dbq=c:\\dinaccessfil.mdb;\" angiver stien til databasen.
\"uid=Admin;pwd=\" angiver brugerid og pw.

dbq er specifik for access driveren.

Hvis du f.eks. ville i kontakt med en sql-server ville strengen se således ud:
\"Driver={Microsoft SQL Server};\"
\"Server=Servernavn;\"
\"Database=Databasenavn;\"
\"uid=sa;pw=\"

Håbder du får det til at virke :o)

/Jennemaan
Avatar billede cole Nybegynder
22. marts 2001 - 19:18 #4
Jeg kan stadig ikke få skidtet til at virke Min database er access 2000 og jeg har opdateret med Visual Basic sp4.
I min ADO datakontrol bruger jeg derfor ikke ODBC data kilde navn men Provider=Microsoft.Jet.OLEDB.4.0 for ellers kan jeg ikke få datakontrollen til at læse access databasen. Men jeg kan ikke pege eller styre hvis jeg vil have en liste ud i en combobox hvor en enkelt række i tabellen skal vises. Og jeg har også problemer med DataGrid kontrollen 6.0 (sp4)som som jeg kun har fået til at virke ind til jeg  begyndte at rette i antallet af kollonder og kolondebredden.

Jeg tror nok at det du har beskrevet passer hvis jeg bruger access 97 format.
Håber du forstår mit problem.
Avatar billede jennemaan Nybegynder
23. marts 2001 - 10:14 #5
Forstår ikke helt problemet...?

Skal comboboksen styre hvilken række i tabellen der er markeret eller hvad?
Avatar billede cole Nybegynder
23. marts 2001 - 16:58 #6
Comboboksen skal ikke styre noget men kun vise indholdet af en specifik række. Men hvordan specificere man hvilke kollonne som man vil have vist i comboboksen. (Undskyld jeg skrev hvis række sidste gang). Jeg kan godt få ADO datakontrollen til at arbejde sammen med tekstfelter, label og DataGrid selv om jeg ikke helt kan styre DataGrid andg. Læse, skrive eller slette.
Avatar billede cole Nybegynder
05. april 2001 - 06:10 #7
Jeg har nu prøvet din metode hvor manikke åbner en ADO datakontrol først. Men får jeg prøver programmet får jeg en fejlmelding på at \"Microsoft ODBC Driver Manager ikke fundet og standart driver ikk fundet\" Har jeg en opsætningsfejl?
Avatar billede jennemaan Nybegynder
05. april 2001 - 12:23 #8
prøv følgende:

under win 95, 98, nt4
Kontrolpanel->ODBC Datasources

under win 2000
Start->programs->Administrative Tools > ODBC Datasources

vælg system dsn

Tilføj, vælg access driver og peg på din databasefil. Kald den f.eks. testdsn

Så burde du kunne skrive
strSQL=\"Select * From dinaccesstabel\"
With Adodc1
  .ConnectionString = \"testdsn\"
  .RecordSource = strSQL
End With

/Jennemaan

Avatar billede cole Nybegynder
08. april 2001 - 09:18 #9
Jeg har nu endelig langt om længe fået det til at køre fejlfrit, du har været en stor hjælp.

Men hvordan kan jeg bladre i record.
Jeg har skreved følgende programkoder:

Dim adoConn As Object
Dim adoRST As Object
Dim ADOforbindelse As String
 
Set adoConn = CreateObject(\"ADODB.Connection\")
ADOforbindelse = \"Driver={Microsoft Access Driver (*.mdb)};\"
ADOforbindelse = ADOforbindelse & \"dbq=\" & gstrHovedgruppeLocation & \";\"
ADOforbindelse = ADOforbindelse & \"uid=Admin;\"
ADOforbindelse = ADOforbindelse & \"pwd=\"
 
adoConn.Open ADOforbindelse
 
Set adoRST = adoConn.Execute(\"Select Kontogruppe From Hovedgruppe


\'bladre i recordkoder?
Avatar billede jennemaan Nybegynder
08. april 2001 - 18:29 #10
adoRST.Movenext :o)

/Jennemaan
Avatar billede cole Nybegynder
09. april 2001 - 05:52 #11
Det er da klart, det er kun fordi programmet ikke foreslår de valgmuligheder selv. Tusind tak.
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