Ver las NORMAS de estos Foros Web ZackYFileS Chat ZackYFileS Agregar a Favoritos Contactar con Administrador
 
 

TU PUBLICIDAD AQUÍ!!
Navegación
Retroceder   Foros ZackYFileS >
OTROS TEMAS DE INTERES - INTERNET:
> PROGRAMACIÓN Lenguajes: Visual Basic, C++, etc
Nombre de usuario
Contraseña
Configuración de UsuarioAyuda (FAQs)Nuevos PostsBuscar


Respuesta
 
Herramientas
Antiguo 17/01/2009, 14:50   #1
kadosh
Usuario Registrado
 
Fecha de ingreso: 16/feb/2008
Mensajes: 3
kadosh está en el buen camino
Consulta sobre Sql y Acces desde App. vb6

Hola a todos, tengo un problemita, estoy terminando una aplicacion y me quede barado. esta hecha en vb6 y usa un DB access . esta tiene una tabla con un campo fecha/hora y ahi guardo con normalidad datos desde la app.
ahora , estoy haciendo un reporte y cuando hago las consultas se me planta y me da error de formatos. si la hago con la misma base de datos, hace la consulta, si la copio a la instrucccion SQL de la misma base y pego en la aplicacion , anda. el problema es que no necesito una a "piñon fijo " sino yo pasar los parametros del formulario de la aplicacion. si se la pongo como string no funciona, si como time, tampoco, ademas, no se si hay algun problema con el formato de la tabla , por que la forma de pasarle los datos para que funcione, ( no se ve asi en la base de datos, solo muestra la hora ) es acompañada de la fecha... les muestro..

SELECT RESERVAS.ID_RESERVA, RESERVAS.A_NOMBRE, RESERVAS.ID_MESA, RESERVAS.FECHA_r, RESERVAS.HORA_r, RESERVAS.CANTIDAD_DE_CUB, RESERVAS.CANCELADA, RESERVAS.OCUPADA
FROM RESERVAS
WHERE (((RESERVAS.ID_MESA)=2) AND ((RESERVAS.FECHA_r)=#1/16/2009#) AND ((RESERVAS.HORA_r) Between #12/30/1899 16:0:0# And #12/30/1899 19:0:0#) AND ((RESERVAS.CANCELADA)=False));

la verdad es que no recuerdo haber tenido un problema asi para hacer una consulta, ni nada especial con horas, aunque no es muy comun en mis palicaciones, pero tampoco he tenido ningun problema...
si me dan una mano, se agradecera...
adrian
kadosh está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Publicidad: Conoce las ofertas de ANUNCIATE
Antiguo 17/01/2009, 20:31   #2
aspi
Usuario Activo
 
Avatar de aspi
 
Fecha de ingreso: 02/ago/2004
Mensajes: 259
aspi está en el buen camino
No tienes por qué tener problemas si generas tu la consulta de esta manera:

"SELECT RESERVAS.ID_RESERVA, RESERVAS.A_NOMBRE, RESERVAS.ID_MESA, RESERVAS.FECHA_r, RESERVAS.HORA_r, RESERVAS.CANTIDAD_DE_CUB, RESERVAS.CANCELADA, RESERVAS.OCUPADA
FROM RESERVAS
WHERE (((RESERVAS.ID_MESA)=2) AND ((RESERVAS.FECHA_r)=#" & format(mi_fecha,"dd/mm/yyyy") & "#) AND ((RESERVAS.HORA_r) Between #" & format(mi_fecha_2,"dd/mm/yyyy") & " " & format(hora_1,"00:00:00") & "# And #" & format(mi:fecha_3,"dd/mm/yyyy") & " " & format(hora_2,"00:00:00") & "#) AND ((RESERVAS.CANCELADA)=False));"

Simplemente generas las cadenas adecuadas (en el formato apropiado).

Un saludo.
__________________
MVISION MV 9085 NET-USB-TDT
aspi está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Antiguo 17/01/2009, 21:49   #3
kezuziyo
Zumbao
 
Avatar de kezuziyo
 
Fecha de ingreso: 22/ene/2004
Mensajes: 38.393
kezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatar
aspi yo nunca he trabajado con horas y no me apetece hacer pruebas hoy, pero en lo que pones de fechas esta mal, en una instruccion SQL tiene que poner las fechas en formato mm-dd-yyyy
__________________



>>>FOTO DE LA KEDADA DEL SURESTE 2008<<<
Consejos sobre como navegar por ZackY: Navegando por el foro
>>> [URL="http://www.jezuzillo.es/images/NoToros.htm"]Porque estoy en contra de las corridas de toros y de la existencia de una sección sobre las mismas en este foro[/URL] <<<
>>> [URL="http://foros.zackyfiles.com/showthread.php?t=591397"]Si quieres eliminar la sección taurina de tu navegador, pincha aquí[/URL] <<<

Última edición por kezuziyo; 21/01/2009 a las 22:44.
kezuziyo está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Antiguo 18/01/2009, 11:52   #4
kadosh
Usuario Registrado
 
Fecha de ingreso: 16/feb/2008
Mensajes: 3
kadosh está en el buen camino
Sql

Gracias por los aportes... , si le pase los formatos asi tambien, no la consulta tal cual la pones pero en los formatos si. tambien las fechas hay que ponerlas como dice el compañero, MM/DD/YYYY.
Pruebo tu ejemplo y posteo el resultadol
otra cosa, los campos de la tabla son solo de hora en el between.
tiene una fecha en el campo fecha, y un campo hora sobre el que hago la consulta de un rango de hora. la fecha a consultar es un dia, y las horas son un rango. Aclaro por que me parece que cambiaste un poco la sentencia...
saludos


[QUOTE=aspi;3665754]No tienes por qué tener problemas si generas tu la consulta de esta manera:

"SELECT RESERVAS.ID_RESERVA, RESERVAS.A_NOMBRE, RESERVAS.ID_MESA, RESERVAS.FECHA_r, RESERVAS.HORA_r, RESERVAS.CANTIDAD_DE_CUB, RESERVAS.CANCELADA, RESERVAS.OCUPADA
FROM RESERVAS
WHERE (((RESERVAS.ID_MESA)=2) AND ((RESERVAS.FECHA_r)=#" & format(mi_fecha,"dd/mm/yyyy") & "#) AND ((RESERVAS.HORA_r) Between #" & format(mi_fecha_2,"dd/mm/yyyy") & " " & format(hora_1,"00:00:00") & "# And #" & format(mi:fecha_3,"dd/mm/yyyy") & " " & format(hora_2,"00:00:00") & "#) AND ((RESERVAS.CANCELADA)=False));"

Simplemente generas las cadenas adecuadas (en el formato apropiado).

Un saludo.[/QUOTE]

Última edición por kadosh; 18/01/2009 a las 11:55.
kadosh está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Antiguo 18/01/2009, 12:05   #5
kezuziyo
Zumbao
 
Avatar de kezuziyo
 
Fecha de ingreso: 22/ene/2004
Mensajes: 38.393
kezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatar
Creo que hay una funcion llamada TimeValue que te da la parte de la hora de una fecha (tambien existe otra que se llama DateValue), mira en la ayuda a ver que devuelve y si hay ejemplos
__________________



>>>FOTO DE LA KEDADA DEL SURESTE 2008<<<
Consejos sobre como navegar por ZackY: Navegando por el foro
>>> [URL="http://www.jezuzillo.es/images/NoToros.htm"]Porque estoy en contra de las corridas de toros y de la existencia de una sección sobre las mismas en este foro[/URL] <<<
>>> [URL="http://foros.zackyfiles.com/showthread.php?t=591397"]Si quieres eliminar la sección taurina de tu navegador, pincha aquí[/URL] <<<
kezuziyo está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Antiguo 19/01/2009, 18:33   #6
aspi
Usuario Activo
 
Avatar de aspi
 
Fecha de ingreso: 02/ago/2004
Mensajes: 259
aspi está en el buen camino
x kadosh: Es posible que no entendiera bien el tema de las horas, pero la fiebre es lo que tiene.

x kezuziyo: (aspi yo nunca he trabajado con fechas y no me apetece hacer pruebas hoy, pero en lo que pones de fechas esta mal, en una instruccion SQL tiene que poner las fechas en formato mm-dd-yyyy)

Compañero kezuziyo... depende mucho del motor de la base de datos. Por ejemplo, en MySQL el formato es 'yyyy-mm-dd', en SQLserver es 'dd-mm-yyyy', en access #dd/mm/yyyy#, etc...

Saludos.
__________________
MVISION MV 9085 NET-USB-TDT
aspi está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Antiguo 21/01/2009, 22:46   #7
kezuziyo
Zumbao
 
Avatar de kezuziyo
 
Fecha de ingreso: 22/ene/2004
Mensajes: 38.393
kezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatar
aspi te equivocas, el standard SQL obliga a que las fechas sean con formato mm/dd/yyyy, y estoy harto de trabajar en Access. Otra cosa es que si vas al generador de consultas pongas la fecha en formato español, pero si ves la instruccion SQL que genera verás que lo ha cambiado al formato ingles.

(antes habia puesto que no habia trabajado con fechas, queria decir con horas, con fechas trabajo todos los dias)
__________________



>>>FOTO DE LA KEDADA DEL SURESTE 2008<<<
Consejos sobre como navegar por ZackY: Navegando por el foro
>>> [URL="http://www.jezuzillo.es/images/NoToros.htm"]Porque estoy en contra de las corridas de toros y de la existencia de una sección sobre las mismas en este foro[/URL] <<<
>>> [URL="http://foros.zackyfiles.com/showthread.php?t=591397"]Si quieres eliminar la sección taurina de tu navegador, pincha aquí[/URL] <<<

Última edición por kezuziyo; 21/01/2009 a las 22:48.
kezuziyo está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Antiguo 22/01/2009, 12:45   #8
aspi
Usuario Activo
 
Avatar de aspi
 
Fecha de ingreso: 02/ago/2004
Mensajes: 259
aspi está en el buen camino
[QUOTE=kezuziyo;3668353]aspi te equivocas, el standard SQL obliga a que las fechas sean con formato mm/dd/yyyy, y estoy harto de trabajar en Access. Otra cosa es que si vas al generador de consultas pongas la fecha en formato español, pero si ves la instruccion SQL que genera verás que lo ha cambiado al formato ingles.

(antes habia puesto que no habia trabajado con fechas, queria decir con horas, con fechas trabajo todos los dias)[/QUOTE]

Eso es compañero, si fuera un standar... pero la realidad es que cada motor tiene sus particularidades. Por ejemplo, access y mysql utilizan trim(), foxpro alltrim() y para hacer eso mismo en sqlserver, hay que hacer ltrim(rtrim(x))

Como ves, es lo mismo, pero de formas distintas.

Y el caso de las fechas tambien tiene su miga. Insisto... MySQL que sigue el standar mysql, tiene un formato de fecha yyyy-mm-dd.

De todas formas, no vamos a estar aquí discutiendo si el standar dice esto o lo otro, el caso es que cada sistema es como es, aunque todos utilicen select * from... y demás.

Un saludo febril (todabía)
__________________
MVISION MV 9085 NET-USB-TDT
aspi está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Antiguo 22/01/2009, 13:10   #9
kezuziyo
Zumbao
 
Avatar de kezuziyo
 
Fecha de ingreso: 22/ene/2004
Mensajes: 38.393
kezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatar
No se trata de discutir sino de no confundir al usuario que ha puesto la consulta.
Y suelo trabajar en Access casi todos los dias y siempre se manejan fechas, y por eso sé que el motor Jet utilizado por MS-Access cumple el standar ANSI del SQL y las fechas son mm/dd/yyyy, pero en el generador de expresiones para facilitar a los que no son programadores lo tienes que poner como dd-mm-aaaa (o sean poniendo el orden normal nuestro y cambiando las yyyy por aaaa) y el luego genera la sentencia SQL correcta.
__________________



>>>FOTO DE LA KEDADA DEL SURESTE 2008<<<
Consejos sobre como navegar por ZackY: Navegando por el foro
>>> [URL="http://www.jezuzillo.es/images/NoToros.htm"]Porque estoy en contra de las corridas de toros y de la existencia de una sección sobre las mismas en este foro[/URL] <<<
>>> [URL="http://foros.zackyfiles.com/showthread.php?t=591397"]Si quieres eliminar la sección taurina de tu navegador, pincha aquí[/URL] <<<
kezuziyo está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Antiguo 22/01/2009, 14:09   #10
aspi
Usuario Activo
 
Avatar de aspi
 
Fecha de ingreso: 02/ago/2004
Mensajes: 259
aspi está en el buen camino
Bueno, para no confundir a kdosh, intentaré ser lo más claro posible:

Tu consulta que funciona en acces es:

[I]SELECT RESERVAS.ID_RESERVA, RESERVAS.A_NOMBRE, RESERVAS.ID_MESA, RESERVAS.FECHA_r, RESERVAS.HORA_r, RESERVAS.CANTIDAD_DE_CUB, RESERVAS.CANCELADA, RESERVAS.OCUPADA
FROM RESERVAS
WHERE (((RESERVAS.ID_MESA)=2) AND ((RESERVAS.FECHA_r)=#1/16/2009#) AND ((RESERVAS.HORA_r) Between #12/30/1899 16:0:0# And #12/30/1899 19:0:0#) AND ((RESERVAS.CANCELADA)=False));[/I]


Si esa consulta la ejecutas desde vb y te funciona, simplemente tienes que generar la cadena de la consulta a tu gusto pasando los datos necesarios.

Yo cambiaría el formato del campo hora a 'Hora corta' para tener solo horas y munutos.


¿ Cómo lo haría yo ? (lo pongo en varias lineas para que lo puedas ver mas claro desde vb) (copia y pega)

ConsultaSQL = "SELECT RESERVAS.ID_RESERVA, RESERVAS.A_NOMBRE, RESERVAS.ID_MESA, RESERVAS.FECHA_r, RESERVAS.HORA_r, RESERVAS.CANTIDAD_DE_CUB, RESERVAS.CANCELADA, RESERVAS.OCUPADA From RESERVAS WHERE "

ConsultaSQL= ConsultaSQL & "(((RESERVAS.ID_MESA)=" & NumeroMesa

ConsultaSQL = ConsultaSQL & ") AND ((RESERVAS.FECHA_r)=#" & Format(FechaReserva, "dd/mm/yyyy") & "#) AND "

ConsultaSQL = ConsultaSQL & "((RESERVAS.HORA_r) Between # 12/30/1899 " & Format(HoraDesde, "hh:mm:0") & "# And #12/30/1899 " & Format(HoraHasta, "hh:mm:0") & "#) AND ((RESERVAS.CANCELADA)=False));"

Esta consulta es equivalente a la tuya, pero ahora le puedes pasar los valores correctos.


Espero que con esto esté todo claro, en especial para kadosh.


Un saludo.
__________________
MVISION MV 9085 NET-USB-TDT
aspi está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Antiguo 22/01/2009, 14:15   #11
kezuziyo
Zumbao
 
Avatar de kezuziyo
 
Fecha de ingreso: 22/ene/2004
Mensajes: 38.393
kezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatarkezuziyo Cuando busquemos reputación en Wikipedia, saldrá su avatar
Perdona que vuelva a insistir, pero esta linea
Cita:
ConsultaSQL = ConsultaSQL & ") AND ((RESERVAS.FECHA_r)=#" & Format(FechaReserva, "dd/mm/yyyy") & "#) AND "
tienes que poner "mm/dd/yyyy"
Fíjate que en el resto del post lo pones bien y dices #1/16/2009# o #12/30/1899#
__________________



>>>FOTO DE LA KEDADA DEL SURESTE 2008<<<
Consejos sobre como navegar por ZackY: Navegando por el foro
>>> [URL="http://www.jezuzillo.es/images/NoToros.htm"]Porque estoy en contra de las corridas de toros y de la existencia de una sección sobre las mismas en este foro[/URL] <<<
>>> [URL="http://foros.zackyfiles.com/showthread.php?t=591397"]Si quieres eliminar la sección taurina de tu navegador, pincha aquí[/URL] <<<
kezuziyo está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Antiguo 22/01/2009, 17:17   #12
aspi
Usuario Activo
 
Avatar de aspi
 
Fecha de ingreso: 02/ago/2004
Mensajes: 259
aspi está en el buen camino
Efectivamente, no ma había dado cuenta del mes 16 y 30, jeje. Access utiliza mm/dd/yyyy.

x kadosh: Cambia dd/mm por mm/dd.


Resumiendo: al margen del formato de fecha y hora, como has visto, siempre puede formar la consulta en función de tus necesidades.


Saludos.
__________________
MVISION MV 9085 NET-USB-TDT
aspi está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Publicidad: Conoce las ofertas de ANUNCIATE
Respuesta


Usuarios viendo actualmente este tema: 1 (0 usuarios registrados y 1 visitantes)
 
Herramientas

Permisos para publicar mensajes
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los BB code están Activado
Los Emoticones están Activado
El código [IMG] está Activado
El Código HTML está Desactivado

Ir al foro


!! ADVERTENCIAS !!: Las informaciones aquí publicadas NO CONTIENEN KEYS para la decodificación de ningún sistema: NO SON OPERATIVOS en sistemas SAT que precisen de su correspondiente suscripción.

ESTA TOTALMENTE PROHIBIDO EL USO DE ESTAS INFORMACIONES PARA LA MODIFICACIÓN O  DEFRAUDACIÓN DE SISTEMAS DE ACCESO CONDICIONAL.

ESTOS FOROS SON MODERADOS Y NO SE PERMITE LA PUBLICACIÓN DE INFORMACIONES ILEGALES POR PARTE DE LOS USUARIOS. EN CASO DE DETECTARSE ESTE TIPO DE INFORMACIONES, LOS USUARIOS SERÁN EXCLUIDOS DE ESTAS PÁGINAS.

USO DE COOKIES: Utilizamos COOKIES y de terceros para mejorar nuestros servicios y navegación por la web. Si continua navegando, consideramos que acepta su uso.  


La franja horaria es GMT +2. Ahora son las 03:13.


-------------------------------------------------------------------- --------------------------------------------------------------------

Powered por vBulletin™ Version 3.8.10
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.
Traducido por vBsoporte - vBulletin en español
Hispaservicios - J.G.C - 29112549T - Rio Cinca, 2, 30 (50180) SPAIN.
Todos los derechos reservados. Prohibida cualquier reproducion total o parcial.


Foros Patrocinados por anunciantes.