Newsgroup: it.comp.appl.access
Titolo: Problemi con l'apertura del secondo DB

Salve,
dovrei aprire un report che si trova in DB esterno (MDB). La cosa funziona, 
solo che il report si apre ma rimane minimizzato. Forse qualcuno riesce a 
darmi la soluzione.
Ecco il codice attaule:
Dim appAcc As Access.Application
Set appAcc = New Access.Application
appAcc.OpenCurrentDatabase "SecondoDB.mdb"
appAcc.DoCmd.OpenReport  "report1"

 ha scritto nel messaggio
news:d0c5g4$1hu$1...@newsreader.mailgate.org...

Si devi portarlo in primo piano usando un paio di chiamate API.
Usa questo codice:
http://www.mvps.org/access/reports/rpt0012.htm
Ciao
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------


l'api di per se funziona perfettamente, però la seconda istanza di msaccess
che si apre rimane minimizzata (5x1 cm). Quando clicco su "Ingrandisci"
l'applicazione funziona correttamente. Il problema é quindi che
l'applicazione e non il report resta minimizzata.
grazie in anticipo.
saluti.
roland

 quindi che l'applicazione e non il report resta minimizzata.
Hai già provato quello che ti ho suggerito nel NG tedesco?
-- 
cu
Karl
*********
Access FAQ: 
www.donkarl.com/it
+info sulla prima Conferenza Italiana per Sviluppatori di Access (CISA1) 

Ciao Karl,
funziona solo con l'utilizzo dell'api indicata da Alessandro.
saluti
roland 


l'utilizzo dell'api funzione perfettamente.
Ho dovuto però mettere nell'autoexec il commando maximize.
Ho provato ad aggiungere dei filtri sul report aperto ma sembra non 
possibile. Nei sai qualcosa ?
Grazie in anticipo.
roland

 ha scritto nel messaggio
news:d0i3t3$8dm$1...@newsreader.mailgate.org...

Posta il codice.


>
ecco il codice dell'api:
Option Compare Database
Option Explicit
Private Declare Function apiSetForegroundWindow Lib "user32" _
            Alias "SetForegroundWindow" _
            (ByVal hwnd As Long) _
            As Long
Private Declare Function apiShowWindow Lib "user32" _
            Alias "ShowWindow" _
            (ByVal hwnd As Long, _
            ByVal nCmdShow As Long) _
            As Long
Private Const SW_MAXIMIZE = 3
Private Const SW_NORMAL = 1
Function fOpenRemoteReport(strMDB As String, _
                                        strReport As String, _
                                        Optional intView As Variant) _
                                        As Boolean
Dim objAccess As Access.Application
Dim lngRet As Long
    On Error GoTo fOpenRemoteReport_Err
    If IsMissing(intView) Then intView = acViewPreview
    If Len(Dir(strMDB)) > 0 Then
        Set objAccess = New Access.Application
        With objAccess
            lngRet = apiSetForegroundWindow(.hWndAccessApp)
            lngRet = apiShowWindow(.hWndAccessApp, SW_NORMAL)
            'the first call to ShowWindow doesn't seem to do anything
            lngRet = apiShowWindow(.hWndAccessApp, SW_NORMAL)
            .OpenCurrentDatabase strMDB
            .DoCmd.OpenReport strReport, intView
            Do While Len(.CurrentDb.Name) > 0
                DoEvents
            Loop
        End With
    End If
fOpenRemoteReport_Exit:
    On Error Resume Next
    objAccess.Quit
    Set objAccess = Nothing
    Exit Function
fOpenRemoteReport_Err:
    fOpenRemoteReport = False
    Select Case Err.Number
        Case 7866:
            'mdb is already exclusively opened
            MsgBox "The database you specified " & vbCrLf & strMDB & _
                vbCrLf & "is currently open in exclusive mode.  " & vbCrLf _
                & vbCrLf & "Please reopen in shared mode and try again", _
                vbExclamation + vbOKOnly, "Could not open database."
        Case 2103:
            'form doesn't exist
            MsgBox "The report '" & strReport & _
                        "' doesn't exist in the Database " _
                        & vbCrLf & strMDB, _
                        vbExclamation + vbOKOnly, "report not found"
        Case 7952:
            'user closed mdb
            fOpenRemoteReport = True
        Case Else:
            MsgBox "Error#: " & Err.Number & vbCrLf & Err.Description, _
                    vbCritical + vbOKOnly, "Runtime error"
    End Select
    Resume fOpenRemoteReport_Exit
End Function