Foros del Web » Programación para mayores de 30 ;) » .NET »

Collation en Access

Estas en el tema de Collation en Access en el foro de .NET en Foros del Web. Hola, Como puedo saber que Collation tiene una base de datos en Access? Estoy programando sobre una base de datos Access que cuando hago una ...
  #1 (permalink)  
Antiguo 07/07/2013, 12:26
 
Fecha de Ingreso: noviembre-2007
Mensajes: 97
Antigüedad: 17 años
Puntos: 0
Pregunta Collation en Access

Hola,

Como puedo saber que Collation tiene una base de datos en Access?

Estoy programando sobre una base de datos Access que cuando hago una Select no me entiende bien las fechas y quizás sea ahí el problema.

Pero no encuentro como ver cual es el que se usa :(


Gracias por vuestra ayuda.
  #2 (permalink)  
Antiguo 07/07/2013, 12:45
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Collation en Access

La collation tiene relación con los caracteres, las cadenas de texto, no con las fechas. Son datos de diferente tipo.
Si no te está entendiendo las fechas es muy probable que el tema esté en el formato de la fecha en el .
Pero si no nos muestras el código, es difícil darte consejo. Estaríamos hablando de suposiciones.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 07/07/2013, 12:48
 
Fecha de Ingreso: noviembre-2007
Mensajes: 97
Antigüedad: 17 años
Puntos: 0
Respuesta: Collation en Access

Código:
 Dim date1 As New DateTime(2012, 8, 1, 16, 32, 18)
        Dim date2 As New DateTime(2013, 6, 1, 16, 32, 18)

      sql = "SELECT ReservasExcursion.Id, ReservasExcursion.IdExcursion, Excursiones.Dia, Excursiones.Exclusiva, ReservasExcursion.IdSubCliente, Subclientes.Empresa, ExtrasExcursion.IdExtra, ExtrasExcursion.Concepto, ExtrasExcursion.Cantidad AS Cantidad, ExtrasExcursion.Precio AS Precio, ROUND((Cantidad*Precio),2)  AS Total FROM ((ReservasExcursion INNER JOIN Excursiones ON ReservasExcursion.IdExcursion = Excursiones.Id) INNER JOIN Subclientes ON ReservasExcursion.IdSubCliente = Subclientes.Id) LEFT JOIN ExtrasExcursion ON ExtrasExcursion.IdExcursion=ReservasExcursion.IdExcursion WHERE((Excursiones.Exclusiva = True)  AND (Excursiones.Dia BETWEEN   #" & date1 & "# AND #" & date2 & "# )) ORDER BY ReservasExcursion.IdExcursion, ReservasExcursion.IdSubCliente "
Mi problema es que si por ejemplo creo los DateTime con los valores:

Dim date1 As New DateTime(2012, 8, 18, 16, 32, 18) //18 agosto 2012
Dim date2 As New DateTime(2013, 6, 18, 16, 32, 18) // 18 junio 2013

Me hace bien la select. Pero cuando utilizo fechas en que el día es inferior o igual 12 (como si lo confundiera con el mes) no selecciona bien. Os dejo un ejemplo para que me entendáis:

Dim date1 As New DateTime(2012, 11, 5, 16, 32, 18) // 5 noviembre 2012
Dim date2 As New DateTime(2013, 6, 5, 16, 32, 18) // 5 junio 2013
SELECCIONA ENTRE 12/5/2012 y 5/5/2013 (dia/mes/año)

Gracias
  #4 (permalink)  
Antiguo 07/07/2013, 12:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Collation en Access

Pues, en realidad no es demasiado difícil. Tienes un problema de códificacion de lo que se denomina regionalización, es decir, te está tomando la fecha como en inglés, porque internamente el script está trabajando con ese formato.
Es un problema muy habitual, pero no se soluciona con la collation o la base. Es un tema de regionalización del código.
Ahora, una pregunta: ¿Ese código es VB.Net, o VBA?
En el primer caso, te paso el post al foro adecuado, donde te pueden explicar mejor como se evita ese problema.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 07/07/2013, 12:57
 
Fecha de Ingreso: noviembre-2007
Mensajes: 97
Antigüedad: 17 años
Puntos: 0
Respuesta: Collation en Access

Trabajo con VB.NET

Y me olvidé de mencionar que pregunte desde VB el CultureInfo y me muestra "es-ES"

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Pues, en realidad no es demasiado difícil. Tienes un problema de códificacion de lo que se denomina regionalización, es decir, te está tomando la fecha como en inglés, porque internamente el script está trabajando con ese formato.
Es un problema muy habitual, pero no se soluciona con la collation o la base. Es un tema de regionalización del código.
Ahora, una pregunta: Ese código es VB.Net, o VBA?

Última edición por fearhds; 07/07/2013 a las 13:09

Etiquetas: access, bases-de-datos-general
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 13:51.