Avatar billede soloven Nybegynder
15. august 2007 - 10:21 Der er 9 kommentarer og
1 løsning

Kald af db fra en db vha. en cmdknap.

Hej

Hvad gør jeg galt!!

Jeg ønsker at kalde(starte) en anden database("4To1_One.mdb") fra en åben database("4To1.mdb")??

Der er 4 cmdknapper til hver sin base.


Private Sub cmd1af4_Click()
On Error GoTo Err_cmd1af4_Click

    Dim stAppName As String

    stAppName = GetCurrentPath() & "4To1_One.mdb"   
'    Me.txtLink4To1 = GetCurrentPath() & "4To1_One.mdb"    ' stAppName "#" &  & "#"
'    Me.txtLink4To1.SetFocus
'    DoCmd.RunCommand acCmdOpenURL
'    Debug.Print "Sti & navn: " & stAppName
    Call Shell(stAppName, 1)

Exit_cmd1af4_Click:
    Exit Sub

Err_cmd1af4_Click:
    MsgBox Err.Number & vbNewLine & Err.Description, vbCritical, "Fejl!"
    Resume Exit_cmd1af4_Click

End Sub

Function GetCurrentPath() As String
    Dim Pos As Integer, path As String
    ' Find placeringen på databasen(stien)
    path = CurrentDb.Name
    Pos = Len(path)
    Do Until Mid(path, Pos, 1) = "\"
        Pos = Pos - 1
    Loop
    GetCurrentPath = Left(path, Pos)
End Function
Avatar billede mugs Novice
15. august 2007 - 10:37 #1
På Thomas Jepsen's hjemmeside makeiteasy.dk, ligger der et eksempel på at åbne andre filer med en kommandoknap. Filen hedder OpenFileDialog og ligger under download oppe til højre.
Avatar billede jensen363 Forsker
15. august 2007 - 10:51 #2
Private Sub cmdDataImport_Click()
Dim stAppName As String
Dim FilPlacering As String

    FilPlacering = DLookup("[ImportDb]", "tblFilplacering")

    stAppName = "MSACCESS.EXE " & FilPlacering & "Datagenerator.mdb"
   
    Call Shell(stAppName, 1)

End Sub
Avatar billede Slettet bruger
15. august 2007 - 11:04 #3
Call Shell("C:\Programmer\Microsoft Office\OFFICE11\MSACCESS.EXE " & "C:\spg\Test.mdb", vbNormalFocus)
Avatar billede Slettet bruger
15. august 2007 - 11:06 #4
Call Shell("MSACCESS.EXE " & "C:\spg\Test.mdb", vbNormalFocus)
Avatar billede soloven Nybegynder
16. august 2007 - 10:12 #5
Virker ikke

Private Sub cmd1af4_Click()
On Error GoTo Err_cmd1af4_Click

    Dim txtLink4To1 As String

    txtLink4To1 = "C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE " & GetCurrentPath() & "4To1_One.mdb"
'    txtLink4To1 = "MSACCESS.EXE " & GetCurrentPath() & "4To1_One.mdb"
    Debug.Print "Sti & navn: " & txtLink4To1
    Call Shell(txtLink4To1, vbNormalFocus)

Exit_cmd1af4_Click:
    Exit Sub

Err_cmd1af4_Click:
    MsgBox Err.Number & vbNewLine & Err.Description, vbCritical, "Fejl!"
    Resume Exit_cmd1af4_Click

End Sub


Debug:
Sti & navn: MSACCESS.EXE R:\BaseTMLs\4To1Base\4To1_One.mdb
Sti & navn: C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE
                                  R:\BaseTMLs\4To1Base\4To1_One.mdb

Får fejl:
“Et argument I den kommandolinie, der blev brugt til at starte Office Access, genkendes ikke af MS. Off. Acc.”
”Afslut og genstart MS.OFF.Acc. med gyldig kommandolinieindstillinger.”
Avatar billede soloven Nybegynder
16. august 2007 - 10:14 #6
Basen der kaldes starter fint ved direkte klik.
Avatar billede mugs Novice
16. august 2007 - 10:25 #7
Hvorfor den lange kode. spg's forslag fubngerer perfekt. Er afprøvet uden problemer:

Call Shell("MSACCESS.EXE " & "D:\XP\db23.mdb", vbNormalFocus)
Avatar billede soloven Nybegynder
16. august 2007 - 11:10 #8
Så virker det jeg matte indsætte “ vha. Chr(34)

txtLink4To1 = "MSACCESS.EXE " & Chr(34) & GetCurrentPath() & "4To1_One.mdb" & Chr(34)
    Debug.Print "Sti & navn: " & txtLink4To1
    Call Shell(txtLink4To1, vbNormalFocus)


Debug:
Sti & navn: MSACCESS.EXE "R:\BaseTMLs\4To1Base\4To1_One.mdb"
Avatar billede soloven Nybegynder
16. august 2007 - 11:14 #9
Da alle undtagen mugs har kommenteret kan jeg ikke se dem som pointmodtagere???
Avatar billede Slettet bruger
03. januar 2008 - 13:12 #10
Hov, jeg var lige ved at kigge lidt på gamle spm!~)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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