Newsgroup: it.comp.appl.access
Titolo: funzione "annulla" in maschera non associata

Scusate ragazzi, un piccolo aiuto. Ho una maschera non associata che
uso per gestire anagrafiche di clienti, a causa di una scarsa qualità
dei preposti al data entry si è scelto di crearla non associata, ma
non riesco a far funzionare il tasto annulla.
Grazie in anticipo a tutti e scusate se magari la questione è semplice
per voi, ma io mi sono arenato come una balena spiaggiata!

momo ha scritto:

vorrei capire che cosa intendi tu per annulla in una maschera non
associata, se si tratta di riportare le caselle di testo dove inserisci
i dati allo stato vuoto basta scrivere sull'evento click del pulsante
annulla tutti i nomi dei campi della maschera seguiti da = ""
tutto qui!
tipo TxtNome=""
TxtCognome=""
ecc.ecc
naturalmente il pulsante annulla lo dovrai creare senza far scrivere
una linea di codice ad Access, per intenderci senza far eseguire
completamente il Wizard della creazione pulsanti .
Saluti
Diego

Grazie Diego, speravo ci fosse un modo più semplice dato che ho una
trentina di campi testo coinvolti.
La maschera viene compilata per poi inserire una anagrafica nuova, il
tasto annulla mi serve nel caso ci si accorga di un errore o per
cancellare tutto quello che si è compilato, ovviamente prima del
salvataggio.
Esattamente quello che fa l'annulla record in una maschera normale.
diego ha scritto:



 beh...piu' semplice di così...la paranoia e' andare a scrivere tutti
i campi, l'annulla record di una maschera normale si appoggia sulla o
sulle tabelle in questo caso  con una maschera e campi non associati
devi ricorrere ad una query d'inserimento per registrare i campi in
tabella, l'unica cosa che mi viene in mente come sintesi di quello che
ti ho suggerito prima potrebbe essere un comando, sempre sull'evento
click del pulsante annulla, del tipo me.form.undo, ma non credo che
funzioni su maschere non associate, comunque fai una prova, magari mi
sbaglio, eventualmente la soluzione suggerita prima resta la piu'
valida nonostante la scocciatura di scrivere tutti i campi.
Saluti 
Diego

Il famigerato me.undo sulla form l'avevo già tentato, ma senza
successo, sto già scrivendo tutti i campi a manina come mi hai
suggerito e mi va benissimo. Grazie ancora diego, caffè pagato :-)


 
l'importante che sia rigorosamente amaro !! :=))

 ha scritto nel messaggio 
news:1156414745.5...@75g2000cwc.googlegroups.com...
Grazie Diego, speravo ci fosse un modo più semplice dato che ho una
trentina di campi testo coinvolti.
La maschera viene compilata per poi inserire una anagrafica nuova, il
tasto annulla mi serve nel caso ci si accorga di un errore o per
cancellare tutto quello che si è compilato, ovviamente prima del
salvataggio.
Esattamente quello che fa l'annulla record in una maschera normale.
[risposta]
Se deve avvenire prima del salvataggio basta che fai un ciclo sui controlli 
della form e annullarli:
es.
'---
dim oCtrl as Control
For each oCtrl in Me.Controls
    if oCtrl.ControlType = acTextBox then
        oCtrl = nothing
    end if
end if
Set oCtrl = nothing
'---
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
la routine va bene se sono tutte caselle di testo ma se ci sono delle
combo non le cancella, parlo di combo non associate a nessuna tabella,
come del resto tutti i controlli della form, che si popolano attraverso
una query che passo come recordsource.
Saluti
Diego

diego ha scritto:

Serve anche un minimo di iniziativa, Sergio ti ha dato il LA ......
dim oCtrl as Control
 For each oCtrl in Me.Controls
     Select Case oCtrl.ControlType
           Case acTextBox
                  oCtrl = nothing
           Case acComboBox,acCheckBox,acOptionButton,acToggleButton
                  oCtrl=Null
           Case else
     End Select
 Next
 Set oCtrl = nothing
Ora un'altra considerazione è relativa a quei controlli che possono
supportare lo stato triplo
come Chek Option o Toggle, se nel tuo caso il Reset deve definire uno
stato neutro
il codice che ti ho scritto va bene, se invece di Default devono valere
False separa il
CASE e metti il valore.
Un'altra alternativa forse più idonea, solo perchè spesso alcuni
controlli devono assumere un valore di Default diverso da Null o
Nullstring è quella di settarli al Default Value, che
come soluzione accontenterebbe tutti:
dim oCtrl as Control
 For each oCtrl in Me.Controls
     Select Case oCtrl.ControlType
           Case
acTextBox,acComboBox,acCheckBox,acOptionButton,acToggleButton
                 oCtrl.value=oCtrl.DefaultValue
     End Select
Next
Set oCtrl = nothing
Saluti
@Alex

Alessandro Baraldi ha scritto:
non si finisce mai di imparare e questo mi fa piacere, scusa ma non
avevo capito il LA di Sergio