Visual Basic - Modos de busquedas

Life is soft - evento anual de software empresarial
 
Vista:

Modos de busquedas

Publicado por Marco (3 intervenciones) el 21/09/2005 17:51:34
Un saludo muy cordial a todas las personas que hacen posible este medio de consulta y una felicitación merecida para todos ellos.

Para comensar diré que estoy empesando en la programación y Mi pequeño gran problema que tengo es lo siguiente:

Estoy haciendo un programita que gestione los diferentes oficios de diferentes instituciones que ingresan a mi oficina, pero el problema se me presenta al querer hacer la busqueda de ellos, ya que necesito que mi busqueda sea por ORIGEN osea de donde provino o FUNCION QUE DESEMPEÑA en caso de ser un empleado.
en cualquiera de los dos casos que en la busqueda al poner una letra se valla enlistando lo que busco y si digito dos letras se valla aproximando a lo que busco y asi sucesibamente.

no se si me explique bien, pero es lo que me tiene trabado porque no se como hacerlo, de antemano agradesco a todos y cada uno de los profecionales en este campo por su valiosa ayuda...GRACIASSSS
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:Modos de busquedas

Publicado por EGV (385 intervenciones) el 21/09/2005 18:32:32
proba con esto en el text donde escribis la letra, en el evento change()
va rehaciendo la busqueda a medida que colocas letras

Private Sub text1_Change()
If text1 = "" Then
csql = "Select * from (...tabla...) "
Set Data1.Recordset = (...base...).OpenRecordset(csql)
Else
csql = "Select * from (...tabla...) where (...campo....) like '" & Trim(text1.Text) & "*';"
Set Data1.Recordset = (...base...).OpenRecordset(csql)
End If
DBGrid1.Visible = True
Me.text1.SetFocus
End Sub

tal otro tenga algo mejor
suerte
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:Modos de busquedas

Publicado por Eli (49 intervenciones) el 21/09/2005 18:39:02
Yo hice una consulta de estas para consultar enfermedades, lo que utilice fue un form nuevo con 2 TextBox y un DataGrid y me funciona de maravilla, en esta consulta se puede consultar por Descripcion o codigo

Lo fuerte del código va en el evento KeyUp, aqui te pongo el código para que lo apliques a tu proyecto:

Dim r As Recordset
Dim item As ListItem
Dim TEM As String

Private Sub Cod_KeyUp(KeyCode As Integer, Shift As Integer)
If Cod.Text <> "" And KeyAscii <> 8 Then
Grid1.Visible = True
Dim res1 As New ADODB.Recordset
res1.CursorLocation = adUseClient
res1.CacheSize = 256
If res1.State = 1 Then res1.Close
res1.Open "select enf_descripcion,enf_codigo from ENF_ENFERMEDADES where ENF_codigo LIKE '" & Cod.Text & "%'", CE
If Not res1.EOF = True Then
res1.MoveFirst
Set Grid1.DataSource = res1
Else
Grid1.Visible = False
End If
Else
Grid1.Visible = False
End If
End Sub

Private Sub DCBoton1_Click()
Unload Me
End Sub

Private Sub Form_Load()
AbrirConexion

End Sub
Private Sub Diag_KeyUp(KeyCode As Integer, Shift As Integer)
If Diag.Text <> "" And KeyAscii <> 8 Then
Grid1.Visible = True
Dim res1 As New ADODB.Recordset
res1.CursorLocation = adUseClient
res1.CacheSize = 256
If res1.State = 1 Then res1.Close
res1.Open "select enf_descripcion,enf_codigo from ENF_ENFERMEDADES where ENF_descripcion LIKE '" & Diag.Text & "%'", CE
If Not res1.EOF = True Then
res1.MoveFirst
Set Grid1.DataSource = res1
Else
Grid1.Visible = False
End If
Else
Grid1.Visible = False
End If
End Sub

Private Sub Grid1_DblClick()
'Al hacerle doble click en el Grid refresca en la pantalla principal
'y cerramos el form de la consulta
Form1.Diagnostico.Caption = Grid1.Columns.item(0)
Form1.Cod_Diag.Text = Grid1.Columns.item(1)
Unload frlocaliza
End Sub

'Los textbox los pongo en la parte superior del datagrid, primero la descripción y lugo el código, bueno es cuestion de gustos, pruebalo y si te pegas en algo avisame.

salu2 y suerte
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