Avatar billede jbjerre Nybegynder
09. september 2004 - 22:15 Der er 1 løsning

Åben Access-DB med system database, password og brugernavn

Jeg har en VB-app hvorfra jeg skal åbne en Access rapport, jeg har fået egen system database, password og brugernavn på databasen.
Jeg skal nu have tilrettet min kode som fungerede før system database, password og brugernavn blev tilføjet.

Min nuværende kode er:
_________________________________________________________________

Private Sub AccessRapport()
Dim myDB As Access.Application
Dim intFaknr As Integer

    MousePointer = vbHourglass
    intFaknr = txtFaknr
    Set myDB = CreateObject("Access.Application")
    With myDB
        .OpenCurrentDatabase strPath
        .DoCmd.OpenReport "repAccessRapport", acViewPreview, , "Faktura_ID = " & intFaknr
        .Reports!repAccessRapport!txtIalt = txtBeløb(0)
        .Reports!repAccessRapport!txtIalt.Visible = True
        .Reports!repAccessRapport!txtMoms = txtBeløb(1)
        .Reports!repAccessRapport!txtMoms.Visible = True
        .Reports!repAccessRapport!txtTotal = txtBeløb(2)
        .Reports!repAccessRapport!txtTotal.Visible = True
        .Reports!repAccessRapport!tekst23 = txtKunde
        .Reports!repAccessRapport!tekst23.Visible = True
        .DoCmd.PrintOut acPrintAll
        .CloseCurrentDatabase
        .Application.Quit acQuitSaveNone
    End With
    Set myDB = Nothing
    MousePointer = vbNormal
End Sub

_________________________________________________________________

Er der nogen der har en løsning

Hilsen JBjerre
Avatar billede jbjerre Nybegynder
10. september 2004 - 11:52 #1
Jeg er selv kommet frem til en løsning, ved hjælp af nettet

Min løsning.
____________________________________________________________________________
Private Sub AccessRapport()
On Error GoTo ErrHandler
    Dim myDB As Access.Application
    Dim intFaknr As Integer
    Dim Application As String, dbs As String, workgroup As String
    Dim user As String, password As String, ErrApp As String
    Dim cTries As Integer
    Dim x
   
    MousePointer = vbHourglass

    ' This is the default location of Access
    Application = "C:\Programmer\Microsoft Office\Office10\MSACCESS.EXE"
    ' Use the path and name of a secured MDB on your system
    dbs = "C:\Dinsti\DB.mdb"
    ' This is the default workgroup
    workgroup = "C:\DinSystemDatabase\Din.mdw "
    user = "Brugernavn"          ' Use a valid username
    password = "DitPassword"  ' and correct password

    x = Shell(Application & " " & Chr(34) & dbs & Chr(34) & " /nostartup /user " & user & _
    " /pwd " & password & " /wrkgrp " & Chr(34) & workgroup & Chr(34), vbMinimizedFocus)
     
    Set myDB = GetObject(, "Access.Application")

    intFaknr = txtFaknr
    With myDB
        .DoCmd.OpenReport "repAccessRapport", acViewPreview, , "Faktura_ID = " & intFaknr
        .Reports!repAccessRapport!txtIalt = txtBeløb(0)
        .Reports!repAccessRapport!txtIalt.Visible = True
        .Reports!repAccessRapport!txtMoms = txtBeløb(1)
        .Reports!repAccessRapport!txtMoms.Visible = True
        .Reports!repAccessRapport!txtTotal = txtBeløb(2)
        .Reports!repAccessRapport!txtTotal.Visible = True
        .Reports!repAccessRapport!tekst23 = txtKunde
        .Reports!repAccessRapport!tekst23.Visible = True
        .DoCmd.PrintOut acPrintAll
        .CloseCurrentDatabase
        .Application.Quit acQuitSaveNone
    End With
    Set myDB = Nothing
    MousePointer = vbNormal

    Exit Sub

ErrHandler:                    ' <--- This line must be left-aligned.
      ' Access isn't registered in the Running Object Table yet, so call
      ' SetFocus to take focus from Access, wait half a second, and try
      ' again. If you try five times and fail, then something has probably
      ' gone wrong, so warn the user and exit.
        MousePointer = vbNormal
      Select Case Err
        Case 53
            ErrApp = InputBox("Indtast placering af access", "Placering af access", Application)
            If ErrApp <> "" Then
                Application = ErrApp
                Resume
            Else
                Set myDB = Nothing
                Exit Sub '<= angiv handling hvis Accessplacering ikke kan findes
            End If
       
        Case Else
              SetFocus
      If cTries < 5 Then
        cTries = cTries + 1
        Sleep conPause  ' vent 1/2 seconds
        Resume
      Else
        MsgBox "Programmet kan ikke få kontakt med Access. Proceduren standset.", _
            vbMsgBoxSetForeground
      End If
    End Select
End Sub
_______________________________________________________________________________

Er der bemærkninger er i velkomne med disse

Hilsen JBjerre.
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