Ingresar nuevos datos en un formulario

Hola compañero, agradecería mucho si me resuelves un gran problema que tengo.
Tengo un formulario maestro/detalle con VB 6 y la base de datos es Access 97. Cuando ingreso los nuevos datos en el formulario este los acepta pero cuando trato de ingresar datos en el control datagrid y luego quiero seleccionar la linea siguiente del control me da un error diciendo: "La fila es anterior al inicio o después del final. No se devolvió ningún recordset". Parece que la clave de relación de ambas tablas no las relaciona. No hay manera que pueda tomar los datos del control datagrid, cuando el registro total es nuevo.Help me!
Saludos
bcarlo

1 Respuesta

Respuesta
1
Cuando agregues un nuevo registro en tu formulario... dale esta instrucción
Datagrid. Rebind
Esto hace que el datagrid se actualize
Y puedes probar con estos códigos para ver por donde te manda el error
Private Sub DataGrid1_AfterDelete()
'
' Avisa al usuario la eliminación
'
MsgBox "Registro eliminado", vbInformation, _
"Aviso"
End Sub
Private Sub DataGrid1_AfterInsert()
'
' Avisa al usuario que se ha realizado la operación
'
MsgBox "Los datos han sido agregados", vbInformation, _
"Datos Insertados"
End Sub
Private Sub DataGrid1_AfterUpdate()
'
' Avisa que se realizó el cambio
'
MsgBox "Los cambios han sido guardados", vbInformation, _
"Aviso"
End Sub
Private Sub DataGrid1_BeforeColUpdate(ByVal ColIndex As Integer, OldValue As Variant, Cancel As Integer)
'
'Confirma la modificación
'
Dim intResp As Integer
intResp = MsgBox("¿Desea guardar la modificación?", _
vbInformation + vbYesNo, "Confirme modificación de columna")
End Sub
Private Sub DataGrid1_BeforeDelete(Cancel As Integer)
'
'Hace que el usuario confirme la eliminación
'
Dim intResp As Integer
intResp = MsgBox("¿Desea eliminar este registro?", _
vbInformation + vbYesNo, "Confirme")
If intResp = vbNo Then
Cancel = True 'No elimine nada
End If
End Sub
Private Sub DataGrid1_BeforeInsert(Cancel As Integer)
'
'Hace que se confirme la operación
'
Dim intResp As Integer
'
intResp = MsgBox("Desea agregar un registro?", _
vbInformation + vbYesNo, "Confirme adición")
If intResp = vbNo Then
Cancel = True 'No agregar
End If
End Sub
Private Sub DataGrid1_BeforeUpdate(Cancel As Integer)
'
'Solicite una Confirmación
'
Dim intResp As Integer
'
intResp = MsgBox("¿Desea guardar los cambios?", _
vbInformation + vbYesNo, "Confirme")
If intResp = vbNo Then
Cancel = True 'No agregar
DataGrid1.ReBind 'Reestablezca los valores
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas