Update in tabella access tramite maschera

mercoledì 07 marzo 2012 - 16.54
Tag Elenco Tags  Windows XP  |  Access (.mdb)  |  Office 2007

diego.martoglio Profilo | Newbie

devo semplicemente inserire dei dati in una tabella tramite UPDATE
in codice VBA al click di un pulsante.
Il fatto è che funziona correttamente, però quando chiudo la
maschera mi inserisce un'altra riga (quindi la sdoppia).
come posso evitare questo?
Diego MARTOGLIO

alx_81 Profilo | Guru

>devo semplicemente inserire dei dati in una tabella tramite UPDATE
>in codice VBA al click di un pulsante.
>Il fatto è che funziona correttamente, però quando chiudo la
>maschera mi inserisce un'altra riga (quindi la sdoppia).
>come posso evitare questo?
Ciao, puoi postare il codice che effettua l'update?

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

diego.martoglio Profilo | Newbie

Private Sub cmdRegistraAttivita_Click()
Dim strSql As String
Me.Esito.SetFocus
Me.Esito.Text = IIf(IsNull(Me.Esito.Text) = True, " ", Me.Esito.Text)
strSql = "UPDATE T_Schedulazioni set ID_Utente = " + Str(Me.CC_Utente) + ",Data_esecuzione = #" + Format(Data_esecuzione, "mm/dd/yyyy") + "#, Esito = '" + Me.Esito.Text + "'" + _
" where ID_Schedulazione IN (SELECT TOP 1 ID_Schedulazione FROM T_Schedulazioni WHERE ID_Attivita = " + Str(Me.CC_Attivita) + " AND Data_esecuzione IS NULL ORDER BY Data_schedulazione)"
DoCmd.RunSQL strSql
End Sub
Diego MARTOGLIO

alx_81 Profilo | Guru

>Private Sub cmdRegistraAttivita_Click()
>Dim strSql As String
>Me.Esito.SetFocus
>Me.Esito.Text = IIf(IsNull(Me.Esito.Text) = True, " ", Me.Esito.Text)
>strSql = "UPDATE T_Schedulazioni set ID_Utente = " + Str(Me.CC_Utente)
>+ ",Data_esecuzione = #" + Format(Data_esecuzione, "mm/dd/yyyy")
>+ "#, Esito = '" + Me.Esito.Text + "'" + _
>" where ID_Schedulazione IN (SELECT TOP 1 ID_Schedulazione FROM
>T_Schedulazioni WHERE ID_Attivita = " + Str(Me.CC_Attivita) +
>" AND Data_esecuzione IS NULL ORDER BY Data_schedulazione)"
>DoCmd.RunSQL strSql
>End Sub
se questo è l'evento gestito dall'eventuale pulsante che "aggiorna" ci siamo.
Il fatto che quando chiudi te lo rifaccia è strano.
Cosa hai gestito nel close della maschera?

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

diego.martoglio Profilo | Newbie

Private Sub cmdChiudi_Click()
On Error GoTo Err_cmdChiudi_Click


If Me.Dirty Then Me.Dirty = False
DoCmd.Close

Exit_cmdChiudi_Click:
Exit Sub

Err_cmdChiudi_Click:
MsgBox Err.Description
Resume Exit_cmdChiudi_Click

End Sub

Diego MARTOGLIO

alx_81 Profilo | Guru

>Private Sub cmdChiudi_Click()
>On Error GoTo Err_cmdChiudi_Click
>
>
> If Me.Dirty Then Me.Dirty = False
> DoCmd.Close
>
>Exit_cmdChiudi_Click:
> Exit Sub
>
>Err_cmdChiudi_Click:
> MsgBox Err.Description
> Resume Exit_cmdChiudi_Click
>
>End Sub
potrebbe essere il DoCmd.Close che salva le modifiche al source. Prova a commentarlo e a vedere se la riga non viene sdoppiata.

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

diego.martoglio Profilo | Newbie

certo che non la sdoppia ma come faccio a chiudere la maschera?
anche chiudendola con la X in alto a dx mi sdoppia la riga...

aiutooooooooooooooooooooooooooo
Diego MARTOGLIO

alx_81 Profilo | Guru

>certo che non la sdoppia ma come faccio a chiudere la maschera?
>anche chiudendola con la X in alto a dx mi sdoppia la riga...
secondo me devi usare la close solo per la form annullando le modifiche, tipo:

Me.Undo DoCmd.Close acForm, Me.Name

non so se la sintassi è corretta.. non ho access qui.
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5