Dividi Maschere da VBA

di
Anonimizzato13935
il
4 risposte

Dividi Maschere da VBA

Ciao a tutti... esiste un modo per forzare il tipo di visualizzazione di una maschera (anche la visualizzazione predefinita potrebbe andare bene in mancanza di un comando diretto) in "Dividi Maschera" ?

il tutto ovviamente in VBA oppure tramite macro...

scrivo perchè non sono riuscito a trovare nulla in merito...

a presto.

4 Risposte

  • Re: Dividi Maschere da VBA

    Credo siano impostazioni fattibili SOLO in modalità struttura, quindi non fattibili con MDE...
  • Re: Dividi Maschere da VBA

    @Alex ha scritto:


    Credo siano impostazioni fattibili SOLO in modalità struttura, quindi non fattibili con MDE...
    Grazie per la risposta Alex.
    Mio starebbe bene anche intervenire in modalità struttura nella maschera... ma sempre da VBA.. solo che non sono riuscito a trovare comandi utili a raggiongere lo scopo...

    La cosa assurda è che sono riuscito a creare dinamicamente delle maschere, per poi aggiungervi dei controlli con tanto di "codice pronto" per gli eventi che vi si riferiscono ...il tutto tramite VBA (ovviamente facendo aprire la maschera in modalità struttura, poi modificata, salvata, richiusa e quindi riaperta) ... quindi mi sembra assurdo che non esista un'impostazione per cambiare tipo di visualizzazione... ho trovato quella per cambiare la visualizzazione in "foglio dati" e "maschera singola" ma non riesco ad aprire in modalità "dividi maschera"...

    Mi chiedevo: se apro la maschera in modalità struttura tramite VBA esiste secondo te qualche comando utile a impostare il tipo di visualizzazione in oggetto?

    a presto.
  • Re: Dividi Maschere da VBA

    Non so se è quello che chiedi... ma prova a verificare:
    
    Form.DefaultView
    È possibile utilizzare la proprietà DefaultView per specificare la visualizzazione predefinita all'apertura di una maschera. Valore Byte di lettura/scrittura.
    
    Maschera singola 0 (Impostazione predefinita) Viene visualizzato un record alla volta. 
    Maschere continue 1 Vengono visualizzati più record, ovvero il numero di record che la finestra corrente può contenere. Ogni record viene posizionato nella corrispondente copia della sezione Corpo della maschera. 
    Foglio dati 2 Vengono visualizzati i campi della maschera ordinati in righe e colonne come in un foglio di calcolo. 
    Tabella pivot 3 La maschera viene visualizzata come una tabella pivot. 
    Grafico pivot 4 La maschera viene visualizzata come un grafico pivot. 
    Maschera divisa 5 Visualizza una maschera divisa di una maschera singola e un foglio dati contenente i record della maschera.
    Nel tuo caso la Property deve assumere valore=5, ho il sospetto, che sia attiva solo alla 2° riapertura... quindi apri, imposti la DefaultView, chiudi SALVANDO e Riapri...
  • Re: Dividi Maschere da VBA

    Grazie @Alex mi hai dato il giusto spunto... avevo provato ad usare la proprietà da te suggerita solo che mi dava errore per chè non avevo notato che che era di tipo byte)

    ad ogni buonfine, nel caso servisse a qualcuno, ho risolto con questa funzione basata sui suggerimenti di @Alex

    Serve ad aprire una maschera in una determinata modalità...
    
    Function ApriMaschera()
        DoCmd.OpenForm "Tabella1", acDesign, "", "", , acHidden
        Form_tabella1.DefaultView = 5
        DoCmd.OpenForm "Tabella1", acNormal, "", "", , acNormal
    End Function
    
    ps:
    se vi esce l'errore 424 significa che dovete accedere almeno una volta MANUALMENTE al codice della maschera e poi salvatela...

    --nell'esempio di funzione la maschera si chiama "tabella1"

    mi domandavo...se volessi modificare la funzione inserendo dei parametri che si riferiscono tanto a byte che a maschera... come potrei modificarla?

    ho provato così ma non va...
    
    Function ApriMaschera(Maschera As Form, Num As Byte)
        DoCmd.OpenForm Maschera.Name, acDesign, "", "", , acHidden
        Maschera.DefaultView = Num
        DoCmd.OpenForm Maschera.Name, acNormal, "", "", , acNormal
    End Function
    
    grazie
Devi accedere o registrarti per scrivere nel forum
4 risposte