Datos repetidos en base
Hola de nuevo tengo este código y lo que me esta haciendo es guardar todos los datos que entran pero lo que quiero es que cuando entra el dato que solamente actualize ese registro de ese móvil con la fecha actual del reporte osea que no me agregue otro registro sino que actualize el que ya esta.
If MiRecordset.EOF = True And MiRecordset.BOF = True Then
Encontrado = False
GoTo BaseVacia
End If
Do While Not MiRecordset.EOF
'Actualizamos la posición del movil en las últimas posiciones
If Val(Movil) <> 0 And Val(Movil) = MiRecordset!Poul_vehi_id Then
MiRecordset!Poul_latitud = Latitud1
MiRecordset!Poul_longitud = Longitud1
'Llamamos a CalculoFecha para calcular la hora y el día con el resultado de las horas de menos para Uruguay con relación a UTM
FechaC = CalculoFecha(DiaHora)
diayhora = FechaC
MiRecordset!Poul_posi_fecha = FechaC
Print #2, "Guardo datos del Movil " & Movil
Print #2, " Latitud: " & Latitud1; "Longitud: " & Longitud1; "Fecha: " & FechaC
PVelocidad = Val(Mid(VirlocData, 34, 3))
PSentido = Val(Mid(VirlocData, 37, 3))
PCalidad = 3
VHexa = "&H" & Mid(VirlocData, 43, 2)
PEstado = CInt(VHexa)
AlarmaMostrada = Mid(VirlocData, 45, 2)
If Val(AlarmaMostrada) = 0 Then
PEvento = 20
Else
PEvento = Val(AlarmaMostrada)
End If
MiRecordset!Poul_velocidad = PVelocidad
MiRecordset!Poul_sentido = PSentido
MiRecordset!Poul_calidad_sgn = PCalidad
MiRecordset!Poul_estado = PEstado
MiRecordset!Poul_evento = PEvento
Encontrado = True
MiRecordset.Update
Exit Do
End If
MiRecordset.MoveNext
Loop
MiRecordset.MoveFirst
BaseVacia:
If MiRecordset2.EOF = True And MiRecordset2.BOF = True Then
Exit Sub
End If
If Encontrado = False And Val(Movil) <> 0 Then
MiRecordset.AddNew
MiRecordset!Poul_vehi_id = Movil
MiRecordset!Poul_latitud = Latitud1
MiRecordset!Poul_longitud = Longitud1
'Llamamos a CalculoFecha para calcular la hora y el día con el resultado de las horas de menos para Uruguay con relación a...
If MiRecordset.EOF = True And MiRecordset.BOF = True Then
Encontrado = False
GoTo BaseVacia
End If
Do While Not MiRecordset.EOF
'Actualizamos la posición del movil en las últimas posiciones
If Val(Movil) <> 0 And Val(Movil) = MiRecordset!Poul_vehi_id Then
MiRecordset!Poul_latitud = Latitud1
MiRecordset!Poul_longitud = Longitud1
'Llamamos a CalculoFecha para calcular la hora y el día con el resultado de las horas de menos para Uruguay con relación a UTM
FechaC = CalculoFecha(DiaHora)
diayhora = FechaC
MiRecordset!Poul_posi_fecha = FechaC
Print #2, "Guardo datos del Movil " & Movil
Print #2, " Latitud: " & Latitud1; "Longitud: " & Longitud1; "Fecha: " & FechaC
PVelocidad = Val(Mid(VirlocData, 34, 3))
PSentido = Val(Mid(VirlocData, 37, 3))
PCalidad = 3
VHexa = "&H" & Mid(VirlocData, 43, 2)
PEstado = CInt(VHexa)
AlarmaMostrada = Mid(VirlocData, 45, 2)
If Val(AlarmaMostrada) = 0 Then
PEvento = 20
Else
PEvento = Val(AlarmaMostrada)
End If
MiRecordset!Poul_velocidad = PVelocidad
MiRecordset!Poul_sentido = PSentido
MiRecordset!Poul_calidad_sgn = PCalidad
MiRecordset!Poul_estado = PEstado
MiRecordset!Poul_evento = PEvento
Encontrado = True
MiRecordset.Update
Exit Do
End If
MiRecordset.MoveNext
Loop
MiRecordset.MoveFirst
BaseVacia:
If MiRecordset2.EOF = True And MiRecordset2.BOF = True Then
Exit Sub
End If
If Encontrado = False And Val(Movil) <> 0 Then
MiRecordset.AddNew
MiRecordset!Poul_vehi_id = Movil
MiRecordset!Poul_latitud = Latitud1
MiRecordset!Poul_longitud = Longitud1
'Llamamos a CalculoFecha para calcular la hora y el día con el resultado de las horas de menos para Uruguay con relación a...
1 Respuesta
Respuesta de José Saúl Méndez Alonso
1