Aprire maschere in finestra

di il
3 risposte

Aprire maschere in finestra

Ho inserito in un pulsante di comando un codice per aprire una maschera a tutto schermo perchè quella maschera in particolare mi serve così (mentre tutte le altre mi servono in finestra).

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "dati"
DoCmd.OpenForm stDocName, , , stLinkCriteria
DoCmd.Maximize

per chiudere la maschera aperta a tutto schermo ho inserito un pulsante di comando associato ad una macro 'ChiudiFinestra '

purtroppo dopo che questa maschera viene aperta (e chiusa), tutte le maschere successive vengono aperte a tutto schermo.

per favore vorrei sapere se esiste un altro modo per ottenere che solo la maschera desiderata venga aperta a tutto schermo oppure se c'è un comando da inserire nel pulsante di chiusura che mi faccia tornare alla modalità finestra.
Grazie

3 Risposte

  • Re: Aprire maschere in finestra

    Il maximixe, agisce non sulla tua Form ma sul Progetto, quindi a seconda di come operi... ci sono 2 soluzioni.
    Se la Form che apri massimizzata la apri senza interagire con altre, poi la chiudi, allora ti basta mettere su Evento Unload il Docmd.Restore.

    Se invece quando apri questa devi interagire, aprendone altre... la cosa cambia... e puoi provare questo codice, da mettere in un modulo:

    Riporto un codice magari utile:
    
    Option Compare Database
    Option Explicit
    
    Public Sub FullScreen()
       Dim lngWH As Long, lngWL As Long, lngWT As Long, lngWW As Long
       If Not TypeOf CodeContextObject Is Form Then Exit Sub
       With CodeContextObject
           DoCmd.Maximize
           lngWT = .WindowTop
           lngWL = .WindowLeft
           lngWH = .WindowHeight
           lngWW = .WindowWidth
           DoCmd.Restore
           Call .Move(lngWL, lngWT, lngWW, lngWH)
       End With
    End Sub
    Su Evento LOAD della Maschera ti basta scrivere:
    
    Private Sub Form_Load()
        Call FullScreen
    End Sub
  • Re: Aprire maschere in finestra

    Non avevo capito che DoCmd.Maximize agisce su tutto il progetto

    La maschera in questione interagisce eccome; quindi preferisco tutto sommato rimuove il DoCmd.Maximize e allargare la maschera quanto serve.

    Grazie per l'aiuto
  • Re: Aprire maschere in finestra

    Sai perché non sapevi come agisce la funzione Maximize...?
    Perché non leggi la guida su MSDN e forse pensi non sia indispensabile farlo prima di postare sul Forum... abitudine che ti invito invece a cambiare.

    Ti allego il link della guida ed al capitolo Remarks, al 4°paragrafo lo dice con una chiarezza impossibile da mettere in discussione.

    https://docs.microsoft.com/en-us/office/vba/api/access.docmd.maximize
Devi accedere o registrarti per scrivere nel forum
3 risposte