Salvataggio dati

venerdì 25 ottobre 2013 - 18.03
Tag Elenco Tags  Access (.mdb)

sergranero Profilo | Junior Member

Cioa, avrei bisogno del vostro aiuto.... come al solito...
Ho questo codice che mi permette di chiudere la maschera e di salvare ( funzionasse ) i dati
[code]
If KeyAscii = 27 Then
DoCmd.Close acForm, "Inserimento_dati", acSaveYes
End If
[code]
Ho provato anche con acSaveNo ma non funziona.... dove sbaglio?
Grazie
Ciao

renarig Profilo | Expert

>If KeyAscii = 27 Then
>DoCmd.Close acForm, "Inserimento_dati", acSaveYes
>End If
Quel acSaveYes non c'entra nulla con il salvayaggio dei dati bensi c'entra con il salvataggio
di eventuali modifiche fatte alla struttura della maschera, ordinamenti, filtri eccetera.

Tu hai scritto dei dati ib quella maschera ??
è una maschera associata ?

sergranero Profilo | Junior Member

Ah ok.......
si tratta di una maschera associata ad una tabella.
Grazie
Ciao

renarig Profilo | Expert

allora se tutto funziona bene ti basta chiudre la maschera affinche i dati scritti in maschera vengano "inseriti" in tabella.

Ho usato volutamente il termone "inseriti" per distinguerlo dal salvataggio che invece è relativo alla creazione della struttura degli oggetti.

Nei DB l' inserimento in tabella avviene:
- alla chiusura della maschera
- quando cambi record
- quando fai delle specifoche query ( INSERT, UPDATE, DELETE )
- eccetera

sergranero Profilo | Junior Member

Grazie...il problema è che se passo al record successivo, vengono effettivamente inseriti in tabella i dati inseriti in maschera mentre se premo Esc che mi permette di chiudere la maschera, i dati digitati non vengono inseriti

renarig Profilo | Expert

>mentre se premo Esc che mi permette di chiudere la maschera,
>i dati digitati non vengono inseriti
Qullo che descrivi è il funzionamento corretto del pulsante "Esc"

fai lo stesso esperimento direttamente su una tabella,
- compila un record
- vai al record successivo e il record viene effettivamente inserito in tabella ( prima era solo su schermo )
- compila un altro record
- muoviti pure sui vari controlli ma restando sempre dentro nel record ( vedi la penna a Sx del record )
- a quel punto qiello che hai scritto e solo "su schermo" ( è improprio dire su schermo ma rende l'idea )
- premi "Esc" magari 2 volte e ti accorgi che il record compilato ti sparisce


è la funzione specifica del tasto Esc

facci sapere

sergranero Profilo | Junior Member

Ho risolto in questo modo: ( riporto il codice che potrà essere utile ad altri utenti )
[code]Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'chiusura maschera
If KeyCode = vbKeyEscape Then btnClose_Click
End Sub

Private Sub btnClose_Click()
'chiusura maschera
On Error GoTo Err_btnClose_Click
DoCmd.Close acForm, "Formattazione_testo", acSaveYes
Exit_btnClose_Click:
Exit Sub
Err_btnClose_Click:
MsgBox Err.Description
Resume Exit_btnClose_Click
End Sub
[code]
Ci tengo a precisare che non è "farina del mio sacco".. in effetti utilizzavo questo codice in un altro db per chiudere la maschera. Quando ho scoperto i codici Keypress avevo pensato di sostituire il codice con questi ma evidentemente non con risultati ottimali
grazie ancora
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5