Visual Basic - Me falla la sentecia Select

Life is soft - evento anual de software empresarial
 
Vista:

Me falla la sentecia Select

Publicado por Miguel Mercader (243 intervenciones) el 14/11/2000 00:00:00
Para hacer una consulta en una tabla de registros que cumplan tres condiciones lanzo esta consulta.

Comando$ = "select*from Apuntes where Fecha between #" + Mask3.Text + "# and #" + Mask4.Text + "# and Cuenta like ´" + DBCombo1.Text + "*´"
Data2.RecordSource = Comando$
Data2.Refresh

Si el intervalo de las fechas es anterior a los registros y ninguno cumple la condición funciona bien y no selecciona ninguno.Si están entre ese intervalo también funciona.Pero si el intervalo es posterior y no hay ningún registro entre esas fechas me selecciona todos los que cumplen la condición de nombre de cuenta.
¿Alguien me puede ayudar?
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

RE:Me falla la sentecia Select

Publicado por felipe (97 intervenciones) el 14/11/2000 00:00:00
como estas pasando las fechas, en formato dd/mm/yyyy, si es asi los registros devueltos pueden ser erroneos, para que la consulta te quede bien tienes que traspasas las fechas en formato mm/dd/yyyy corrigelo de la siguient forma :
Fechainicial = Format(mask3.text,"mm/dd/yyyy")
FechaFinal = Format(mask4.text,"mm/dd/yyyy")

y le traspasas al select las variables

prueba con eso, creo que ese es el problema

cualquier cosa consultalo nuevamente en el foro


Saludos desde Chile

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

RE:Me falla la sentecia Select

Publicado por lucKas (75 intervenciones) el 14/11/2000 00:00:00
Hola Miguel!

Intentalo de esta otra forma:

´// -----------------------------------------
Dim FechaInicial, FechaFinal as Date

FechaInicial = Format(Mask3.Text, "mm/dd/yyyy")
FechaFinal = Format(Mask4.Text, "mm/dd/yyyy")

Comando$ = "Select * From Apuntes where Fecha >= " & "#" & FechaInicial & "#" & " And " & " Fecha <= " & "#" & FechaFinal & "#" & " And " & "Cuenta like " & " ´ " & DBCombo1.Text & "%´ "
Data2.RecordSource = Comando$
Data2.Refresh
´//----------------------------------------------

Un saludo
lucKas
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

Prueba esto ....... (debe funcionar 100%)

Publicado por José Luis (59 intervenciones) el 14/11/2000 00:00:00
El formato de fecha la tiene predeterminada tu sistema güindous y automáticamente también la tiene access....


If Not IsDate(FechaInicial.Text) Then
MsgBox "Falta fecha inicial....",vbInformation
FechaInicial.SetFocus
Exit Sub
End If
If Not IsDate(FechaFinal) Then
MsgBox "Falta fecha final.... ", vbInformation
FechaFinal.SetFocus
Exit Sub
End If
If DateDiff("d", FechaInicial, FechaFinal) < 0 Then
MsgBox "Error en rango de fechas", vbInformation
FechaFinal.SetFocus
Exit Sub
End If

Comando$ = "select * from Apuntes where Fecha >= #" & FechaInicial & "# and #" & FechaFinal & "<= # and Cuenta like ´" & DBCombo1.Text & "*´"

Data2.RecordSource = Comando$

Data2.Refresh


Saludos desde México
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

Prueba esto ... (debe funcionar 100%) Corrección..

Publicado por José Luis (59 intervenciones) el 14/11/2000 00:00:00
El formato de fecha la tiene predeterminada tu sistema güindous y automáticamente también la tiene access....


If Not IsDate(FechaInicial.Text) Then
MsgBox "Falta fecha inicial....",vbInformation
FechaInicial.SetFocus
Exit Sub
End If
If Not IsDate(FechaFinal) Then
MsgBox "Falta fecha final.... ", vbInformation
FechaFinal.SetFocus
Exit Sub
End If
If DateDiff("d", FechaInicial, FechaFinal) < 0 Then
MsgBox "Error en rango de fechas", vbInformation
FechaFinal.SetFocus
Exit Sub
End If

Comando$ = "select * from Apuntes where Fecha >= #" & FechaInicial & "# and fecha <= #" & FechaFinal & " # and Cuenta like ´" & DBCombo1.Text & "*´"

Data2.RecordSource = Comando$

Data2.Refresh


Saludos desde México
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