Avatar billede steensommer Praktikant
17. oktober 2003 - 12:55 Der er 7 kommentarer og
1 løsning

start access vha vba

Jeg forsøger vha en simpel shell at starte database: register.mdb men jeg må jo gøre et eller andet forkert for det virker ikke - hvad er problemet???

Sub ÅbenAccess()
accesstorun = "C:\Programmer\Microsoft Office\Office10\MSAccess.exe "
Shell accesstorun "\\srv\Registre\register.mdb", vbMaximizedFocus
End Sub

vh Steen
Avatar billede aheiss Praktikant
17. oktober 2003 - 14:21 #1
Der er ikke nogen eksperter der svarer. Denne her virker næsten !! Eneste problem er at access lukker ned igen. Måske nogen ved hvorfor :

Sub access()
    Set oAccess = CreateObject("Access.Application")
    oAccess.Visible = True
    oAccess.OpenCurrentDatabase "c:\temp\test.mdb"
End Sub
Avatar billede steensommer Praktikant
17. oktober 2003 - 14:32 #2
Jeg har prøvet nedenstående kode som har samme problem:

Sub StartAccess()
    Dim AccessApp As Object
    On Error Resume Next
    Set AccessApp = GetObject(, "Access.application")
    If Err <> 0 Then
      Set AccessApp = CreateObject("Access.Application")
    End If
    On Error GoTo 0
    AccessApp.Visible = True
    AccessApp.OpenCurrentDatabase "\\srv\Registre\Register.mdb"
End Sub
Avatar billede bak Forsker
18. oktober 2003 - 11:00 #3
Steen-> jeg har ingen ide om hvorfor din første kode (shell) ikke kører, men prøv at teste uden databasen først, for at se om den overhovedet åbner access.

Mht. både aheiss's kode og din anden kode, skal i huske at en variabel, der er dimensioneret i en sub, dør når sub'en slutter. Derfor lukker access igen ved slutningen af sub'en.

prøv istedet sådan her (erklærer accessapp public):

Public accessapp As Object

Sub StartAccess()
    'Dim AccessApp As Object
    On Error Resume Next
    Set accessapp = GetObject(, "Access.application")
    If Err <> 0 Then
      Set accessapp = CreateObject("Access.Application")
    End If
    On Error GoTo 0
    accessapp.Visible = True
    accessapp.OpenCurrentDatabase "\\srv\Registre\Register.mdb"
End Sub
Avatar billede bak Forsker
18. oktober 2003 - 11:12 #4
aha, nu tror jeg at shell-fejlen er fundet
skriv ligeShell accesstorun & "\\srv\Registre\register.mdb", vbMaximizedFocus

husk det lille &-tegn
Avatar billede steensommer Praktikant
18. oktober 2003 - 12:14 #5
--> Den skriver i sidste tilfælde at der er en linie access ikke genkender. Skal accesstorun dim'es? (public)
I første tilfælde lukker den fortsat automisk ned trods Public accessApp As Object - hmm!
Avatar billede kedde65 Praktikant
18. oktober 2003 - 12:49 #6
Der mangler et mellemrum. Prøv

ligeShell accesstorun & " \\srv\Registre\register.mdb", vbMaximizedFocus

VH CK
Avatar billede steensommer Praktikant
18. oktober 2003 - 13:00 #7
Nå jeg har endelig fået det til at virke.
Bak havde selvfølgelig svaret: Public skulle anføres øverst i et modul (åbenbart) hvorefter andet forslag kørte    og --> kedde65 første forslag fungerer både med og uden anførte mellemrum :0).

Vedr førstnævnte måde at gøre det på var mit problem nok også at den rigtige streng til database indeholder mellemrum (da jeg kopierede databasen over i et bibliotek uden mellemrum kørte det):
\\hjertesrv\faelles\Lotte og Susanne\Registre\patientregisteret.mdb
- hvorfor egentlig og det kan vel ændres?
-->bak svar lige og du får selvfølgelig point.
Avatar billede bak Forsker
18. oktober 2003 - 13:20 #8
ok her er et svar.:-)
mht mellemrummet (kedde65) så synes jeg det ser ud som om der allerede er mellemrum i strengen AccessToRun (sidst)
accesstorun = "C:\Programmer\Microsoft Office\Office10\MSAccess.exe "
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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