none
como cambio la fecha por textbox RRS feed

  • Pregunta

  • tengo el siguiente código :

    Private Sub Command1_Click()
    Set RS = New ADODB.Recordset
    RsCursorLocation = adUseClient
    SQL = "SELECT T.ID, T.NAMES, Count(*) AS NF FROM TEMPLATES AS T INNER JOIN SCAN_TIME AS S ON T.ID = S.ID WHERE (((S.SCANTIME) Between #10/1/2015# And #10/31/2015#)) GROUP BY T.ID, T.NAMES;"
    If RS.State Then RS.Close
    RS.Open SQL, cnDB, adOpenDynamic, adLockOptimistic, adCmdText
    Set DataGrid.DataSource = RS
    Set RS = Nothing

    y tengo que cambiar lo que esta señalado en negrilla por textbox pero no se como hacerlo.

    Cuando lo intente me salio un error que dice:  no coinciden los tipos de datos en la expresión del criterios. y este es el código modificado en mi intento fallido:

    Private Sub Command1_Click()
    Set RS = New ADODB.Recordset
    RsCursorLocation = adUseClient
    SQL = "SELECT T.ID, T.NAMES, Count(*) AS NF FROM TEMPLATES AS T INNER JOIN SCAN_TIME AS S ON T.ID = S.ID WHERE (((S.SCANTIME) Between '" & Text1.Text & "' And '" & Text2.Text & "')) GROUP BY T.ID, T.NAMES;"
    If RS.State Then RS.Close
    RS.Open SQL, cnDB, adOpenDynamic, adLockOptimistic, adCmdText
    Set DataGrid.DataSource = RS
    Set RS = Nothing

    y me salta error en la linea subrayada.  alguien me podría ayudar? 

    pd: trabajo en vb 6.0 

    lunes, 2 de noviembre de 2015 19:37

Respuestas

  • Puedes hacer algo como esto:

    If IsDate(Text1.Text) And IsDate(Text2.Text) Then

       SQL = "SELECT T.ID, T.NAMES, Count(*) AS NF FROM TEMPLATES AS T INNER JOIN SCAN_TIME AS S ON T.ID = S.ID WHERE (((S.SCANTIME) Between #" & Text1.Text & "# And #" & Text2.Text & "#)) GROUP BY T.ID, T.NAMES;"

       .....

    End If


    Saludos, Javier J

    • Marcado como respuesta Juan30102 miércoles, 4 de noviembre de 2015 1:16
    martes, 3 de noviembre de 2015 7:58

Todas las respuestas

  • Puedes hacer algo como esto:

    If IsDate(Text1.Text) And IsDate(Text2.Text) Then

       SQL = "SELECT T.ID, T.NAMES, Count(*) AS NF FROM TEMPLATES AS T INNER JOIN SCAN_TIME AS S ON T.ID = S.ID WHERE (((S.SCANTIME) Between #" & Text1.Text & "# And #" & Text2.Text & "#)) GROUP BY T.ID, T.NAMES;"

       .....

    End If


    Saludos, Javier J

    • Marcado como respuesta Juan30102 miércoles, 4 de noviembre de 2015 1:16
    martes, 3 de noviembre de 2015 7:58
  • MUCHAS GRACIAS ME SIRVIÓ PERFECTO.

    miércoles, 4 de noviembre de 2015 1:16