Machera continua con numero righe variabili

di il
36 risposte

36 Risposte - Pagina 2

  • Re: Machera continua con numero righe variabili

    06/05/2025 - Scolaretto ha scritto:

    Funziona alla grande , ho provata anche a ridimensionare una form che apro mediante un pulsante da altra form, non ci sono riuscito, se mi dai una mano anche per questo caso ti ringrazio, e poi son curioso di vedere la seconda opzione

    grazie di tuttto.

    Ciao, 

    spiega meglio il contesto per cortesia... non sono riuscito ad afferrare il problema 

  • Re: Machera continua con numero righe variabili

     Ho una form A  che visualizza una serie di dati sommarizzati da questa mediante un evento clik lancio il comando di apertura di una seconda form B , nella quale visualizzo tutti i dettagli filtrati con i valori selezionato dalla form A. I dati della Form B possono essere, in termini di righe numericamente diversi, vorrei quindi, così come ho fatto  in una maschera stottomaschera, dimensionare la formB in base alle righe filtrate.

    Grazie

  • Re: Machera continua con numero righe variabili

    06/05/2025 - Scolaretto ha scritto:

    dimensionare la formB in base alle righe filtrate.

    Cioè ????  ridimensionare una form e non una subForm contenuta in una form ?  (in questo caso la formB)

    ho capito bene ?

  • Re: Machera continua con numero righe variabili

    Yes , comunque più che contenuta direi eseguita da form .

  • Re: Machera continua con numero righe variabili

    06/05/2025 - Scolaretto ha scritto:

    Yes , comunque più che contenuta direi eseguita da form .

    Ok ... in questo caso le cose cambiano e non puoi utilizzare la funzione che ti ho fatto vedere in precedenza... è un altra cosa ... 

    Fammi provare e ti dico se e come puoi fare ... 

    alla fine il principio è il medesimo ma cambia qualche piccola cosa.

  • Re: Machera continua con numero righe variabili

    06/05/2025 - Scolaretto ha scritto:

    Yes , comunque più che contenuta direi eseguita da form .

    Più o meno.... .... Esempio:


    Purtroppo ci sono diversi vincoli secondo se la form è Popup oppure no , se è in visualizzazione form oppure maschere continue oppure foglio dati.
    Non puoi utilizzare certe proprietà o non vengono esposte.
    Insomma... graficamente MsAccess ha tanti limiti e anche come sugli eventi....

    In questo caso per la Form sarà una cosa di questo tipo :

    Esempio richiamando da FORM LOAD  oppure vedi te da altro evento che ritieni opportuno....

    Option Compare Database
    Option Explicit
    
    Private maxHeightForm As Long            ' Maximun heigth of the form
    
    ' FORM LOAD
    Private Sub Form_Load()
    
        ' Resize form
        Call MyResizeForm
    
    End Sub
    
    ' RESIZE FORM
    Private Sub MyResizeForm()
        On Error Resume Next
        Dim nRows As Long
        Dim heightRow As Long
        Dim heightExtra As Long
        Dim minHeightForm As Long
        Dim heightHeader As Long
        Dim heightFooter As Long
        Dim newHeightForm As Long
    
        ' Retrieve form valus
        With Me.Form
            ' Retrieve recordcount
            .Recordset.MoveLast
            .Recordset.MoveFirst
            nRows = .Recordset.RecordCount
            ' Retrieve row height
            heightRow = .Section(acDetail).Height
            ' Retrive header and footer height
            If .Section(acHeader).Visible Then heightHeader = .Section(acHeader).Height
            If .Section(acFooter).Visible Then heightFooter = .Section(acFooter).Height
        End With
    
        ' To be set if the form has the new record row
        heightExtra = heightRow * 1
        ' Minimum height of the form window
        minHeightForm = heightHeader + heightFooter + heightRow + heightExtra
        ' Maximun heigth of the form windows
        If maxHeightForm = 0 Then maxHeightForm = Me.InsideHeight
    
        ' Check if rows exists
        If nRows > 0 Then
            ' Calculate new height size form
            newHeightForm = (nRows * heightRow) + heightExtra + heightHeader + heightFooter
            ' Check min and max height form
            If newHeightForm > maxHeightForm Then newHeightForm = maxHeightForm
            If newHeightForm < minHeightForm Then newHeightForm = minHeightForm
            ' Set new height size form
            Me.InsideHeight = newHeightForm
        Else
            ' Set minimun height form if no rows exist
            Me.InsideHeight = minHeightForm
        End If
    End Sub

    .
    In questo caso, rispetto al precedente con subForm, non devi cambiare/sostituire nessun nome perchè si lavora esclusivamente con la Me.

    Verifica e fai test... dovrebbe andare bene 

    Prova a provare :-)

    .

    ATTENZIONE !!! Ricordati che le dimensioni in altezza della Form non le puoi impostare nelle prorpietà Form.
    L'altezza della Form viene assunta al salvataggio uscendo dalla Modalità Struttura (di Designer) 
    Solo qui puoi stabilire l'altezza della Form, trascini in alto o in basso il bordo della finestra e salvi. 
    Da quel momento in poi l'altezza della finestra è definita e cambierà solo se salvi una nuova impostazione ritornando in progettazione Modalità Struttura. 

    Quindi in questo caso di resize sulla base dei records da visualizzare, la dimensione Iniziale dell'altezza della Form viene data da come è stata salvata in progettazione Modalità Struttura. Questa dimensione risulterà essere l'altezza massima che potrà avere la Form in fase di Resize.

  • Re: Machera continua con numero righe variabili

    Alla grande solo pero se la finestra è PopUp. Avevo cercato anch'io di modificare la versione per subform per adattarla alla form , ma non sapevo che alcuni comandi come  Me.InsideHeight viene letto solo se la form è PopUp =si.

    Grazie di nuovo

  • Re: Machera continua con numero righe variabili

    06/05/2025 - Scolaretto ha scritto:

    Alla grande solo pero se la finestra è PopUp

    Cioè ??' 
    Direi di no.... funziona per qualsiasi tipo di finestra , pupup o no, con bordi dimensionabili o no, di dialogo o no, a scelta obbligatoria o no... con tutti i tipi.
    Basta che la Form sia impostata in visualizzazione a Maschere Continue.

     Verifica e vedrai che  è così.

  • Re: Machera continua con numero righe variabili

    Ho riprovato e con maschere no PopUp non si ridimensiona, 

    mentre non mi da problemi se il formato foglio dati o maschera continua.

    Avrò qualche settaggio errato ?

  • Re: Machera continua con numero righe variabili

    06/05/2025 - Scolaretto ha scritto:

    Avrò qualche settaggio errato ?

    Beh... senza poter analizzare il tuo progetto non saprei ...

    Ti confermo che nel mio ho testato con tuttii i tipi che ti dicevo e funziona perfettamente .... 

    Tu riesci a mandare una copia senza dati sensibili per capire meglio ?

  • Re: Machera continua con numero righe variabili

    Cosa ti serve ?

  • Re: Machera continua con numero righe variabili

    06/05/2025 - Scolaretto ha scritto:

    Cosa ti serve ?

    Questo per esempio è con Maschera Popup...

    Mentre Questo è Maschera NO Pupup

  • Re: Machera continua con numero righe variabili

    06/05/2025 - Scolaretto ha scritto:

    Cosa ti serve ?

    Vedi tu quello che puoi mandare atto a verificare l'eventuale problema che riscontri.
    Metti in un Zip e non mettere dati sensibili.

  • Re: Machera continua con numero righe variabili

    Come faccio a mettere un file zippato ?

  • Re: Machera continua con numero righe variabili

    06/05/2025 - Scolaretto ha scritto:

    Come faccio a mettere un file zippato ?

    Prova con https://www.transfernow.net/it

    segui istruzioni... è free, ti chiede solo l' e-mail e nessuna registrazione richiesta

    inserisci il file che vuoi condividere per il download 

    quando ottieni il link  lo copi e lo incolli qui per consentire il download

    scegli Crea un link

    inserisci tua e-mail

    inserisci una descrizione che fa riferimento al tuo file

    segliere Ottieni un Link

Devi accedere o registrarti per scrivere nel forum
36 risposte