Discussione:
Memorizzare record alla fine dell'inserimento campi
(troppo vecchio per rispondere)
onofrio luigi
2005-11-16 07:05:25 UTC
Permalink
Ho notato che avendo un archivio su access e creando una maschera con i
campi associati, man mano che si inseriscono i dati sui campi del record
attuale, access memorizza il dato campo per campo.
Quello che domando è se è possibile memorizzare tutti i campi inseriti
alla fine, cioè dopo aver memorizzato tutti i campi ?
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
Pablitomf (Maurizio Facciuti)
2005-11-16 07:53:23 UTC
Permalink
Post by onofrio luigi
Ho notato che avendo un archivio su access e creando una maschera con i
campi associati, man mano che si inseriscono i dati sui campi del record
attuale, access memorizza il dato campo per campo.
Quello che domando è se è possibile memorizzare tutti i campi inseriti
alla fine, cioè dopo aver memorizzato tutti i campi ?
Puoi crearti una Form non associata... e dopo che riempi i campi, su un
tasto "memorizza" o sulla chiusura della Form, apri un recordset del tipo :

Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("Tua_Tabella")
With rs
.AddNew
![Tuo_Campo1_Tabella] = Tuo_Campo1_Form
![Tuo_Campo2_Tabella] = Tuo_Campo2_Form
... e così via fino alla fine ...
.Update
End With
Set rs = Nothing

funge?
IgnazioC
2005-11-16 08:47:28 UTC
Permalink
On Wed, 16 Nov 2005 08:53:23 +0100, "Pablitomf \(Maurizio Facciuti\)"
Post by Pablitomf (Maurizio Facciuti)
Post by onofrio luigi
Ho notato che avendo un archivio su access e creando una maschera con i
campi associati, man mano che si inseriscono i dati sui campi del record
attuale, access memorizza il dato campo per campo.
Quello che domando è se è possibile memorizzare tutti i campi inseriti
alla fine, cioè dopo aver memorizzato tutti i campi ?
Puoi crearti una Form non associata... e dopo che riempi i campi, su un
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("Tua_Tabella")
With rs
.AddNew
![Tuo_Campo1_Tabella] = Tuo_Campo1_Form
![Tuo_Campo2_Tabella] = Tuo_Campo2_Form
... e così via fino alla fine ...
.Update
End With
Set rs = Nothing
funge?
concordo con pablitmf, ma per quello che so io
i valori dei campi della tabella non vengono memorizzati via via che
si compilano i campi di una maschera associata, tranne che non sia
stata costruita apposta così.
le modifiche al record (o il nuovo record) vengono memorizzate tutte
in una volta ad esempio, quando si passa al record successivo.

se il tuo problema è dare all'utente la possiblità di annullare le
modifiche guardati il metodo UNDO.

ciao.
--
IgnazioC
----------------------
www.sitocomune.com
www.patx.net
----------------------
luigi onofrio
2005-11-16 09:52:53 UTC
Permalink
On Wed, 16 Nov 2005 08:53:23 +0100, "Pablitomf (Maurizio Facciuti)"
Post by Pablitomf (Maurizio Facciuti)
Post by onofrio luigi
Ho notato che avendo un archivio su access e creando una maschera con i
campi associati, man mano che si inseriscono i dati sui campi del record
attuale, access memorizza il dato campo per campo.
Quello che domando è se è possibile memorizzare tutti i campi inseriti
alla fine, cioè dopo aver memorizzato tutti i campi ?
Puoi crearti una Form non associata... e dopo che riempi i campi, su un
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("Tua_Tabella")
With rs
.AddNew
![Tuo_Campo1_Tabella] = Tuo_Campo1_Form
![Tuo_Campo2_Tabella] = Tuo_Campo2_Form
... e così via fino alla fine ...
.Update
End With
Set rs = Nothing
funge?
concordo con pablitmf, ma per quello che so io
i valori dei campi della tabella non vengono memorizzati via via che
si compilano i campi di una maschera associata, tranne che non sia
stata costruita apposta così.
le modifiche al record (o il nuovo record) vengono memorizzate tutte
in una volta ad esempio, quando si passa al record successivo.
se il tuo problema è dare all'utente la possiblità di annullare le
modifiche guardati il metodo UNDO.
ciao.
--
IgnazioC
----------------------
www.sitocomune.com
www.patx.net
----------------------
no questo dubbio mi è sorto per un applicativo che ho fatto gestito in
rete da più utenti, e cioè quello che capita spesso è che quando un utente
immette dei dati in un record a volte si ritrova il contatore protocollo
automatico già assegnato in quanto un altro utente ha registrato il suo
record prima .
Per questo che vorrei la registrazione del record tutto di una botta ed in
un unico momento rendendo così più difficile la duplicazione del
protocollo automatico.
Naturalmente capisco che ristrutturando la form in modo diverso si
potrebbe ovviare il problema, ma non ho l'esperienza e la cultura adatta a
farlo in tempi brevi dato che mi serve subito.
provo a fare degli esperimenti con il consiglio di pablitmf per rendermi
conto della sutuazione.
grazie
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
Giorgio da Prato
2005-11-18 08:13:35 UTC
Permalink
Post by luigi onofrio
no questo dubbio mi è sorto per un applicativo che ho fatto gestito in
rete da più utenti, e cioè quello che capita spesso è che quando un utente
immette dei dati in un record a volte si ritrova il contatore protocollo
automatico già assegnato in quanto un altro utente ha registrato il suo
record prima .
Per questo che vorrei la registrazione del record tutto di una botta ed in
un unico momento rendendo così più difficile la duplicazione del
protocollo automatico.
Naturalmente capisco che ristrutturando la form in modo diverso si
potrebbe ovviare il problema, ma non ho l'esperienza e la cultura adatta a
farlo in tempi brevi dato che mi serve subito.
provo a fare degli esperimenti con il consiglio di pablitmf per rendermi
conto della sutuazione.
grazie
provo a dare un' altra indicazione:

se il campo contatore è a generazione automatica di valore (e a
numerazione progressiva)
è necessario settare a duplicati non ammessi la proprietà Indice (l'
ultima della lista in struttura dati)

Giorgio
Pablitomf (Maurizio Facciuti)
2005-11-18 08:30:55 UTC
Permalink
[CUT]
Post by Giorgio da Prato
se il campo contatore è a generazione automatica di valore (e a
numerazione progressiva)
è necessario settare a duplicati non ammessi la proprietà Indice (l'
ultima della lista in struttura dati)
anche con questo accorgimento non risolvi la problematica di scrivere
contemporaneamente sullo stesso record..., proprio perchè il record non si
salva fin quando non passi fisicamente a quello successivo... se tu però usi
gli accorgimenti suggeriti, ovvero, o salvare tutto alla fine con una Form
non associata e con i recordset, o salvare immediatamente all'inizio il
record (assegnando l'indice), per poi continuare a scrivere, non incontrerai
problematiche particolari a riguardo.
--
Ciao
Pablitomf (Maurizio Facciuti)
-----------------------------------------------------------------
Access 97 - 2000
ASP
-----------------------------------------------------------------
http://www.accessgroup.it/
http://www.sitocomune.com/

Quotare :
http://wiki.news.nic.it/QuotarBene
http://www.krisopea.it/mvp/Quoting.htm
-----------------------------------------------------------------
Il mio motto :
""Non mi fido molto delle statistiche, perchè un uomo con la testa nel forno
acceso e i piedi nel congelatore statisticamente ha una temperatura media."
Giorgio da Prato
2005-11-18 11:03:35 UTC
Permalink
Post by Pablitomf (Maurizio Facciuti)
[CUT]
Post by Giorgio da Prato
se il campo contatore è a generazione automatica di valore (e a
numerazione progressiva)
è necessario settare a duplicati non ammessi la proprietà Indice (l'
ultima della lista in struttura dati)
anche con questo accorgimento non risolvi la problematica di scrivere
contemporaneamente sullo stesso record..., proprio perchè il record non si
salva fin quando non passi fisicamente a quello successivo... se tu però usi
gli accorgimenti suggeriti, ovvero, o salvare tutto alla fine con una Form
non associata e con i recordset, o salvare immediatamente all'inizio il
record (assegnando l'indice), per poi continuare a scrivere, non incontrerai
problematiche particolari a riguardo.
beh: comunque non ci si può ritrovare con identificativi doppioni...

ma, mi rendo conto, è una magra consolazione se effettivamente il record,
potenzialmente doppione, non viene registrato.

Io non ho competenza adeguata per disquisire e ho dato questa indicazione
perchè, nelle prime realizzazioni, mi sono ritrovato in una simile
situazione (BE in rete, record con campo contatore a numerazione
progressiva automatica con valori duplicati: non avevo effettuato la
scelta duplicati non ammessi e la cosa può capitare perchè non è la scelta
di default).

Una cosa posso aggiungere (e la verificherò appena possibile): il campo
contatore si aggiorna subito un qualsiasi inserimento di dati in un campo
del record per cui se (SE !) l' ambiente Access memorizza comunque questo
nuovo valore e non lo ripropone per altri contemporanei inserimenti di
nuovi record allora (ALLORA) il settaggio di proprietà sopra indicato
risolve la questione.

Giorgio
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
Pablitomf (Maurizio Facciuti)
2005-11-18 11:13:35 UTC
Permalink
[cut]
Post by Giorgio da Prato
Una cosa posso aggiungere (e la verificherò appena possibile): il campo
contatore si aggiorna subito un qualsiasi inserimento di dati in un campo
del record per cui se (SE !) l' ambiente Access memorizza comunque questo
nuovo valore e non lo ripropone per altri contemporanei inserimenti di
nuovi record allora (ALLORA) il settaggio di proprietà sopra indicato
risolve la questione.
Bhè il tuo "SE" è purtroppo un "no" (lo assegna in visualizzazione senza
memorizzarlo), infatti se usi un UNDO o un ESC - che di fatto non sono un
DoCmd.RunCommand acCmdDeleteRecord - senza essere passato al record
successivo vedreai che i valori del record corrente in immissione dati si
cancellerà, quindi il tuo "ALLORA" non risolve aimè la questione. ;-)
Mi spiace.
Post by Giorgio da Prato
Giorgio
--
Ciao
Pablitomf (Maurizio Facciuti)
-----------------------------------------------------------------
Access 97 - 2000
ASP
-----------------------------------------------------------------
http://www.accessgroup.it/
http://www.sitocomune.com/

Quotare :
http://wiki.news.nic.it/QuotarBene
http://www.krisopea.it/mvp/Quoting.htm
-----------------------------------------------------------------
Il mio motto :
""Non mi fido molto delle statistiche, perchè un uomo con la testa nel forno
acceso e i piedi nel congelatore statisticamente ha una temperatura media."
Continua a leggere su narkive:
Loading...