¿Que formato de fecha usar en instrucciones SQL de access?

29/04/2010 - 01:35 por Roys | Informe spam
Porque la siguiente instrucción SQL en el campo fecha, por ejemplo si deseo
introducir: 1-2-10 me devuelve en la tabla 02-01-2010

SQL = "INSERT INTO PadreMadreResponsableControl ( ResponsableID,
ControlDetalle, Fecha ) SELECT PadreMadreResponsable.IDResponsable, '" &
NombreActividad & "' AS ControlDetalle, #" & FechaActividad & "# AS Fecha
FROM PadreMadreResponsable;"







El Código completo es el siguiente:

Private Sub cmdNuevaActividad_Click()
Dim NombreActividad As String
Dim FechaActividadStr As String
Dim FechaActividad As Date
Dim x As Integer

Dim Intenciones As Integer

Do Until NombreActividad <> ""
NombreActividad = InputBox("Escribe el nombre de la Actividad a
controlar:", "Nombre de actividad")

If NombreActividad = "" Then
MsgBox "Debe indicar un nombre", vbCritical
NombreActividad = ""
Intenciones = Intenciones + 1
Else

End If
If Intenciones = 2 Then
Exit Do
End If
Loop

If NombreActividad = "" Then
MsgBox "Acción canelada", vbExclamation
Exit Sub
End If
Intenciones = 0

Do Until IsDate(FechaActividadStr) = True
FechaActividadStr = InputBox("Escribe la fecha para la actividad:",
"Fecha de actividad")

If IsDate(FechaActividad) = False Then
MsgBox "Debe indicar una fecha", vbCritical
FechaActividad = ""
Intenciones = Intenciones + 1
Else
FechaActividad = CDate(FechaActividadStr)
Me.lblFecha.Caption = FechaActividad
End If
If Intenciones = 2 Then
Exit Do
End If
Loop
MsgBox FechaActividad

If FechaActividadStr <> "" Then
SQL = "INSERT INTO PadreMadreResponsableControl ( ResponsableID,
ControlDetalle, Fecha ) SELECT PadreMadreResponsable.IDResponsable, '" &
NombreActividad & "' AS ControlDetalle, #" & FechaActividad & "# AS Fecha
FROM PadreMadreResponsable;"
DoCmd.RunSQL SQL
DoCmd.RunCommand acCmdRefreshPage
DoCmd.OpenForm "PadresControl", acNormal, , "[ControlDetalle] =
'" & NombreActividad & "' And [Fecha]= #" & FechaActividad & "#"
Me.cbbActividadSelección = ""
Me.cbbPadresSelección = ""
Else
MsgBox "No se pudo agregar la actividad por falta de datos",
vbExclamation
End If
End Sub

Preguntas similare

Leer las respuestas

#1 raipon
29/04/2010 - 07:44 | Informe spam
Hola, en vez de construir dinámicamente la cadena sql, utiliza una consulta
con parámetros y el objeto QueryDef.
Te ahorrarás un montón de complicaciones.

Aquí tienes un ejemplo de Happy :

http://accessvbafaq.mvps.org/item.asp?pagina%

Adios, un saludo.

"Roy's" <Roy' escribió en el mensaje
news:
Porque la siguiente instrucción SQL en el campo fecha, por ejemplo si
deseo
introducir: 1-2-10 me devuelve en la tabla 02-01-2010

SQL = "INSERT INTO PadreMadreResponsableControl ( ResponsableID,
ControlDetalle, Fecha ) SELECT PadreMadreResponsable.IDResponsable, '" &
NombreActividad & "' AS ControlDetalle, #" & FechaActividad & "# AS Fecha
FROM PadreMadreResponsable;"







El Código completo es el siguiente:

Private Sub cmdNuevaActividad_Click()
Dim NombreActividad As String
Dim FechaActividadStr As String
Dim FechaActividad As Date
Dim x As Integer

Dim Intenciones As Integer

Do Until NombreActividad <> ""
NombreActividad = InputBox("Escribe el nombre de la Actividad a
controlar:", "Nombre de actividad")

If NombreActividad = "" Then
MsgBox "Debe indicar un nombre", vbCritical
NombreActividad = ""
Intenciones = Intenciones + 1
Else

End If
If Intenciones = 2 Then
Exit Do
End If
Loop

If NombreActividad = "" Then
MsgBox "Acción canelada", vbExclamation
Exit Sub
End If
Intenciones = 0

Do Until IsDate(FechaActividadStr) = True
FechaActividadStr = InputBox("Escribe la fecha para la
actividad:",
"Fecha de actividad")

If IsDate(FechaActividad) = False Then
MsgBox "Debe indicar una fecha", vbCritical
FechaActividad = ""
Intenciones = Intenciones + 1
Else
FechaActividad = CDate(FechaActividadStr)
Me.lblFecha.Caption = FechaActividad
End If
If Intenciones = 2 Then
Exit Do
End If
Loop
MsgBox FechaActividad

If FechaActividadStr <> "" Then
SQL = "INSERT INTO PadreMadreResponsableControl (
ResponsableID,
ControlDetalle, Fecha ) SELECT PadreMadreResponsable.IDResponsable, '" &
NombreActividad & "' AS ControlDetalle, #" & FechaActividad & "# AS Fecha
FROM PadreMadreResponsable;"
DoCmd.RunSQL SQL
DoCmd.RunCommand acCmdRefreshPage
DoCmd.OpenForm "PadresControl", acNormal, , "[ControlDetalle] > '" & NombreActividad & "' And [Fecha]= #" & FechaActividad & "#"
Me.cbbActividadSelección = ""
Me.cbbPadresSelección = ""
Else
MsgBox "No se pudo agregar la actividad por falta de datos",
vbExclamation
End If
End Sub
Respuesta Responder a este mensaje
#2 Ignacio
29/04/2010 - 11:02 | Informe spam
¡Hola, Roy's!

Siempre que introduzcas una fecha entre almohadillas (#) Access por
defecto interpreta que el formato es el américano (mm-dd-yyyy) a no
ser que el primer número sea mayor que 12 que entonces lo interpreta
como el día.
Para evitar confusiones lo mejor al pasar una fecha es forzar que su
formato sea el americano.
En tu caso sustituye la fecha por Format$(FechaActividad, "mm-dd-
yyyy").

Espero que te sirva de ayuda.

Un saludo,
Ignacio.
Respuesta Responder a este mensaje
#3 Roys
30/04/2010 - 02:58 | Informe spam
Muchas gracias ignacio, tenia días con este problema, hasta ahora logré
solucionarlo con tu valiosa ayuda.


MUCHAS GRACIAS


"Ignacio" escribió:

¡Hola, Roy's!

Siempre que introduzcas una fecha entre almohadillas (#) Access por
defecto interpreta que el formato es el américano (mm-dd-yyyy) a no
ser que el primer número sea mayor que 12 que entonces lo interpreta
como el día.
Para evitar confusiones lo mejor al pasar una fecha es forzar que su
formato sea el americano.
En tu caso sustituye la fecha por Format$(FechaActividad, "mm-dd-
yyyy").

Espero que te sirva de ayuda.

Un saludo,
Ignacio.
.

Respuesta Responder a este mensaje
#4 Roys
30/04/2010 - 03:34 | Informe spam
Muchas gracias raipon
Excelente

Saludos
Desde Costa Rica
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida