Visual Basic - consultar por campo tipo si/no mediante VB6

Life is soft - evento anual de software empresarial
 
Vista:

consultar por campo tipo si/no mediante VB6

Publicado por Pablo (2 intervenciones) el 23/01/2010 01:24:04
Hola he leido y buscado mucho sobre esto en internet y no se encuentra en lo particular ojala alguien aqui sepa como:

ya estoy acabando mi aplicacion y me surgio la creo que ultima duda por favor serian tan amable de leerla, esta es la situación:
Tengo 1 tabla en acces 2003 llamada trabajadores y esta es consultada editada, borrada, etc mediante interfaz visual basic. Conecte ambas con DSN ODBC (escribo esto ya que tengo entendido que existen otras maneras, pero la mia es de esta con un adodc en el form).
He aqui la inquietud: He agregado 2 campos a la tabla: trabajo_A y trabajo_B del tipo si/no, que corresponde a si el trabajador esta "habilitado" para el trabajo A y B respectivamente.

Entonces lo que me gustaria es que en la interfaz de VB6 pudiera consultar por ejemplo: trabajadores habilitados para el trabajo A, o B, o ambas inclusive. No se con que control hacerlo sugiere alguno? y con que codigo? como es mas simple en el fondo.
le recuerdo que yo ya tengo consultas por nombres, por fechas, telefono,etc de la tabla acces pero desconozco como consultar esta clase de campo si/no. Les escribo mi codigo del form consulta que tengo (por ejemplo buscarlos por nombre):

Dim base As Connection
Dim WithEvents temp As Recordset
Dim consulta As String, cod As Integer

Private Sub Form_Load()
Set base = New Connection
Set temp = New Recordset
base.Open "dsn=data"
temp.Open "trabajadores", base, adOpenDynamic, adLockBatchOptimistic
End Sub

Private Sub Text1_Change()
temp.Close
Set DataGrid1.DataSource = Nothing
consulta = "select * from trabajadores where nombre like '%" & Text1 & "%' "
temp.Open consulta, base, adOpenStatic, adLockReadOnly
Set DataGrid1.DataSource = temp
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:consultar por campo tipo si/no mediante VB6

Publicado por Luis Hansel (29 intervenciones) el 02/02/2010 21:44:26
Saludos Pablo:

El control de Visual Basic que puede ayudarte es el Option Button. Este devuelve un valor Verdadero/Falso dependiendo si está marcado o no, lo cual calza completamente con el campo Si/No de Access.

Sin embargo, como las opciones pueden no ser mutuamente excluyentes, mi recomendación es el Checkbox. Este control devuelve tres estados: 0 (Unchecked), 1 (Checked), 2 (Grayed). Obviamente tendrás que programar un poco mas, ya que deberás que convertir los valores numéricos que te devuelve el control a valores lógicos (boolean) que es como los necesitas.

La elección es tuya. La teoría enseña que para un mismo problema existen innumerables soluciones.
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:consultar por campo tipo si/no mediante VB6

Publicado por Pablo (2 intervenciones) el 02/02/2010 22:18:03
Muchas gracias por su respuesta ya habia logrado superar la esta dificultad.
lamentablemente me encontre con una que no esperaba mi aplicación en vb6 funciona muy bien el unico problema es que cuando consulto por trabjador si este en la tabla tiene un campo vacio digamos por ejemplo no tengo el telefono el programa se cae existe alguna posibilidad de sortear este error?
Atte,
Pablo
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:consultar por campo tipo si/no mediante VB6

Publicado por Luis Hansel (29 intervenciones) el 03/02/2010 20:05:25
Saludos Pablo:

Probablemente tu campo no esta tan "vacío" como crees. Cuando tú no pasas una valor a un campo en detreminada inserción, Access deja el valor como nulo (NULL). Es decir, tu campo, aunque aparentemente está vacío, realmente está nulo, esto provoca que cuando quieres recuperar dicho valor y pasarlo a Visual Basic se caiga la aplicación, no sin antes avisar de un "Type mismatch" o alguna cosa parecida.

Mi recomendación en que aunque no tengas un datos para envíar en la inserción, mandes el valor del campo con algo, esta vez si tiene que ser con el valor vacío de la variable.
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