ridimensionare altezza sottomaschera automaticamente

Anonimo
2014-02-25T18:18:50+00:00

Salve come da oggetto vorrei dimensionare automaticamente l'altezza di una sottomaschera in base al numero di record che ha. Ho spulciato un pò googlando ed ho visto che per farlo si utilizza il metodo movesize calcolando in numero di record e moltiplicandolo per l'altezza di un record.. il problema è che non riesco a farlo andare

questo è il codice:

Private Sub Form_Open(Cancel As Integer)
Dim intNumRec as integer
Dim intAltezza as integer

   'Assegna alla caption della maschera il nome della ditta.

   Me.Caption = "Prodotti associati alla ditta: " & Me.OpenArgs

   'Con il metodo MoveSize regoliamo l'altezza della maschera.
   'Per fare ciò impostiamo il quarto argomento del metodo MoveSize
   'con il calcolo (intAltezza * intNumRec) + 800.
   'intAltezza è l'altezza di un singolo record
   '800 è l'altezza dell'intestazione della maschera e della barra del
titolo.

'Calcoliamo il numero di record
   intNumRec= Me.RecordsetClone.RecordCount

   intaltezza = 400     '  mettere qui l'altezza del corpo quando visualizza
un solo record

   DoCmd.MoveSize 1440, 2400, , (intAltezza * intNumRec) + 800

End Subpreso da: http://www.archivum.info/microsoft.public.it.office.access/2006-08/00118/Re-dimensionare-una-maschera.htmlPuò essere che su access 2007 MoveSize non vada? la sparo li :)Grazie a tutti per eventuali risposte
Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2014-03-27T21:46:14+00:00

Ciao GoG_,

la sottomaschera non aumenta in altezza perché all'apertura della maschera principale il numero di record della sottomaschera è sempre 0 in quanto trattasi di sottomaschera relazionata con campi master e campi secondari.

Se vuoi vedere gli effetti quando ti sposti tra i records, sposta il codice dall'evento "Su apertura" nell'evento "Su Corrente" sempre della maschera principale, aumenta anche la variabile intAltezza a 1320 perché è l'altezza della sezione corpo della sottomaschera.

Ciao

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2014-03-17T20:06:36+00:00

Ciao,

il tuo codice legge il numero record della maschera principale, dovresti invece leggere il numero di record della sottomaschera.

prova a valorizzare intNumRec in questo modo:

intNumRec = Me.frm_lavoro_fatto.Form.RecordsetClone.RecordCount

Ciao

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2014-02-26T09:19:59+00:00

Salve come da oggetto vorrei dimensionare automaticamente l'altezza di una sottomaschera in base al numero di record che ha. Ho spulciato un pò googlando ed ho visto che per farlo si utilizza il metodo movesize calcolando in numero di record e moltiplicandolo per l'altezza di un record.. il problema è che non riesco a farlo andare

questo è il codice:

[CUT]Può essere che su access 2007 MoveSize non vada? la sparo li :)Grazie a tutti per eventuali risposte

il codice che hai preso si applica ad una maschera non a una sottomaschera.

per la sottomaschera devi aumentare o diminuire il valore della proprietà Height dell'oggetto Sottomaschera/Sottoreport.

Ciao

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento

16 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-03-17T15:32:33+00:00

    Ciao, ho provato ma ho qualche difficoltà..

    ho modificato la sub in questo modo:

    Private Sub Form_Open(Cancel As Integer)

    Dim intNumRec As Integer

    Dim intAltezza As Integer

        intNumRec = Me.RecordsetClone.RecordCount

       intAltezza = 400     '  mettere qui l'altezza del corpo quando visualizza un solo record

       Me.frm_lavoro_fatto.Height = ((intAltezza * intNumRec) + 800)

    End Sub

    frm_lavoro_fatto è il nome della sub e quel codice sta su onload sempre di questa form.

    Sapresti indicarmi dove sbaglio?

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-03-04T15:22:37+00:00

    Scusa per la latenza , grazie per la risposta proverò in serata e vi farò sapere.

    La risposta è stata utile?

    0 commenti Nessun commento