Newsgroup: it.comp.appl.access
Titolo: apertura maschera da codice e cancel

salve a tutti...
qualcuno saprebbe indicarmi come posso agirare questa situazione?
Quando via codice comando l'apertura di una maschera tipo:
DoCmd.OpenForm "mioForm", ......
e in quel form su evento Open, dopo aver svolto una serie di
controlli, se eseguo un cancel=true mi va in errore il comando aprente
DoCmd, dicendomi che l'azione è stata terminata...
Ho necessità di lasciare le cose come sono e vorrei mantenere la
possibilità di cancellare il caricamento del form come sopra
descritto.
Come posso fare?
grazie 
ciao.

 ha scritto nel messaggio 
news:r9s9o11cl55ng2unt...@4ax.com...

Ciao,
devi intercettare l'errore (2025 se non ricordo male) nella routine con cui 
apri la form, cerca On Error sulla guida,
ciao
Mat. 


Oppure controlla prima di aprire
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it

Oppure controlla prima di aprire
non posso controllare prima di aprire per svariati motivi.
Controllare l'errore (che è il 2501) sarebbe una idea migliore.
Non ci sarebbero altre soluzioni?

 Non ci sarebbero altre soluzioni?
Cosě a buio č difficile capire che succede


Cosě a buio č difficile capire che succede
scusa ma cosa c'č da capire?
vuoi avere un quadro generale?
Allora:
ho una form che svolge un particolare compito (inserimento dati,
lettura dati, consultazione, ecc... oltre che aggiornamento di alcuni
log utenza.) 
Ora questa form viene richiamata da una miriare di altre funzioni
attraverso il passaggio di una serie di parametri sia via OpenArgs sia
via altri parametri passati per variabili globali.
Dato che la form in questione č molto complessa prima che si apra deve
essere validato il contesto nel quale deve girare e quindi devono
essere valutati i parametri in ingresso relazionati allo stato di
alcune tabelle del database (che vengono poi alimentate da altri
sistemi remoti). Ora, solo dopo aver ricevuto i parametri di ingresso
e dopo aver interrogato lo stato di alune specifiche tabelle, la
maschera chiamata scrive alcuni dati nel file di log e in una tabella
del db e poi "decide" di non caricarsi.
Sarebbe complesso, per il quadro descritto:
1) eseguire i controlli prima dell'apertura (immagina di avere 100
punti che richiamano la maschera in oggetto e devo in 100 punti
eseguire i controlli per non permettere alla maschera di aprirsi);
2) eseguire i controlli trap-error nei 100 punti.
Chiedo ancora se ci sono altre strade, se non ve ne sono, quella piů
intelligente č quella segnalata da Potone.
Adesso si č accesa la luce, il buio č scomparso?
ciao e grazie.

 ciao e grazie.
Allora, i parametri che tu hai sono quelli openargs e glieli passi solo con
l'ultima form
Le varibili globali ci sono anche prima e come le interroghi dopo le puoi
interrogare prima
tutte le verifiche non credo che tu le hai inserite nella maschera che stai
aprendo,
ma _immagino_ tu le abbia in funzioni esterne e le richiami
A quel punto la gestione errori è unica.
In ogni caso, se con il suggerimento dell'ottimo Matteo hai una strada,
proseguila.
Al limite mettici msgbox err.number & " " & err.description, così individui
effettivamente l'errore


 ciao e grazie.
e se banalmente apri la form in modalità hide, poi alla fine dei 
controlli lanci un docmd.close acform, "nomemaschera" (al posto di 
modificare il cancel)e il gioco è fatto senza errori... o sbaglio?
Ciao
Nick

Nick
Effettivamente ci avevo già provato e questa è un'ottima soluzione.
Grazie Nick.
ciao

 ciao
Quel _banalmente_ mi fa capire che non c'ho capito na MAZZA.


 
LoL :)
Ciao
Nick

Quel _banalmente_ mi fa capire che non c'ho capito na MAZZA.
si, magari, però è un'altra soluzione.
comunque appena trovo la migliore soluzione ve la faccio presente così
la condividiamo.
ciao.