Visual Basic - Consulta SQL

Life is soft - evento anual de software empresarial
 
Vista:

Consulta SQL

Publicado por Matias (1 intervención) el 28/06/2007 13:07:28
buenas tengo una consulta
strsql = "Select * from socios where fechabaja=#0#"

o

strsql = "Select * from socios where fechabaja='" & "0" & "' "

me da error y lo que intento hacer es que seleccione los regustris de la tabla socios que no tengo una fecha de baja valida probe ya de varias formas y algunas
me dice que no coinciden los tipos de datos y otras me da como resultado rs.bof = true and rs.eof= true
el campo de fechabaja es date
muchas graicas espero su respuesta
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:Consulta SQL

Publicado por Xavi (9 intervenciones) el 28/06/2007 14:42:38
Prueba a seleccionar todos los datos de la tabla Socios, y hacer un bucle para comprobar la fecha registro a registro:

Dim fecha as String, strsql as String
strsql="Select fechabaja FROM Socios"
(abrir el recordset)
(mientras recordset no sea EOF)
fecha = recordset("fechabaja")
if not EsFecha(fecha) then
(fecha no válida)
else
(fecha correcta)
end if
(ir al siguiente registro)
(fin mientras)
etc...

Function EsFecha(ByVal dFecha as String, Optional hoy As Boolean = False) As Boolean
' Validamos una fecha dd/mm/yyyy
Dim nDia As Integer
Dim nMes As Integer
Dim nAno As Integer

On Error GoTo handle

If Not IsDate(dFecha) Then
EsFecha = False
Exit Function
End If
nDia = Mid(dFecha, 1, 2)
nMes = Mid(dFecha, 4, 2)
nAno = Mid(dFecha, 7, 4)
If hoy Then
If dFecha > CDate(Date) Then
'No admite fecha mayor que la del sistema
EsFecha = False
Exit Function
End If
End If

Select Case nMes
Case 2
If Bisiesto(nAno) Then
If nDia > 0 And nDia <= 29 Then EsFecha = True
Else
If nDia > 0 And nDia <= 28 Then EsFecha = True
End If
Case 1, 3, 5, 7, 8, 10, 12
If nDia > 0 And nDia <= 31 Then EsFecha = True
Case 4, 6, 9, 11
If nDia > 0 And nDia <= 30 Then EsFecha = True
Case Else
EsFecha = False
End Select
Exit Function
handle:
EsFecha = False
End Function
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:Consulta SQL

Publicado por Cecilia Colalongo (3116 intervenciones) el 28/06/2007 15:39:27
Si el campo fechabaja es de tipo fecha puedes hacer -dependiendo de la base de datos que no indicas si es Access o SQL Server o alguna otra-

SELECT * FROM Socios WHERE fechabaja IS NULL

SELECT * FROM Socios WHERE IsNull(fechabaja)
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

GRACIAS CECI

Publicado por Matias (1 intervención) el 28/06/2007 16:25:59
Gracias Cecilia espero conocerte algún día ya q estas muy linda de verdad.
Y compartir juntos un par de códigos de programación podemos hacer bucles juntos.
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