Visual Basic.NET - Problemas con fechas MUY URGENTE

 
Vista:

Problemas con fechas MUY URGENTE

Publicado por acid_burd (5 intervenciones) el 09/12/2011 11:33:30
Hola a todos, espero que podais echarme una mano.

El problema es que tengo una fecha en una variable string con el formato dd/MM/yyyy pero cuando la guardo en la tabla(access) mediante una orden UPDATE el formato en el que me lo guarda es el MM/dd/yyyy.

esta es la orden sql

SQL = "UPDATE T_PRESCRIPCION" & _
" SET pre_f_fin='" & fecha & _
"' WHERE num_pre = " & numpre


He comprobado mediante puntos de parada que cuando llega a esta orden el formato de "fecha" es correcto.

¿Que puedo hacer para corregir este error? En otros puntos del programa no me da ningun problemas al guardar la fecha.

Espero que podais ayudarme, es muy urgente.

Mil gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problemas con fechas MUY URGENTE

Publicado por Damian (824 intervenciones) el 09/12/2011 13:40:12
Hola debes formatearla, o sea:
1
2
SQL = "UPDATE T_PRESCRIPCION" & _
"SET pre_f_fin='" & Format(fecha, "MM/dd/yyyy") & "' WHERE num_pre = " & numpre

Y si no te toma las comillas simples (') remplázalas por la almohadilla (#).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con fechas MUY URGENTE

Publicado por acid_burd (5 intervenciones) el 09/12/2011 14:13:23
Buenas Damian.

Lo primero mil gracias por la ayuda.

Pero el problema es que aunque yo tengo la variable fecha(que es string) con el formato "dd/MM/yyyy" me la almacena en la BD con el formato "MM/dd/yyyy" y yo necesito que la almacene con "dd/MM/yyyy".

voy a probar tu forma cambiando el Format, espero que me sirva.

Un saludo, te comento el resultado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con fechas MUY URGENTE

Publicado por acid_burd (5 intervenciones) el 09/12/2011 14:20:35
Buenas Damian.

Tampoco ha funcionado. En vez de darme formato a la fecha lo que hace es coger como valor dd/MM/yyyy y por lo tanto me da error.

¿Alguna idea?

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con fechas MUY URGENTE

Publicado por Damian (824 intervenciones) el 09/12/2011 14:34:29
Pero que error te da, hay que tener en cuenta que tanto el campo Fecha de tu BD como el que le pasas desde Visual deben estar igual en su formato, si no no se entienden y genera el error.
Ahora probaste de cambiar las comillas simples por la almohadilla (#) ya que en access (en algunas versiones) es así.
Si los dos campos están en el mismo formato y la consulta la tienes bien, debería poder actualizarte y no importa que en la base quede como "MM/dd/yyyy" (ya que no se ve, solo estará en la BD), total después si lo quieres mostrar en pantalla ahí si haces el select con el format para que lo muestre como "dd/MM/yyyy", salvo que para ti sea realmente necesario que este en access como "dd/MM/yyyy".
La otra solución sería guardar el campo fecha como texto, siempre y cuando no necesites manipular la hora.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con fechas MUY URGENTE

Publicado por acid_burd (5 intervenciones) el 09/12/2011 14:46:17
Buenas Damian:
Gracias por tu rápida respuesta.

Lo primero es que tanto en la BD como en el programa tienen en mismo formato. Hay 2 momento en los que se puede guardar esta fecha, una es a la hora de crear un medicamento y la otra al editarlo. Si la fecha se guarda al crear el medicamento se crea correctamente en el formaro "dd/MM/yyyy" pero si la fecha se edita a traves del editar se guarda en el formato "MM/dd/yyyy".
Pero ahora al hacer una comprobaciones me he dado cuenta de que si el día es mayor de 12 se me guarda en el formato correcto.

A eso si que ya no le encuentro ni lógica ni explicación
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con fechas MUY URGENTE

Publicado por acid_burd (5 intervenciones) el 12/12/2011 10:26:38
Bueno, bueno. Despues de dar ochentamil vueltas por fin he logrado que funcione correctamente.
1
2
3
4
5
6
7
8
9
SQL = "UPDATE T_PRESCRIPCION" & _
        " SET pre_f_fin=@fecha WHERE num_pre = " & numpre
 
 
        Dim oFecha As New OleDbParameter("@fecha", fecha)
 
        Dim cmd As New OleDbCommand(SQL, caa)
        oFecha.DbType = DbType.Date
        cmd.Parameters.Add(oFecha)


Pues aqui lo veis, para lo que teneis o tengais el mismo problema, pasamo la fecha como parametro de manera que automaticamente el programa lo coloca todo en la posicion correcta.

Espero que mi solución le sirva a alguien.
Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar