Durante la corrente sessione di modifica il record è stato modificato da un altro utente | Interfaccie grafiche, Utilities, software di gestione

Topic: Pubblico - Composto da 8 Posts di 3 Utenti.

07 Settembre, 2011 12:38 #1
tommy55
Utente

tommy55
Registrato: Jul, 2011
Posts: 20
Offline

Usando Access come Gui in ODBC e guardando i post in rete vedo che il problema di non possibilità di aggiornamento dei record in certe tabelle con campi Datetime e Float è conosciuto L famosa scritta"durante la corrente sessione di modifica il record è stato modificato da un altro utente :La soluzione più comune è quella di aggiungere un campo timestamp che viene identificato dal motore di access come una specie di chiave primaria, ma nella realtà non mi funziona bene, in access collego una tb odbc con campo timestamp che si autoaggiorna in mysql, ma access mi mostra il campo nullo, come mai? Vi chiedo di afrontare questo problema perchè è ancora attuale, uso mysql 5.5 e access 2007.
Ho visto una discussione abbastanza esaustiva qui, solo che non ho capito bene con le mie poche conoscenze come fare.
Your text to link here...

07 Settembre, 2011 13:09 #2
tommy55
Utente

tommy55
Registrato: Jul, 2011
Posts: 20
Offline

Ora ho capito.
Se access da questo errore bisogna:
1 aggiungere un campo datetime in mysql (Chiamiamolo AGGIORNAMENTO)
2 ricollegare da access la tb con il campo AGGIORNAMENTO
3 Popolare il campo con una query di aggirnamento per es AGGIRNAMENTO = Now ()
4 chiudere access
5 convertire in mysql il campo AGGIORNAMENTO in Timestamp senza nulli che si aggiorni ad ogni modifica.
6 Aprire access e scollegare la tabella ODBC e Ricollegarla
Ora dovrebbe funzionare.
In pratica access non riconosce il campo timestamp se nullo.
Almeno in una tabella con i problemi di cui sopra.
Ora anche i più gli imbranati tipo il sottoscritto non perderanno tempo.

12 Settembre, 2011 12:06 #3
tommy55
Utente

tommy55
Registrato: Jul, 2011
Posts: 20
Offline

Allora ho testato da giorni la scoperta e ho notato che access si comporta male nelle modifiche dei campi Float, nel senso che tende a dare l'errore di prima.
Il record contenente il campo Float, può essere aggiornato solo se prima ne cancello il contenuto e salvo il record. Oppure dopo l'aggiornamento mi sposto su un altro campo prima di salvare il record.
Non può essere...., è un difetto troppo eclatante perchè non si conosca il rimedio, ci sono tantissime persone che usano Access come Gui (tutti quelli che non conoscono php e venivano da access).
Come posso fare per gestire il mio db dal momennto che trattandosi di preventivi, i campi Float corrispondono ai campi dove scrivo gli "euro".
Potreste rispondere perfavore, magari ignoro qualcosa di banalisimo?

23 Settembre, 2011 08:10 #4
g2d
Moderatore

g2d
Registrato: Jul, 2008
Posts: 957
Offline
Segui g2d su Twitter!

Ciao tommy

e scusami se non mi sono fatto vivo per tutto questo tempo.

C'è un utente che usa molto spesso la tua combinazione, ed è molto bravo, io purtroppo non so aiutarti quando parli di Access, mi tengo ben alla larga.

Sto cercando quell'utente....

mi faccio vivo appena lo ritrovo

Grazie ancora


Un tempo ero algweb ora sono g2d

23 Settembre, 2011 08:11 #5
g2d
Moderatore

g2d
Registrato: Jul, 2008
Posts: 957
Offline
Segui g2d su Twitter!

Se non erro gli utenti a cui possiamo mandare messaggi privati per chiedere aiuto sono:

walter54 e netlevel


Un tempo ero algweb ora sono g2d

04 Ottobre, 2011 17:00 #6
netlevel
Utente

netlevel
Registrato: Jun, 2010
Posts: 76
Offline

Ciao Tommy,
eccomi qua....
per quanto riguarda il primo problema, legato ai campi timestamp, credo che tu l'abbia fatta più complicata di quella che è..
Il campo timestamp deve comunque esserci, ma basta che gli imposti come valore predefinito "CURRENT_TIMESTAMP" da MySQL
Io facendo in questo modo non ho problemi.

Per quanto riguarda il secondo problema, non mi è molto chiaro, posso dirti che io per gli importi imposto sempre i campi a DECIMAL

Ultima modifica 04 Ottobre, 2011 17:01 di netlevel

06 Ottobre, 2011 08:44 #7
tommy55
Utente

tommy55
Registrato: Jul, 2011
Posts: 20
Offline

usando il campo describe, ho visto che il mio campo aggiornamento è già di tipo Timestamp Current_Timestamp e nella colonna Extra c'è scritto On up date. Dovrebbe bastare, ma non è così, infatti ricordo di aver trovato in un vecchio forum che era spiegato molto bene per chi ha la competenza (e non è il mio caso) in cui si parlava di come i campi float che io uso per gli importi, causino problemi ad access a livello di aggiornamento del record. Il problema è che i campi decimal non sono uguali ai campi valuta di access, non si arrotondano, o cìè un modo? Potresti dare un'occhiata al mio post sugli ideogrammi delle view mysql.
Ti ringrazio tantissimo come anche algweb per l'attenzione. Senza di voi saprei molte meno cose.

06 Ottobre, 2011 08:59 #8
netlevel
Utente

netlevel
Registrato: Jun, 2010
Posts: 76
Offline

Sui campi DECIMAL sei tu che decidi quanti decimali deve avere, poi se devi arrotondare ulteriormente il valore lo fai con le funzioni di access.
Per quanto riguarda il TIMESTAMP, io toglierei su EXTRA "On up date"..

Condividi su:

Loggati o Registrati per replicare