NO GRABA REGISTRO
Publicado por Gema (1 intervención) el 02/03/2008 12:03:39
Buenos días: Tengo un formulario (con 3 subformularios) y no consigo que grabe el registro en una tabla. (TCobros)
No consigo ver que hago mal. Adjunto los eventos que utilizo para que POR FAVOR me corrijáis.
MUCHAS GRACIAS.
Option Compare Database
Private cnn As ADODB.Connection
Private WithEvents reg As ADODB.Recordset
Dim nChar As Integer
Dim rs As Object
Option Explicit
______________
Private Sub Form_Load()
TimerInterval = 700
Set cnn = Application.CurrentProject.Connection
CGrabar.Enabled = False
End Sub
__________________
Private Sub CGrabar_Click()
On Error Resume Next
If Form_ForCobrosSub.Cobrado = True Or Form_ForCobrosABSub.Cobrado = True Or Form_ForCobrosSupSub.Cobrado = True Then
ComboEmp.SetFocus
Form_Load
Call GrabarRegistro
Call LimpiaCampos
reg.Close: Set reg = Nothing
Else
MsgBox "Este cobro no se puede grabar," & Chr(10) & _
"La casilla de verificación tiene valor FALSO.", vbInformation, "DEBE REVISAR ESTE COBRO:"
Screen.PreviousControl.SetFocus 'El Foco regresa al campo del que salió
End If
End Sub
___________________
Private Sub Form_Close()
On Error Resume Next
If Form_ForCobrosSub.Cobrado = True Or Form_ForCobrosABSub.Cobrado = True Or Form_ForCobrosSupSub.Cobrado = True Then
Call GrabarRegistro
Else
MsgBox "No se ha generado nigún Cobro," & Chr(10) & _
"Creación de Registro Cancelado.", vbInformation, "SALIR DEL FORMULARIO COBROS"
End If
If Not reg Is Nothing Then
reg.Close: Set reg = Nothing 'Cierra el Recordset
cnn.Close: Set cnn = Nothing 'Cierra la Conexión
End If
End Sub
_________________
Private Sub GrabarRegistro()
On Error Resume Next
Set reg = New ADODB.Recordset
reg.Open "SELECT * From TCobros Where IdCobro ='" & _
IdCobro & "'", cnn, adOpenDynamic, adLockOptimistic
If reg.EOF Then reg.AddNew
reg!Id_Empresa = Id_Empresa
reg!IdCobro = IdCobro
reg!Fecha = Fecha
reg!Importe = SSS
reg.Update
ComboEmp.Requery
Me.IdCobro = Nz(DMax("IdCobro", "TCobros"), 0) + 1
End Sub
No consigo ver que hago mal. Adjunto los eventos que utilizo para que POR FAVOR me corrijáis.
MUCHAS GRACIAS.
Option Compare Database
Private cnn As ADODB.Connection
Private WithEvents reg As ADODB.Recordset
Dim nChar As Integer
Dim rs As Object
Option Explicit
______________
Private Sub Form_Load()
TimerInterval = 700
Set cnn = Application.CurrentProject.Connection
CGrabar.Enabled = False
End Sub
__________________
Private Sub CGrabar_Click()
On Error Resume Next
If Form_ForCobrosSub.Cobrado = True Or Form_ForCobrosABSub.Cobrado = True Or Form_ForCobrosSupSub.Cobrado = True Then
ComboEmp.SetFocus
Form_Load
Call GrabarRegistro
Call LimpiaCampos
reg.Close: Set reg = Nothing
Else
MsgBox "Este cobro no se puede grabar," & Chr(10) & _
"La casilla de verificación tiene valor FALSO.", vbInformation, "DEBE REVISAR ESTE COBRO:"
Screen.PreviousControl.SetFocus 'El Foco regresa al campo del que salió
End If
End Sub
___________________
Private Sub Form_Close()
On Error Resume Next
If Form_ForCobrosSub.Cobrado = True Or Form_ForCobrosABSub.Cobrado = True Or Form_ForCobrosSupSub.Cobrado = True Then
Call GrabarRegistro
Else
MsgBox "No se ha generado nigún Cobro," & Chr(10) & _
"Creación de Registro Cancelado.", vbInformation, "SALIR DEL FORMULARIO COBROS"
End If
If Not reg Is Nothing Then
reg.Close: Set reg = Nothing 'Cierra el Recordset
cnn.Close: Set cnn = Nothing 'Cierra la Conexión
End If
End Sub
_________________
Private Sub GrabarRegistro()
On Error Resume Next
Set reg = New ADODB.Recordset
reg.Open "SELECT * From TCobros Where IdCobro ='" & _
IdCobro & "'", cnn, adOpenDynamic, adLockOptimistic
If reg.EOF Then reg.AddNew
reg!Id_Empresa = Id_Empresa
reg!IdCobro = IdCobro
reg!Fecha = Fecha
reg!Importe = SSS
reg.Update
ComboEmp.Requery
Me.IdCobro = Nz(DMax("IdCobro", "TCobros"), 0) + 1
End Sub
Valora esta pregunta


0