Newsgroup: it.comp.appl.access
Titolo: Flusso programma per inserimento dati

Cordialita' a chi mi legge.
Dopo innumerevoli prove non sono ancora in grado
di stabilire quale sia la miglior strada da intraprendere
per ottenere cio' che segue:
1) In una Tabella devo inserire dei nuovi record.
2) Se il record in immissione gia' esiste
    (es. controllo su campo Cognome..),
    non deve essere inserito ma deve essere possibile la
    sua modifica.
Come mi sono impostato:
Ho creato una maschera con origine dati la Tabella.
1) Per inserimento dati tutto ok.
2) Per poterlo modificare, se trovato, eseguo la funzione
    Dlookup(..) sull'evento AfterUpdate del campo Cognome.
    Ok, lo trovo....e ora che faccio..?
    Ok, cancello il nuovo record comunque generato.., ma
    per potersi posizionare su quello trovato e poterlo editare
    come si fa..?
Chiedo lumi perche' credo anche che la strada da me intrapresa
sia sbagliata..  :-(
Grazie in anticipo
Antcim

 ha scritto nel messaggio
news:jRqy9.593$Bs5....@news1.tin.it...

Se hai creato una maschera che ha come origine record una tabella chiamata
Tabella1.
Se la maschera contiene un controllo chiamato Cognome ed associato ad un
campo di Tabella1 anche lui chiamato Cognome.
Nell'intestazione della maschera (ho scritto intestazione e non corpo)
inserisci una casella di testo non associata chiamata CercaCognome nella
quale, invece che in Cognome,  digiterai il cognome.
A fronte dell'evento "Dopo aggiornamento" della casella di testo
CercaCognome genera il seguente codice VBA:
Private Sub CercaCognome_AfterUpdate()
If IsNull(DLookup("Cognome", "Tabella1", "Cognome=" & _
Chr$(34) & Me!CercaCognome & Chr$(34))) Then
    DoCmd.GoToRecord , , acNewRec
    Me!Cognome = Me!CercaCognome
    Me!Cognome.SetFocus
Else
    Me!Cognome.SetFocus
    DoCmd.FindRecord CercaCognome
End If
End Sub
Dovrebbe funzionare.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:NMvy9.1937$Zn2....@twister1.libero.it...

Ciao Roberto
Ora sono di corsa, stasera provero' la tua soluzione.
Grazie davvero per l'aiuto.
Antcim

 ha scritto nel messaggio
news:NMvy9.1937$Zn2....@twister1.libero.it...

Ciao Roberto
Ho potuto provare e... funziona..!!!
Grazie davvero. Ti sono debitore..
Un'ultima cosa: perche' all'apertura maschera il focus
va sul Cognome (nel corpo) e non in CercaCognome
(nell'intestazione maschera)..?
L'ordine di tabulazione e' separato tra intestazione e corpo.
Non dovrebbe avere la precedenza la intestazione..?
Grazie
Antcim

 Antcim



Ancora grazie.
Antcim
ps. per far funzionare il tutto ho dovuto sostituire "!" con "."
     (es. me.Cognome anziche' me!Cognome)
     non so se dipende dal fatto che ho in uso Access97.

      non so se dipende dal fatto che ho in uso Access97.
No, non dipende dal fatto che usi Access 97, è la versione di Access che uso
anche io.
Non so proprio cosa ipotizzare.



Ciao Roberto,
Colgo l'occasione per poter capire ancora qualcosa....
In se, "!" cosa indica..?, come pure "." cosa indica..?
Se devo riferirmi ad un controllo di una maschera,
se sto lavorando in un'altra, la sintassi che a me funziona
e' :    forms!maschera.controllo
Torno ora al problema originario risolto grazie alla tua
indicazione: Se, prima di inserire un nuovo record dovessi
verificare l'esistenza non solo di 'Cognome' ma anche
di  'Nome' (non separatamente ma assieme) la funzione
Dlookup(...) non e' piu' in grado di soddisfare l'esigenza,
o sbaglio..?
Ti saluto augurandoti buona notte se sei ancora sveglio
e/o buona giornata per domani.
Antcim

 Antcim
--



Ciao Roberto
Ti sono estremamente debitore. Grazie di cuore.
Se avro' la fortuna di conoscerti personalmente,
saro' lieto di offrire una cena a te ed eventuale famiglia.
Con stima
Antcim
(io sono dei dintorni di Milano...)