21. februar 2001 - 16:30Der er
22 kommentarer og 2 løsninger
Dim whatever As Database .. !?
Hvilken reference skal man bruge i sit program for at kunne dimme noget as Database ? Eller med andre ord, hvordan kan jeg oprette en ny Access database i VB ?
Kan man ikke nøjes med at oprette en Connection gennem ADO og så oprette den der i gennem ? Jeg mener jeg så det blive brugt i et VBScript engang men kan ikke huske om det var gennem et ADODB komponent eller... Oh well, det kunne måske være et spor...
Jeg tog vidst fejl... har lige surfet MSDN tyndt uden at finde noget (hvad ADO angår). Kan man ikke bare Base64 encode en tom Access database til en string og så \"pakke\" denne ud når der skal bruges en ny database ? Eller retter; ville det være en brugbar løsning ?
tdaugaard> Jeg ved ikke, om det er dette du søger, men her er et lille udklip :
START CUT&PASTE
\' Create a reference to daoTable2 indirectly, \' as a dependent object of the DAO DBEngine object. Dim daoDBE As DAO.DBEngine Dim daoWs As DAO.Workspace Dim daoDb As DAO.Database Dim daoTable2 As DAO.TableDef
Set daoDBE = DAO.DBEngine Set daoWs = daoDBE.Workspaces(0) Set daoDb = daoWs.CreateDatabase(\"db1.mdb\", _ dbLangGeneral) Set daoTable2 = daoDb.CreateTableDef(\"Table2\")
stargate: kan du gennemskue hvordan man opretter en native Access2000 db med CreateDatabase. Så vidt jeg har kunne finde ud af kan man definere dbVersion10, ..11, ..20 og ..30 hvor det sidste er default. Dette bruger så Jet 3.x engine. Men for at bruge Access2000 skal man såvidt jeg ved bruge Jet 4.0. Jeg har prøvet med dbVersion40 men det virker ikke. Heller ikke med hardcode (64), altså med udgangspunkt i dit eksempel:
Set daoDb = daoWs.CreateDatabase(\"db1.mdb\", dbLangGeneral, 64)
idet dbVersion30 = 32 og dbVersion20 = 16
Any ideas? Jeg har VB6/SP4.
Jeg har i øvrigt et komplet working example (fra Wrox\' Beginning VB 6 Databse Programming) hvis nogen skulle være interesseret. Inkluderer oprettelse af tabeller, felter og relationer.
cstern> der står faktisk noget om dette (er jeg sikker på) i de docs jeg sendte tdaugaard, så dem kan jeg mail\'e dig i eftermiddag, hvis du er interesseret. Jeg vil gerne se det x-ample du har....
stargate: Giv mig din e-mail add så sender jeg det. Jeg har i mellemtiden løst det andet problem. Det var når man referer til MS DAO 3.51 Object Library i projektet så bliver det en Access97 database. Nu har jeg lavet det om til DAP 3.6 - så bliver det Access2000 som standard!
Mht eksemplet skal man have et katalog der hedder C:\\BegDB (eller ret i koden) til databasen.
Jette: jeg sender det. Husk at rette ovenstående hvis du vil have Access2000.
Lige en note: Når man bruger ovenstående DAO 3.6 Library er dbVersion40 defineret (og har som forventet værdien 64). Og denne type benyttes som default.
tdaugaard > Sku\' det være en anden gang.... cstern > Nice Guy....
Synes godt om
Ny brugerNybegynder
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.