Estoy tratando de trabajar con adodc y eventos, para poder conocer cuando un registro cambia de posición y el motivo.
Un poco del código..
Public Sub Abrir_BD()
sBase = "C:\BaseDatos" & "\BD_97.mdb"
Set rstTrab = Nothing
Set cnn = Nothing
Set cnn = New Adodb.Connection
Set rstTrab = New Adodb.Recordset
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & sBase
rstTrab.Open ConsulTrab, cnn, adOpenKeyset, adLockBatchOptimistic
If rstTrab.EOF And rstTrab.BOF Then
Cuantos = 0
Beep
Else
Beep
End If
Cuantos = rstTrab.RecordCount
End Sub
Private Sub rstTrab_MoveComplete(ByVal adReason As Adodb.EventReasonEnum, ByVal pError As Adodb.Error, adStatus As Adodb.EventStatusEnum, ByVal pRecordset As Adodb.Recordset)
On Local Error Resume Next
Adodc1.Caption = pRecordset.AbsolutePosition & " de " & pRecordset.RecordCount
end sub
Private Sub rstTrab_WillChangeField(ByVal cFields As Long, ByVal Fields As Variant, adStatus As Adodb.EventStatusEnum, ByVal pRecordset As Adodb.Recordset)
end sub
Private Sub rstTrab_WillChangeRecord(ByVal adReason As Adodb.EventReasonEnum, ByVal cRecords As Long, adStatus As Adodb.EventStatusEnum, ByVal pRecordset As Adodb.Recordset)
end sub
Intento conocer el valor de adReason, etc para poder tomar decisiones de que ha ocurrido y que hacer a continuación.
Por ejemplo UpdateBatch o CancelBatch..
Pero no tengo claro los valores que pueden devolverme esas variables.
Pretendo que si hay cambios en el registro, antes de grabarlos solicitar que el usuario conteste a un textbox con YES.
Podeis encenderme una LUZ???
Saludos