Newsgroup: it.comp.appl.access
Titolo: Velocizzare maschera complessa

Ciao a tutti.Ho una maschera continua costituita da tanti combo e 4
sottomaschere.L'apertura di questa maschera e' molto lenta.Ho
cominciato a velocizzarla applicando ad ogni combo la prop
Rowsource.Volevo intervenire anche sui subform.Il consiglio di Karl
(che ringrazio moltissimo) riguarda solo le maschere a schede.
Io vi chiedo se e' possibile utilizzare il "source object" anche in
questo caso o se bisogna intervenire in altro modo per ottimizzare
l'apertura del form
Grazie ancora
Dino


All'indirizzo
http://www.granite.ab.ca/access/performanceforms.htm
avevo trovato un esempio simile a quello che chiedi. Tutto in
inglese...
La "Case acSubform" riguarda proprio la RecordSource dellee sub, ma
non i rispettivi controlli.
Riccardo Baldinotti

 Riccardo Baldinotti
Ciao e grazie per la risp.Volevo sapere se tu sei riuscito ad
adattarlo.Per quanto riguarda i controlli del subform non danno
problemi.Il volevo solo evitare il caricamento diretto.
E' chiederti troppo di farmi un esempio ????
Grazie mille
Dino

 l'apertura del form
Il problema è che non si capisce cosa hai e fai nella tua maschera.
Se si vede una sottomaschera sempre, non si puo fare nulla, perché
certo non si vede dati senza SourceObject o RecordSource.
Per questo ho preso un esempio con un controllo a schede dove
non si vede tutte le sottomaschera ad un colpo.
Certo il principio è lo stesso se usi un sistema diverso di regolare
la visibilità. Ma dovresti finalmente rivelare quale, con quale codice ecc.
-- 
Ciao
Karl
*********
Access FAQ: 
www.donkarl.com/it
 


Eccomi Karl c'eravamo lasciati ieri sera con un problema risolto su
due.
Mi e' sembrato di essere abbastanza preciso.Mi ripeto ho una form
primaria e all'interno ho quattro subforms.Entrambe si vedono
sempre.Mi dicevi che non si puo' fare nulla.Io avevo pensato di
sostituire le subforms con delle maschere collegate.Secondo te puo'
velocizzare il caricamento????.
Ribadisco che le sottomaschere sono sempre visibili.
Grazie Karl
Dino


Parti dalla frase "A more advanced way ..." dell'articolo.
Subito dopo hai una Sub da copiare nell'evento SuCaricamento delle tue
maschere. Basterà cambiare l'istruzione
Me.RecordSource = "qryLargeTable"
mettendo l'effettiva origine dati della tua maschera.
Inoltre, per ogni controllo associato della maschera, sposterai la RowSource
(se è una casella combinata o di riepilogo) o la RecordSource (se è una
subform) o la ControlSource (se è una casella di testo) nella
corrispondente voce Tag dell'elemento (finestra delle proprietà, linguetta
Altro).
La parte:
    Case acComboBox, acListBox
        ctl.RowSource = ctl.Tag
    Case acSubform
        ctl.Form.RecordSource = ctl.Form.Tag
    Case Else
va integrata così:
    Case acComboBox, acListBox
        ctl.RowSource = ctl.Tag
    Case TextBox
        ctl.ControlSource = ctl.Tag
    Case acSubform
        ctl.Form.RecordSource = ctl.Form.Tag
    Case Else ...eccetera
La seconda Sub la copi nell'evento SuScaricamento. Integri la parte:
        Case acComboBox, acListBox
            ctl.RowSource = ""
        Case acSubform
            ctl.Form.RecordSource = ""
        Case Else
così:
        Case acComboBox, acListBox
            ctl.RowSource = ""
        Case TextBox
            ctl.ControlSource = "
        Case acSubform
            ctl.Form.RecordSource = ""
        Case Else ...eccetera
Buon lavoro.
Riccardo Baldinotti
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

On 3 Ago, 16:37, 
ri...@libero.it
 (Riccardo Baldinotti) wrote:

Grazie in anticipo.Piu' tardi provo e ti faccio (stai collegato se
puoi)
NB:Quando parli di nome maschera intendi il nome delle varie
subform???'Vero??
Dino

 - Mostra testo citato -
Dove ho parlato di nome maschera? Comunque il nome delle subform è
prelevato dalla routine, che cicla su tutti i controlli della maschera
principale.
Riccardo Baldinotti


Nn ho mica capito bene.....le form hanno cmq la proprietà RecordSourde che
puoi valorizzare al volo, da codice, su un bottone o come vuoi tu....
Se hai tante sub e la form è troppo lenta potresti: pensare ad actionButton
per caricare i dati nelle sub (uno per sub), una struttura a schede dove
depositi tutte le tue sub (una per scheda) e carichi il RecordSource
sull'Evento change delle schere (ossia quando 'cambi' scheda), pensare a
maschere separate (magari legate alla principale per scorrere i record
contemporaneamente...doevents) che apri solo se hai bisogno.....
-- 

 ...
Puoi provarlo, ma se vuoi lanciare tutte le maschere insieme
non è meno lavoro per Access se deve aprire 5 maschere.


 - Mostra testo citato -
Ciao Karl e grazie per la risposta.Grazie anche (noi diciamo in
italiano) per la tirata di orecchi.
Volevo pero' farti una precisazione.
Comincio prima facendoti i complimenti per la tua professione per le
tue referenze e per il tuo aiuto che dai sempre a tutti ogni giorno.
Adesso pero' mi sento in dovere di replicare alle prime righe di
risposta che tua hai dato :
Allora la mia professione:
Io faccio il consulente informatico,sono anche un commerciale e sono
tutto il giorno in aziende dove parlo , parlo parlo .. e direi anche
con ottimi risultati.
Una delle mie peculiarita' riconosciutami e' proprio la capacita' di
spiegare "cose" difficili in maniera semplice.
Quindi e' forse possibile che mi sia spiegato male con te (ne dubito)
o forse e' anche possibile che tu non abbia afferrato la mia
richiesta.Ho perso l'elenco
di quanti post tu mi hai risolto senza lamentarti mai delle mie
spiegazioni(uno degli ultimi si e' parlato anche di Access 10).
Ci tenevo solo a precisare questo.Ad ogni modo siccome io sono come ti
ho gia' scritto un "Arbeiter" "caparbio"...... voglio che tu capisca
quello che ti ho scritto,perche' e' scritto semplicemente e perche'
comunque tu mi hai gia' risposto.
Se uno ti dice che ha un form primario con all'interno 5 sottomaschere
e ti chiede se si puo' fare qualcosa per velocizzarlo non penso che ci
sia tanto da capire o spiegare,Infatti come ripeto tu mi hai scritto
dando delle soluzioni come sempre precise e mirate.
Forse ho esagerato e la tua era solo una battuta di spirito.Se e' così
concedimene una anche a me.
Non fare nella tua carriera il selezionatore del personale da assumere
in azienda.Ovviamente sto
scherzando.....................................
Volevo concludere li post sottolineando che la mia non e' una
sfuriata,ma solamente una replica corretta anche nei tuoi riguardi per
la filosofia e rispetto del nostro
NG
NB:dai un occhiata gentilmente alla soluzione che mi ha scritto
Riccardo
Grazie ancora
Dino

 ...
Per questo c'è stato un smiley, ma è stato troppo sarcastico
(soprattutto se non si conosce). Scusa.
Succede che non riesco a spiegare le cose importanti
e a ottenere le informazioni necessari.
Qualche volta aiuta di sostenere e variare e qualche volta
è meglio di abbandonare una discussione invece di seccarmi.
Alla prossima.



Grande Karl.Immaginavo gia' la tua risposta.
Da te c'e' sempre da imparare!!!!!
NB:Ho esaurito la scorta di complimenti!!!!
Dino

On 3 Ago, 16:37, 
ri...@libero.it
 (Riccardo Baldinotti) wrote:

Ok grazie mille
Dino