Saber ultimo registro en visual
Quiero saber como hacer desde visual basic 6.0 para que pueda hacer una consulta en mi tabla Posiciones de mi base de datos sql para que se pare en el ultimo registro de la misma comparando el parámetro fecha y el móvil y si encuentra en el ultimo registro ese dato que no me permita ingresar un mismo registro con ese móvil y esa fecha, pero no logro obtener ese ultimo registro, lo que he logrado hasta el momento es encontrar un primer registro que coincida con el móvil y la fecha pero igual me sigue guardando.
En fin si alguien me puede ayudar a encontrar el ultimo registro desde visual de mi tabla sql Posiciones les agradecería, he probado con:
MiRecordset9.Open "SELECT Posi_Vehi_id, Posi_fecha, " & _
'"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic, pero no me funciona.
En fin si alguien me puede ayudar a encontrar el ultimo registro desde visual de mi tabla sql Posiciones les agradecería, he probado con:
MiRecordset9.Open "SELECT Posi_Vehi_id, Posi_fecha, " & _
'"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic, pero no me funciona.
1 respuesta
Respuesta de José Saúl Méndez Alonso
1
1
Te propongo que adicionalmente a lo que ya haces intentes lo siguiente:
if MiRecordset9.bof and MiRecordset9.eof then
'Esto quiere decir que no encontró ningún registro que coincida con los parametros de la consulta
MiRecordset9.update
else
msgbox "Ya existe un regitro con los datos del MOVIL"
end if
Si esto no es lo que buscas te puedo proponer otra solución. Por cierto porque no intentas ordenar de forma DESCENDENTE tu consulta, así estarías en el último registro.
if MiRecordset9.bof and MiRecordset9.eof then
'Esto quiere decir que no encontró ningún registro que coincida con los parametros de la consulta
MiRecordset9.update
else
msgbox "Ya existe un regitro con los datos del MOVIL"
end if
Si esto no es lo que buscas te puedo proponer otra solución. Por cierto porque no intentas ordenar de forma DESCENDENTE tu consulta, así estarías en el último registro.
Es algo así si, lo que quiero y no logro es consultar el ultimo registro desde visual que tenga el móvil que esta entrando como dato y que tenga la ultima fecha registrada en la tablla par ese móvil y si existe que no vuelva a guardar porque sino se repite y si no esta que si guarde.
A ver cuando haces una consulta, ésta sólo te puede devolver 2 opciones para tu recordset una es que el RecordSet este vacío y la otra es que contenga datos.
Obviamente los resultados dependen directamente de los parámetros y operadores que tengas en la clausula WHERE por ejemplo cuando usas el operardor AND la consulte te devuelve menos registros para el RecorSet, en cambio cuando usas el operador OR te puede devolver muchos más.
Regresando al problema que planteas te puedo sugerir lo siguiente:
1.- Si necesitas el último registro del RecordSet haz la siguiente consulta:
MiRecordset9.Open "SELECT TOP 1 Posi_Vehi_id, Posi_fecha, " & _
'"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha DESC", MiConexion, adOpenDynamic, adLockOptimistic
En este caso TOP 1 indica que sólo te devuelva un registro y DESC en el ORDER BY sirve para que ordene los registros de forma Descendente. Resultado te debe devolver el último registro.
2.-Usando tu consulta original puedes usar el comando MOVELAST del Recordset
Ejemplo:
MiRecordset9.Open "SELECT Posi_Vehi_id, Posi_fecha, " & _
'"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
MiRecordset9. MoveLast
Si esto no resuelve tu problema aún entonces te pido me muestres un ejemplo del resultado que tu consulta devuelve para tratar de entender mejor el problema.
Obviamente los resultados dependen directamente de los parámetros y operadores que tengas en la clausula WHERE por ejemplo cuando usas el operardor AND la consulte te devuelve menos registros para el RecorSet, en cambio cuando usas el operador OR te puede devolver muchos más.
Regresando al problema que planteas te puedo sugerir lo siguiente:
1.- Si necesitas el último registro del RecordSet haz la siguiente consulta:
MiRecordset9.Open "SELECT TOP 1 Posi_Vehi_id, Posi_fecha, " & _
'"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha DESC", MiConexion, adOpenDynamic, adLockOptimistic
En este caso TOP 1 indica que sólo te devuelva un registro y DESC en el ORDER BY sirve para que ordene los registros de forma Descendente. Resultado te debe devolver el último registro.
2.-Usando tu consulta original puedes usar el comando MOVELAST del Recordset
Ejemplo:
MiRecordset9.Open "SELECT Posi_Vehi_id, Posi_fecha, " & _
'"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
MiRecordset9. MoveLast
Si esto no resuelve tu problema aún entonces te pido me muestres un ejemplo del resultado que tu consulta devuelve para tratar de entender mejor el problema.
Hola esta bueno lo que me pasaste pero cuando coloco en mi aplicación y entra hay debugeando se sale no entra al if y no se que podrá ser y si estoy errando en algo, muchas gracias por ayudarme. Esto me tiene loco, me esta repitiendo los datos, digo el dato que no quiero que repita es la fecha, el móvil y demás puede ser el mismo, pero la fecha no.
MiRecordset5.Open "SELECT Posi_Vehi_id, Posi_fecha, " & _
"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
MiRecordset5.MoveLast
If MiRecordset5.EOF = False Then
MsgBox "encontre mismo datos"
Exit Sub
Else
MsgBox "puedo guardar no encontre dato"
End If
MiRecordset5.Open "SELECT Posi_Vehi_id, Posi_fecha, " & _
"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
MiRecordset5.MoveLast
If MiRecordset5.EOF = False Then
MsgBox "encontre mismo datos"
Exit Sub
Else
MsgBox "puedo guardar no encontre dato"
End If
Porque no agregas un procedimiento con manejo de errores y así cuando corras la aplicación capturas los errores que puedan presentarse y de esa manera puedas saber donde falla
Ejemplo
Public Sub BuscaUltimoDato(ByVal sDato1 as string, ByVal dFechas as Date)
On Error GoTo Err_BuscaUltimoDato
MiRecordset5.Open "SELECT Posi_Vehi_id, Posi_fecha, " & _
"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
If MiRecordset5.BOF AND MiRecordset5.EOF then
<span style="white-space: pre;"> </span>MsgBox "puedo guardar no encontre dato"
Else
MiRecordset5.MoveLast
If MiRecordset5.EOF = False Then
MsgBox "encontre mismo datos"
Exit Sub
Else
MsgBox "puedo guardar no encontre dato"
End If
End IF
Exit_BuscaUltimoDato:
Exit Sub
Err_BuscaUltimoDato:
<span style="white-space: pre;"> </span>if Err.Number <>0 then
<span style="white-space: pre;"> </span>MsgBox "Error No. " & Err.Number & " - " & Err.Description & " Originado por: " & Err.Source
<span style="white-space: pre;"> </span>End If
<span style="white-space: pre;"> </span>Resume Err_BuscaUltimoDato
End Sub
Ejemplo
Public Sub BuscaUltimoDato(ByVal sDato1 as string, ByVal dFechas as Date)
On Error GoTo Err_BuscaUltimoDato
MiRecordset5.Open "SELECT Posi_Vehi_id, Posi_fecha, " & _
"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
If MiRecordset5.BOF AND MiRecordset5.EOF then
<span style="white-space: pre;"> </span>MsgBox "puedo guardar no encontre dato"
Else
MiRecordset5.MoveLast
If MiRecordset5.EOF = False Then
MsgBox "encontre mismo datos"
Exit Sub
Else
MsgBox "puedo guardar no encontre dato"
End If
End IF
Exit_BuscaUltimoDato:
Exit Sub
Err_BuscaUltimoDato:
<span style="white-space: pre;"> </span>if Err.Number <>0 then
<span style="white-space: pre;"> </span>MsgBox "Error No. " & Err.Number & " - " & Err.Description & " Originado por: " & Err.Source
<span style="white-space: pre;"> </span>End If
<span style="white-space: pre;"> </span>Resume Err_BuscaUltimoDato
End Sub
Hola sabes que coloque lo que me pasaste y quedo así:
Public Sub BuscaUltimoDato(ByVal sDato1 As String, ByVal dFechas As Date)
On Error GoTo Err_BuscaUltimoDato
MiRecordset5.Open "SELECT Posi_Vehi_id, Posi_fecha, " & _
"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
If MiRecordset5.BOF And MiRecordset5.EOF Then
MsgBox "puedo guardar no encontre dato"
Else
MiRecordset5.MoveLast
If MiRecordset5.EOF = False Then
MsgBox "encontre mismo datos"
Exit Sub
Else
MsgBox "puedo guardar no encontre dato"
Call ActPosiciones
End If
End If
Exit_BuscaUltimoDato:
Exit Sub
Err_BuscaUltimoDato:
If Err.Number <> 0 Then
MsgBox "Error No. " & Err.Number & " - " & Err.Description & " Originado por: " & Err.Source
End If
Resume Err_BuscaUltimoDato
End Sub
.....pero al entrar aca MiRecordset5.Open "SELECT Posi_Vehi_id, Posi_fecha, " & _
"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
no pasa al if y salta el error este:
Error 3705 La operación no esta permitida si el objeto esta abierto Originado por ADODB Recrdset.
Gracias por tratar de ayudarmela verdad no doy con esto se me duplican los datos en mi tabla, lo que se puede repetir es el móvil ej 1010, pero la fecha también me repite ej 10:00,10:00 y eso es lo que quiero controlar si la fecha es igual que no guarde, gracias.
Public Sub BuscaUltimoDato(ByVal sDato1 As String, ByVal dFechas As Date)
On Error GoTo Err_BuscaUltimoDato
MiRecordset5.Open "SELECT Posi_Vehi_id, Posi_fecha, " & _
"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
If MiRecordset5.BOF And MiRecordset5.EOF Then
MsgBox "puedo guardar no encontre dato"
Else
MiRecordset5.MoveLast
If MiRecordset5.EOF = False Then
MsgBox "encontre mismo datos"
Exit Sub
Else
MsgBox "puedo guardar no encontre dato"
Call ActPosiciones
End If
End If
Exit_BuscaUltimoDato:
Exit Sub
Err_BuscaUltimoDato:
If Err.Number <> 0 Then
MsgBox "Error No. " & Err.Number & " - " & Err.Description & " Originado por: " & Err.Source
End If
Resume Err_BuscaUltimoDato
End Sub
.....pero al entrar aca MiRecordset5.Open "SELECT Posi_Vehi_id, Posi_fecha, " & _
"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
no pasa al if y salta el error este:
Error 3705 La operación no esta permitida si el objeto esta abierto Originado por ADODB Recrdset.
Gracias por tratar de ayudarmela verdad no doy con esto se me duplican los datos en mi tabla, lo que se puede repetir es el móvil ej 1010, pero la fecha también me repite ej 10:00,10:00 y eso es lo que quiero controlar si la fecha es igual que no guarde, gracias.
Ok haz lo siguiente primero valida el estado del record set y luego procede a realizar tu acciones:
Public Sub BuscaUltimoDato(ByVal sDato1 As String, ByVal dFechas As Date)
On Error GoTo Err_BuscaUltimoDato
if MiRecordset5.state<>0 then
<span style="white-space: pre;"> </span>MiRecordset5.close
end if
MiRecordset5.Open "SELECT Posi_Vehi_id, Posi_fecha, " & _
"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
If MiRecordset5.BOF And MiRecordset5.EOF Then
MsgBox "puedo guardar no encontre dato"
Else
MiRecordset5.MoveLast
If MiRecordset5.EOF = False Then
MsgBox "encontre mismo datos"
Exit Sub
Else
MsgBox "puedo guardar no encontre dato"
Call ActPosiciones
End If
End If
Exit_BuscaUltimoDato:
Exit Sub
Err_BuscaUltimoDato:
If Err.Number <> 0 Then
MsgBox "Error No. " & Err.Number & " - " & Err.Description & " Originado por: " & Err.Source
End If
Resume Err_BuscaUltimoDato
End Sub
Public Sub BuscaUltimoDato(ByVal sDato1 As String, ByVal dFechas As Date)
On Error GoTo Err_BuscaUltimoDato
if MiRecordset5.state<>0 then
<span style="white-space: pre;"> </span>MiRecordset5.close
end if
MiRecordset5.Open "SELECT Posi_Vehi_id, Posi_fecha, " & _
"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
If MiRecordset5.BOF And MiRecordset5.EOF Then
MsgBox "puedo guardar no encontre dato"
Else
MiRecordset5.MoveLast
If MiRecordset5.EOF = False Then
MsgBox "encontre mismo datos"
Exit Sub
Else
MsgBox "puedo guardar no encontre dato"
Call ActPosiciones
End If
End If
Exit_BuscaUltimoDato:
Exit Sub
Err_BuscaUltimoDato:
If Err.Number <> 0 Then
MsgBox "Error No. " & Err.Number & " - " & Err.Description & " Originado por: " & Err.Source
End If
Resume Err_BuscaUltimoDato
End Sub
Bueno impecable con esto sabemos los errores, muy bueno mira ahora en el código le borre el dato1 que estaba como parámetro porque no era necesario solo deje la fecha.
Public Sub BuscaUltimoDato(ByVal dFechas As Date)
On Error GoTo Err_BuscaUltimoDato
If MiRecordset5.state <> 0 Then
MiRecordset5.Close
End If
MiRecordset5.Open "SELECT Posi_Vehi_id, Posi_fecha, " & _
"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
If MiRecordset5.BOF And MiRecordset5.EOF Then
MsgBox "puedo guardar no encontre dato"
Else
MiRecordset5.MoveLast
If MiRecordset5.EOF = False Then
MsgBox "encontre mismo datos"
Exit Sub
Else
MsgBox "puedo guardar no encontre dato"
Call ActPosiciones
End If
End If
Exit_BuscaUltimoDato:
Exit Sub
Err_BuscaUltimoDato:
If Err.Number <> 0 Then
MsgBox "Error No. " & Err.Number & " - " & Err.Description & " Originado por: " & Err.Source
End If
Resume Err_BuscaUltimoDato
End Sub
EN MIRecordset5.state me da que es igual a 1 y de hay se cierra y salta el error
SINTAXI INCORRECTA CERCA DE LA PALABRA CLAVE FROM, Y HAY QUEDA EN EL ERROR Y NO SALE
Public Sub BuscaUltimoDato(ByVal dFechas As Date)
On Error GoTo Err_BuscaUltimoDato
If MiRecordset5.state <> 0 Then
MiRecordset5.Close
End If
MiRecordset5.Open "SELECT Posi_Vehi_id, Posi_fecha, " & _
"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
If MiRecordset5.BOF And MiRecordset5.EOF Then
MsgBox "puedo guardar no encontre dato"
Else
MiRecordset5.MoveLast
If MiRecordset5.EOF = False Then
MsgBox "encontre mismo datos"
Exit Sub
Else
MsgBox "puedo guardar no encontre dato"
Call ActPosiciones
End If
End If
Exit_BuscaUltimoDato:
Exit Sub
Err_BuscaUltimoDato:
If Err.Number <> 0 Then
MsgBox "Error No. " & Err.Number & " - " & Err.Description & " Originado por: " & Err.Source
End If
Resume Err_BuscaUltimoDato
End Sub
EN MIRecordset5.state me da que es igual a 1 y de hay se cierra y salta el error
SINTAXI INCORRECTA CERCA DE LA PALABRA CLAVE FROM, Y HAY QUEDA EN EL ERROR Y NO SALE
Te sobra una coma después de Posi_fecha Checalo de nuevo
Así quedaría:
Public Sub BuscaUltimoDato(ByVal dFechas As Date)
On Error GoTo Err_BuscaUltimoDato
If MiRecordset5.state <> 0 Then
MiRecordset5.Close
End If
MiRecordset5.Open "SELECT Posi_Vehi_id, Posi_fecha " & _
"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
If MiRecordset5.BOF And MiRecordset5.EOF Then
MsgBox "puedo guardar no encontre dato"
Else
MiRecordset5.MoveLast
If MiRecordset5.EOF = False Then
MsgBox "encontre mismo datos"
Exit Sub
Else
MsgBox "puedo guardar no encontre dato"
Call ActPosiciones
End If
End If
Exit_BuscaUltimoDato:
Exit Sub
Err_BuscaUltimoDato:
If Err.Number <> 0 Then
MsgBox "Error No. " & Err.Number & " - " & Err.Description & " Originado por: " & Err.Source
End If
Resume Err_BuscaUltimoDato
End Sub
Así quedaría:
Public Sub BuscaUltimoDato(ByVal dFechas As Date)
On Error GoTo Err_BuscaUltimoDato
If MiRecordset5.state <> 0 Then
MiRecordset5.Close
End If
MiRecordset5.Open "SELECT Posi_Vehi_id, Posi_fecha " & _
"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = fechaC) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
If MiRecordset5.BOF And MiRecordset5.EOF Then
MsgBox "puedo guardar no encontre dato"
Else
MiRecordset5.MoveLast
If MiRecordset5.EOF = False Then
MsgBox "encontre mismo datos"
Exit Sub
Else
MsgBox "puedo guardar no encontre dato"
Call ActPosiciones
End If
End If
Exit_BuscaUltimoDato:
Exit Sub
Err_BuscaUltimoDato:
If Err.Number <> 0 Then
MsgBox "Error No. " & Err.Number & " - " & Err.Description & " Originado por: " & Err.Source
End If
Resume Err_BuscaUltimoDato
End Sub
Creo que con esto que me distes vamos a llegar a la solución me salio otro error en la fecha, te paso el código
Public Sub BuscaUltimoDato(ByVal dFechas As Date)
On Error GoTo Err_BuscaUltimoDato
If MiRecordset5.state <> 0 Then
MiRecordset5.Close
End If
MiRecordset5.Open "SELECT Posi_Vehi_id, Posi_fecha " & _
"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = dfechas) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
If MiRecordset5.BOF And MiRecordset5.EOF Then
MsgBox "puedo guardar no encontre dato"
Else
MiRecordset5.MoveLast
If MiRecordset5.EOF = False Then
MsgBox "encontre mismo datos"
Exit Sub
Else
MsgBox "puedo guardar no encontre dato"
Call ActPosiciones
End If
End If
Exit_BuscaUltimoDato:
Exit Sub
Err_BuscaUltimoDato:
If Err.Number <> 0 Then
MsgBox "Error No. " & Err.Number & " - " & Err.Description & " Originado por: " & Err.Source
End If
Resume Err_BuscaUltimoDato
End Sub
Ahora el error cambio otra vez es:
En el nombre de columna dfechas no es válido originado por microsoft ole db provider for sql server
gracias por tu tiempo esto me esta dando dolor de cabeza pero estoy cerca con tu ayuda
Public Sub BuscaUltimoDato(ByVal dFechas As Date)
On Error GoTo Err_BuscaUltimoDato
If MiRecordset5.state <> 0 Then
MiRecordset5.Close
End If
MiRecordset5.Open "SELECT Posi_Vehi_id, Posi_fecha " & _
"From Posiciones WHERE (Posi_Vehi_id =" & Movil & ") AND (Posi_fecha = dfechas) ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
If MiRecordset5.BOF And MiRecordset5.EOF Then
MsgBox "puedo guardar no encontre dato"
Else
MiRecordset5.MoveLast
If MiRecordset5.EOF = False Then
MsgBox "encontre mismo datos"
Exit Sub
Else
MsgBox "puedo guardar no encontre dato"
Call ActPosiciones
End If
End If
Exit_BuscaUltimoDato:
Exit Sub
Err_BuscaUltimoDato:
If Err.Number <> 0 Then
MsgBox "Error No. " & Err.Number & " - " & Err.Description & " Originado por: " & Err.Source
End If
Resume Err_BuscaUltimoDato
End Sub
Ahora el error cambio otra vez es:
En el nombre de columna dfechas no es válido originado por microsoft ole db provider for sql server
gracias por tu tiempo esto me esta dando dolor de cabeza pero estoy cerca con tu ayuda
Intenta con esto
Public Sub BuscaUltimoDato(ByVal dFechas As Date)
On Error GoTo Err_BuscaUltimoDato
If MiRecordset5.state <> 0 Then
MiRecordset5.Close
End If
MiRecordset5.Open "SELECT Posi_Vehi_id, Posi_fecha " & _
"From Posiciones WHERE (Posi_Vehi_id ='" & Movil & "') AND (Posi_fecha = '" & dfechas & "') ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
If MiRecordset5.BOF And MiRecordset5.EOF Then
MsgBox "puedo guardar no encontre dato"
Else
MiRecordset5.MoveLast
If MiRecordset5.EOF = False Then
MsgBox "encontre mismo datos"
Exit Sub
Else
MsgBox "puedo guardar no encontre dato"
Call ActPosiciones
End If
End If
Exit_BuscaUltimoDato:
Exit Sub
Err_BuscaUltimoDato:
If Err.Number <> 0 Then
MsgBox "Error No. " & Err.Number & " - " & Err.Description & " Originado por: " & Err.Source
End If
Resume Err_BuscaUltimoDato
End Sub
Sólo le agregué comilla sencilla a la línea donde abres el recordset
Public Sub BuscaUltimoDato(ByVal dFechas As Date)
On Error GoTo Err_BuscaUltimoDato
If MiRecordset5.state <> 0 Then
MiRecordset5.Close
End If
MiRecordset5.Open "SELECT Posi_Vehi_id, Posi_fecha " & _
"From Posiciones WHERE (Posi_Vehi_id ='" & Movil & "') AND (Posi_fecha = '" & dfechas & "') ORDER BY Posi_fecha", MiConexion, adOpenDynamic, adLockOptimistic
If MiRecordset5.BOF And MiRecordset5.EOF Then
MsgBox "puedo guardar no encontre dato"
Else
MiRecordset5.MoveLast
If MiRecordset5.EOF = False Then
MsgBox "encontre mismo datos"
Exit Sub
Else
MsgBox "puedo guardar no encontre dato"
Call ActPosiciones
End If
End If
Exit_BuscaUltimoDato:
Exit Sub
Err_BuscaUltimoDato:
If Err.Number <> 0 Then
MsgBox "Error No. " & Err.Number & " - " & Err.Description & " Originado por: " & Err.Source
End If
Resume Err_BuscaUltimoDato
End Sub
Sólo le agregué comilla sencilla a la línea donde abres el recordset
Hola sabes que puse tal cual me pasaste como he hecho hasta ahora y ahora me sale este error:
Sintaxis incorrecta cerca de '19' Originado por Ole db provider microsoft sql server
hay me mato la estoy viendo de nuevo no tengo palabras para agradecer que me ayudes ya que nadie ha podido hasta ahora y con esto me estas ayudando a ver los errores notable
Sintaxis incorrecta cerca de '19' Originado por Ole db provider microsoft sql server
hay me mato la estoy viendo de nuevo no tengo palabras para agradecer que me ayudes ya que nadie ha podido hasta ahora y con esto me estas ayudando a ver los errores notable
La verdad estoy feliz porque estoy debugeando y por finnnnnnnnnnnnnn esta controlando la fecha del ultimo registro, esta funcionando no me esta repitiendo, voy a seguir porbando pero por ahora esta funcionando, no tengo palabras de agradecimiento y espero puedas ayudarme cuando este trancado como ahora, la verdad todos han dado opiniones pero tu le diste a la tecla notable te felicito y de corazón gracias y perdona las molestias por ahora ja porque capaz necesitare más adelante pero el control de errores esta excelente y esta funcionando.
- Compartir respuesta
- Anónimo
ahora mismo