Visual Basic - Problemas con fecha y filtro

Life is soft - evento anual de software empresarial
 
Vista:

Problemas con fecha y filtro

Publicado por diogenes (111 intervenciones) el 08/03/2003 02:48:26
Tengo problemas al utlizar la fecha dentro de un text que tiene formato
fecha en dataformat = date y con patron 01/02/03. Deseo poder validar esta fecha, tanto si es un valor nulo, como con respecto a otra fecha
mayor o menor, probe con lo siguiente pero no me funciona.

If txtfechadoc < #1/1/2003# Then
MsgBox ("Falta validar la fecha")
End If

y

If Val(txtfechadoc) < #1/1/2003# Then
MsgBox ("Falta validar la fecha")
End If

Tambien necesito saber como puedo hacer para realizar un filtro
compuesto ya que si bien puedo realizar un filtro por un campo
determinado de la siguiente manera :

ado.Recordset.Filter = "op=" & varnum

donde op = campo long varnum una variable long

necesito hacerlo por 2 campos y lo he intentado de la siguiente manera
y no me resulta

ado.Recordset.Filter = "op=" & varnum And "color=" & varcadena

donde ademas color = campo texto y varcadena una variable string

Muchisimas gracias y que esteis muy bien
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:Problemas con fecha y filtro

Publicado por Esteban (1144 intervenciones) el 08/03/2003 02:57:51
Debes estar algo cansado, pues lo que te falta es algo insignificante:
ado.Recordset.Filter = "op=" & varnum And "color=" & varcadena 'Así no es
ado.Recordset.Filter = "op=" & varnum & " And color='" & varcadena & "'" 'Así sí es

Para las fechas utiliza las funciones tales como DateDiff para comprobación de fechas, y DateAdd para agregar partes de fecha.
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:Sigo sin resolver el problema

Publicado por diogenes (111 intervenciones) el 08/03/2003 13:11:06
Intente asi como me lo escribiste, asi como con un sin fin de variantes
colocando y sacando las comillas simples, pero no me resulto, tendra que ver algo mas como el tipo de datos, o a lo mejor no sera exactamente la sintaxis que me entregaste la adecuada ?

Me arrojo siempre el mismo error

Error '3001' en tiempo de ejecución:

la aplicación está usando argumentos incorrectos, o estan fuera del intervalo permitido, o entran en conflicto con otros.

Gracias

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

Que problema verdad?

Publicado por Esteban (1144 intervenciones) el 08/03/2003 18:49:13
Esos mensaje me revientan pues no hay razón para que pasen, otra cosa es que en vez de aplicar el filter lo hagas directamente sobre la sentencia SQL, al menos es la forma que lo he solucionado.

Intenta y me avisas
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 Y como lo hago con SQL

Publicado por diogenes (111 intervenciones) el 09/03/2003 20:53:53
Me gustaria me explicaras mas en detalle como lo debo hacer con SQL, Te puedo decir que he hecho una conexión a traves de un control de ADO el cual hace una consulta SQL del tipo select * from archivo la cual me lleva la tabla de manera completa y que utilizo de esa manera en varias operaciones. Me sugieres que genere un nuevo control ado con la consulta especfica como por ej emplo select * from archivo where campo1 = varnum and campo2 = varstring o existe la forma de realizar tal consulta a traves de codigo en el programa ?. Y si es esta ultima cual es su sintaxis

Gracias y que estes bien

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:RE Y como lo hago con SQL

Publicado por KILLO (3 intervenciones) el 10/03/2003 04:05:56
bien,no se si te he entendido bien... Estas usando un objeto adodc, configurado como adcmdtext y le pasas la sql, no?...

Por codigo podrias hacerlo asi:
dim registro as adodb.recordset
set registro= new adodb.recordset
registro.ActiveConnection =\"Provider=Microsoft.Jet.OLEDB.4.0;Data...\"
registro.CursorLocation = adUseClient
sql=\"select * from archivo where...\"
registro.Open sql, , adOpenStatic, adLockOptimistic, adCmdText

luego, lo puedes asignar a un datagrid, pe:
set datagrid1.datasource= registro

esta es una forma de hacerlo, por ejemplo... Espero q fuera esto lo q querias saber, sino, pues disculpa...
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: No era eso

Publicado por diogenes (111 intervenciones) el 11/03/2003 13:00:47

Amigo gracias por tu ayuda, pero lo que yo consultaba no era como podia hacer una conexión adodc a traves de codigo, sino como puedo hacer una consulta sql en vez de recordset, dentro de un programa o sea utilizando el mismo adodc que correponde a una conexión a una tabla del modo select * from tabla, como puedo dentro del programa hacer una consulta del tipo select * from tabla where campo1 = var1 and campo2 = var2. Si es que se puede naturalmente, o es que tengo que hacer otra conexión adodc con la consulta especifica ?.

Gracias
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