DoCmd.OpenForm

di il
3 risposte

DoCmd.OpenForm

Buongiorno,
sono una NewEntry. Lavoro in Germania e ho Access in tedesco, quindi scusate se non so denominare esattamente le proprietà o gli oggetti.

Ho un archivio molto complesso in Access (programmato da me in Basic-DOS fino al 1999 e poi convertito e risviluppato in Access da cani da un mio collega geniale, ma senza la minima idea di come si programma e che ora si è licenziato riammollando a me la quisquiglia ).

Sto smanettando e ho un dubbio, che una certa query venga ripetuta due volte all'apertura di una form.

COSA HO:
Una Query che possiamo chiamare "Qry_QueryCheUso" (non è importante cosa fa, ma: cerca tutti i record di una tabella che non hanno records relativi su una seconda tabella e ci mette oltre 1 minuto).
Una Form, basata su questa query (cioé, la proprietà "Source-dati" (??) è questa "Qry_QueryCheUso", così che i campi sulla form provengono da li).
Il comando per aprire la Form: DoCmd.OpenForm "Frm_NomedellaForm", acNormal, , , , , "Qry_QueryCheUso"

LA DOMANDA:
è possibile che il sistema esegua inutilmente ben due volte questa Query, una volta in quanto sorgente dati, e una volta in quanto presente nel comando di apertura?
E sopratutto, ma serve averla come ultimo parametro nella OpenForm, visto che è già alla base dei dati? Ho provato a levarla, ma si lamenta.

Grazie,
Paolo - Amburgo

3 Risposte

  • Re: DoCmd.OpenForm

    Sei sicuro di voler aprire Frm_NomedellaForm con acNormal? Io ci vedrei più acFormDS.

    VasoDiCoccio ha scritto:


    E sopratutto, ma serve averla come ultimo parametro nella OpenForm, visto che è già alla base dei dati? Ho provato a levarla, ma si lamenta.
    Attento, quel valore non è la base dati della maschera, ma una stringa di OpenArgs (che per caso riporta lo stesso nome). Di solito OpenArgs si utilizza unitamente all'evento Load (Su caricamento) della maschera. Su questo evento potrebbero esserci dei richiami riguardo il valore "ricevuto" e comportarsi di conseguenza. Se decidi di levare OpenArgs, devi accertarti di cosa succede anche su Load della maschera.
  • Re: DoCmd.OpenForm

    Ma se la chiami solo così
    
    DoCmd.OpenForm "Frm_NomedellaForm", acNormal
    La query viene eseguita SOLO 1 volta, ma quando definisci che viene eseguita 2 Volte sarebbe da capire cosa intendi e come ne fai diagnosi...

    P.S. nel NG Tecnico Tedesco di Access hai molto Attivo Karl, peraltro estremamente bravo.
  • Re: DoCmd.OpenForm

    Perfetto grazie mille!!

    Con il semplice
    DoCmd.OpenForm "Frm_NomedellaForm", acNormal
    funziona perfettamente.
    In effetti ci mette lo stesso tempo di prima, ma qualcosa è cambiato nell'esecuzione dalla Query. Non mi chiedete cosa.

    @Osvaldo: la Form ha una sua struttura (funzionante), non mi aiuta aprirla con acFormDS. Comunque grazie.
Devi accedere o registrarti per scrivere nel forum
3 risposte