12. juli 2004 - 15:44Der er
10 kommentarer og 1 løsning
Oprette en system variable Word WBA
Jeg har en database connektion i min vba som går igen flere gange i løbet af coden..
Jeg ved der kan laves en systemvariabel, som skal skrives og derefter kan genbruges i resten af dokumentet .. Også for at undgå at skulle rette andet end dette ene sted.. når database stien ændre sig..
Koden jeg bruger:
Dim dbSI As Database Dim wsSI As Workspace
Set wsSI = CreateWorkspace("", "admin", "", dbUseJet) Set dbSI = wsSI.OpenDatabase("c:\Dokumenter\Test\Databaser\testskabelon.mdb", True)
Private Sub Document_Open() Set wsSI = CreateWorkspace("", "admin", "", dbUseJet) Set dbSI = wsSI.OpenDatabase("c:\Dokumenter\Test\Databaser\testskabelon.mdb", True)
Kan desværre ikke få det til at virke i min modul.. sikkert fordi jeg skal kalde den funktion hvert eneste sted i koden hvor databasen skal bruges ?.. Men how ??
hvis jeg laver et nyt word dokument og så trykker Alt+F11 kommer jeg ind i vba editor
i vba editor menu -> insert -> module
paster flg. kode
'kode start Public dbSI As Database Public wsSI As Workspace
Function OpenDatabase(dbName As String, Optional user As String = "admin")
Set wsSI = CreateWorkspace("", user, "", dbUseJet) Set dbSI = wsSI.OpenDatabase(dbName, True)
End Function
Function closeDatabase()
Close dbSI Set dbSI = Nothing Close wsSI Set wsSI = Nothing
End Function 'kode slut
Derefter klikker jeg på This Document. I kodevinduet vælger jeg Document
Dette object har events Close New Open
'kode start Private Sub Document_Close()
CloseDatabase
End Sub
Private Sub Document_Open()
OpenDatabase ("c:\test.mdb")
End Sub 'kode slut
Som sagt har jeg ikke arbejdet med vba før men jeg vil mene at når du åbner dit dokument vil vba selv lede efter databasen og åbne den, eller er der noget jeg har overset ?
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.