Access - Destacar cambios en tabla histórico

 
Vista:
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Destacar cambios en tabla histórico

Publicado por Jesús Manuel (134 intervenciones) el 03/09/2013 13:49:39
Tengo dos tablas CLIENTES y HISTORICO_CLIENTE, en el que guardo las modificaciones de los campos de la tabla clientes o las eliminaciones.

Ahora necesito destacar (fondo o letra en otro color) los datos que se cambian en cada nuevo registro en HISTORICO_CLIENTE pero no tengo claro como poder hacerlo:

1) Para crear un nuevo registro en HISTORICO_CLIENTE tengo una función en el evento BeforeUpdate del formulario CLIENTES en el que se crea una cadena SQL que al ejecutarla crea el histórico. No se si se puede indicar en este paso, mediante código que el nuevo registro que se va a crear tenga un color de letra o de fondo determinado? Como sería?

El código de la cadena es el siguiente:

Private Sub HacerHistorial(ID As Long, OP As String)

Dim CNombre As Variant
Dim CApelllidos As Variant
Dim CNIF As Variant
Dim CTelefono As Variant
Dim CEmail As Variant

CNombre = DLookup("Nombre", "CLIENTES", "ID_Cliente =" & ID)
If IsNull(CNombre) Then
CNombre = "Null"
Else
CNombre = "'" & CNombre & "'"
End If


CApellidos = DLookup("Apellidos", "CLIENTES", "ID_Cliente =" & ID)
If IsNull(CApellidos) Then
CApellidos = "Null"
Else
CApellidos = "'" & CApellidos & "'"
End If

CNIF = DLookup("NIF", "CLIENTES", "ID_Cliente =" & ID)
If IsNull(CNIF) Then
CNIF = "Null"
Else
CNIF = "'" & CNIF & "'"
End If

CTelefono = DLookup("Telefono", "CLIENTES", "ID_Cliente =" & ID)
If IsNull(CTelefono) Then
CTelefono = "Null"
Else
CTelefono = "'" & CTelefono & "'"
End If

CEmail = DLookup("Email", "CLIENTES", "ID_Cliente =" & ID)
If IsNull(CEmail) Then
CEmail = "Null"
Else

MsgBox CEmail
MsgBox Me.Email.Value
If CEmail = Me.Email.Value Then
MsgBox "Campo co mesmo contido"
Else
MsgBox "Campo con contido novo"
End If

CEmail = "'" & CEmail & "'"
End If


Dim CadenaSQL As String

CadenaSQL = "INSERT INTO HISTORICO (ID_Cliente, Nombre, Apellidos, NIF, Telefono, Email, Tipo, Fecha_Actualizacion) VALUES (" & ID & ", " & _
CNombre & "," & _
CApellidos & "," & _
CNIF & "," & _
CTelefono & "," & _
CEmail & ", '" & _
OP & "', #" & _
Format(Now, "mm/dd/yyyy hh:nn:ss") & "#)"


CurrentDb.Execute CadenaSQL

End Sub


2) Tendría que comparar cada registro con el anterior (guardo una fecha de actualización para cada registro en HISTORICO_CLIENTES) para luego hacer el cambio de color? Como podría hacer la comparación?
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