Visual Basic - Ahí va el código

Life is soft - evento anual de software empresarial
 
Vista:

Ahí va el código

Publicado por FJArmas (8 intervenciones) el 10/06/2002 19:32:42
El código es el siguiente:

Por cierto si quito el If (err <>0) no me da el error y actualiza la base de datos bien

Perdona pero es que soy novato en VB y no se si se debe comprobar los errores despues de un .UPDATE

Public Sub AceptRegister(Record As ADODB.Recordset, Nombre As String)
\'*** Declaración de variables ***
\'*** Código del procedimiento ***
On Error Resume Next
Record.Update \'AQUI DA EL ERROR, EN ESTE PUNTO
If (Err <> 0) Then \'LO DETECTA AQUI
MsgBox BASEDAT04 & Nombre & Chr(13) & Chr(13) _
& Err.Description, vbExclamation, \"ModBasedat(AddRegister)\"
Record.CancelUpdate
Record.MoveLast
AddRegister = False
End If
Err.Clear
On Error GoTo 0
Exit Sub
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ahí va el código

Publicado por tecniCam (3 intervenciones) el 10/06/2002 23:32:37
Falta código para saber porqué da el error.
De todas formas cómo se llama el Record ese, ¿así... RECORD o de otra forma?
Normalmente un Record es un Recordset, pero tendrá un nombre cualquiera.
Indica lo que va delante de todo el código de error y veremos de ayudarte.
Para más información mira los manuales de Bases de Datos, Crystal, Vb, Utilidades y otros que hay en mi web VISUALIA, arriba indicada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ahí va el código

Publicado por fjarmas (8 intervenciones) el 11/06/2002 13:00:54
Este es un procedimiento que está en un módulo declarado como public al que llamo pasandole un recordset. Cuando la tabla tiene un campo solo no me dá el error, pero cuando tiene varios me dá el error.
Me está pasando con dos aplicaciones que estoy haciendo. El parámetro se llama RECORD y lo llamos desde diferentes sitios con diferentes recordset.

Si no uso este procedimiento sino directamente el nombre del recordset también me da el error, y no lo entiendo. En la tabla todos los campos son de texto.

El código que está delante del código de error es el que se ve, ya que yo hago una llamada a ese procedimiento cuando pulso el botón ACEPTAR del formulario y el código es el siguiente:

Case 7 \'aceptar operación ES EL COMANDO INDEX=7
AceptRegister RsDatosMovimiento, \"Movimientos\" LLAMO AL PROCEDIMIENTO ANTERIORMENTE CITADO
ModoEditar False DESHABILITO LOS CONTROLES
RsMovMaterial.Close \'cerramos movimientos de material
Set RsMovMaterial = Nothing \'liberamos memoria
\'preparamos consulta movimiento material
Consulta = \"SELECT * FROM TblMovMaterial WHERE IdDatosMovimientos = \'\" & _
Me.LblNumReg.Text & \"\'\"
\'preparamos recordset
Set RsMovMaterial = New ADODB.Recordset
RsMovMaterial.ActiveConnection = Conexion
RsMovMaterial.CursorType = adOpenKeyset
RsMovMaterial.LockType = adLockOptimistic
RsMovMaterial.Open Consulta
\'conectaa control grid
Set Me.DataGridMaterial.DataSource = RsMovMaterial
%0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar