La Web del Programador: Comunidad de Programadores
 
    Pregunta:  57329 - NO CURRENT RECORD
Autor:  Jorge Gil
Holas! estoy creando un sistemita de carga y control de datos, cree los sgtes botones: Guardar y Nuevo.
Los escribi asi:

Para GUARDAR
Private Sub Command1_Click()
Data2.UpdateRecord
Data2.Refresh
End Sub

Para NUEVO
Private Sub Command2_Click()
Data2.Recordset.AddNew
End Sub

Mi problema es que cuando ejecuto el programa, cargo los datos y le doy en el boton GUARDAR y me tira el sgte error:

Run-Time Error `524´:
No current record.

Lo mismo me pasa cuando pongo en nuevo, en ambos casos de las opciones que me da seleccion debug y me marca la segunda linea(Data2.UpdateRecord)

En las opciones del DATA esta configurado como:

Name: Data2
Databasename: C:Documents and SettingsUSUARIOMis documentosBase de Datos Partes Diarios de Trabajod4.mdb
Recordsource: Tabla1

Todos los TextBox estan de la sgte manera:

Datasource: Data2
Datafield: (aca pongo el que corresponde)

¿¿Porque me sale ese error??
¿¿Cuales serian las posibles soluciones??

  Respuesta:  lalalal adad
yo tengo el codigo de esto es
+

a) Opción Nuevo, el cual servirá para crear un nuevo registro en la tabla, el código es el siguiente:
Private Sub nuevo_Click ()
Data1.Recordset.AddNew
End Sub
P.D. Esta opción debe presionarse antes de dar de alta un nuevo registro en la base de datos.

b) Opción Guardar, el cual servirá para guardar un nuevo registro en la tabla, el código es el siguiente:
Private Sub guardar_Click()
Data1.UpdateRecord
Data1.Refresh
MsgBox "El Registro ha sido Guardado en la Base de Datos", vbExclamation, "Aviso Importante"
End Sub

P.D. Esta opción debe presionarse una vez que se haya completado la información del registro.

c) Opción Buscar, el cual servirá para buscar un registro en la tabla, el código es el siguiente:
Private Sub buscar_Click()
Dim m As Long
m = Val(InputBox("Introduce la Matrícula que Buscas"))
Data1.Recordset.FindFirst "matricula=" & m
If Data1.Recordset.NoMatch Then
MsgBox "La Matrícula Número: " & m & " No está en la Base de Datos", vbExclamation, "Búsquedas de Matrícula"
End If
End Sub


Nota: aquí declaramos una variable (m) que representará el número del registro (matricula) que estemos buscando. Es de vital importancia de que te asegures de que en la línea subrayada la palabra “Matrícula” esté escrita exactamente como llamaste el campo “matricula” al crear la tabla.

d) Opción Eliminar, el cual servirá para eliminar un registro de la tabla, el código es el siguiente:
Private Sub Eliminar_Click()
If MsgBox("¿Quieres Eliminar la Matrícula Número: " & Text1 & "?", 16 + 4) = 6 Then
Data1.Recordset.Delete
Data1.Refresh
Text1.SetFocus
MsgBox "Se Eliminó la Matrícula", vbCritical, "Aviso Importante"
Else
MsgBox "No se Eliminó la Matrícula Número: " & Text1, vbExclamation, "Aviso Importante"
End If
End Sub