Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

como convertir una hora para una consulta select..

Estas en el tema de como convertir una hora para una consulta select.. en el foro de Visual Basic clásico en Foros del Web. buenas tardes tengo definido un campo HORA como datetime el cual me asigna la hora como por ejemplo 4:35:17 p.m. ahora bien estoy haciendo una ...
  #1 (permalink)  
Antiguo 21/05/2007, 13:04
 
Fecha de Ingreso: abril-2007
Mensajes: 48
Antigüedad: 17 años
Puntos: 0
como convertir una hora para una consulta select..

buenas tardes tengo definido un campo HORA como datetime el cual me asigna la hora como por ejemplo 4:35:17 p.m. ahora bien estoy haciendo una consulta en donde recupero la hora para pasarla a la consulta que voy a usar, esto es asi:

Código PHP:
dim cuenta as double
dim hr 
as string  '---> ya la pase a datetime y igual me da error

rs.open "select hora where cuenta=" & val(cta),,,

while not EOF
  cuenta = RStmp![CO_CTA]  ' 
recupero variables
  hr 
RStmp![hora]
 
rsTmp.open "select * from Bitacora2 where CO_CTA= " Val(cuenta) & " and HORA= ' " hora " ' ", ,,

error al convertir una cadena de caracteres a datetime

rs
.movenext
wend 
tambien he usado la funcion cdate(hora) en mi variable que defini y me de error, en este caso que formato uso o como puedo hacer esta consulta.

les agradesco mil gracias.
  #2 (permalink)  
Antiguo 21/05/2007, 16:16
 
Fecha de Ingreso: abril-2007
Mensajes: 187
Antigüedad: 17 años
Puntos: 1
Re: como convertir una hora para una consulta select..

Primero revisa esta select
Código:
rs.open "select hora where cuenta=" & val(cta),,,
Si no pones el code completo es muy dificil dar en el clavo a la primera.
  #3 (permalink)  
Antiguo 22/05/2007, 09:31
 
Fecha de Ingreso: abril-2007
Mensajes: 48
Antigüedad: 17 años
Puntos: 0
Re: como convertir una hora para una consulta select..

mi consulta completa es esta:

Código PHP:
rs.open "select hora where cuenta=" val (cta),conectar,adOpenDynamic,adLockOptimistic

en mi tabla tengo registros de este tipo
:

cta    fecha        hora         bitac
521    12
/02/2007    02:52:00 p.m.    algo anotan
521    14
/02/2007    02:15:00 p.m.    algo anotan2
521    15
/02/2007    03:02:00 a.m.    algo anotan3

la cuestion es consultar con estos tres campos cta
horasolo que no se como pasarle la hora ya que me da el 'error al convertir una cadena de caracteres a datetime, tambien he usado tambien format(hora, "hh:mm") pero tambien me da el mismo error

aqui ocupare la hora,cta:
rsTmp.open "select * from Bitacora2 where CO_CTA= " & Val(cuenta) & " and HORA= ' " & hora & "  ",conectar,adOpenDynamic,adLockOptimistic
donde cuenta,hora recupero en variables. 
me puedes ayudar les agredesco mil gracias
  #4 (permalink)  
Antiguo 22/05/2007, 10:10
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 2 meses
Puntos: 17
Re: como convertir una hora para una consulta select..

mira, la fecha y la hora se manejan con el mismo formato en las consultas, el problema tuyo pasa por las cremillas simples, reemplazalas por #, por ejemplo

sql="select * from bitacora2 where hora=#" & format(hora,"hh:mm:ss) & "# and cuenta=" & cuenta

fijo que funciona jajajajajaja, pero no le pases al campo hora el valor entre comillas, pasalo entre gatos (#)
  #5 (permalink)  
Antiguo 24/05/2007, 09:36
 
Fecha de Ingreso: abril-2007
Mensajes: 48
Antigüedad: 17 años
Puntos: 0
Re: como convertir una hora para una consulta select..

buenos dias, disculpen pero ya realize el cambio para el formato de hora y me sigue dando error de sintaxis '09'

este es el cambio
Código PHP:
Rs.Open "select * from Bitacora2 where HORA = # " Format(RsTmp![hora], "hh:mm:ss") & " # and CO_CTA= " Val(cuenta), ConectaradOpenDynamicadLockOptimistic

en este caso tengo la hora 09
:12:23 p.m
como me indicaron le quite la cremillas y use los gatos y no mas nada que puedo hacer les agradeceria.
  #6 (permalink)  
Antiguo 25/05/2007, 13:54
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 2 meses
Puntos: 17
Re: como convertir una hora para una consulta select..

que extraño, mira lo unico ke se meocurre es ke el problema este en RsTmp![hora], que tipo de campo es? string? date? mira, interrumpe el programa en esa linea y en la ventana de debug tipea : debug.print format(rstmp![hora],"hh:mm:ss), crea una variable tipo date y en la misma ventana de debug, asignale el valor de rstmn![hora], si te da un error, es porke el formato de tu variable no es correcto, avisame como te va
  #7 (permalink)  
Antiguo 29/05/2007, 17:09
 
Fecha de Ingreso: abril-2007
Mensajes: 48
Antigüedad: 17 años
Puntos: 0
Re: como convertir una hora para una consulta select..

saludos, mi campo Hora esta declarado en la tabla como datetime y cambie mi variable Hr de string por date y es el mismo error, estoy usando sql server 2000

Código PHP:
Dim hr As Date
hr 
RsTmp![hora]

Rs.Open "select * from Bitacora2 where HORA = # " Format(hr"hh:mm:ss") & " # and CO_CTA= " Val(cuenta), ConectaradOpenDynamicadLockOptimistic

 me sigue dando error
:  error de sintaxis '09'
 
no se entonces por que da el el error sinedo que ya le di el formato 
les agredesco, gracias
  #8 (permalink)  
Antiguo 23/08/2007, 10:15
Avatar de oabareload  
Fecha de Ingreso: junio-2006
Ubicación: Distrito Federal, México
Mensajes: 57
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: como convertir una hora para una consulta select..

Trata de usar un formato de fecha sin segundos... asi le hice yo ya que tenia:

FormatDateTime(now,3) osea hh:mm:ss

Y lo cambie a:

FormatDateTime(now,4) osea hh:mm

Y así Funciono
  #9 (permalink)  
Antiguo 23/08/2007, 11:00
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: como convertir una hora para una consulta select..

intenta con la siguiente forma

select * from Bitacora2 where CO_CTA= " & trim(cuenta) & " and Convert( VarChar(8), HORA, 108)= '" & Trim(Hora) & "'"


ojo que en este caso la hora va en formato de texto... pero prueba si te sirve de esa forma.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:09.