05/01/2010, 13:38
|
|
Respuesta: Buscar en textbox Te paso mi codigo en vb 2005, completamente funcional
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'este codigo se coloca en el Load del formulario
'Debes colcar tu propia instruccion sql para obtener los datos que deseas
AutoCompletar(Me.TextBox1, "Select iNumExpediente, cnombre, ccvepaciente from tb_paciente")
'Nota, debes colocar una linea por cada control, ya que son datos diferentes en cada campo, por tanto la instruccion sql cambia.
End Sub
Private Function AutoCompletar(ByVal Control As TextBox, ByVal Cadena As String) As AutoCompleteStringCollection
Dim tb As DataTable
tb = Me.ObtenerDatosdeTabla(Cadena)
Dim i As Integer
Dim Coleccion As New AutoCompleteStringCollection
For i = 0 To tb.Rows.Count - 1
'aqui al momento de agregar al control puedes concatenar campos segun lo que hayas hecho en la sentencia sql
'para este ejemplo solo tomamos tres campo, pero puedes hacer una combinacion de campos incluyendo distinct para evitar los datos repetidos.
Coleccion.Add(tb.Rows(i).Item(0).ToString & ", " & tb.Rows(i).Item(1).ToString & ", " & tb.Rows(i).Item(2).ToString)
Next i
'Ajustamos el control TextBox o ComboBox para recibir los datos de la siguiente manera.
With Control
.AutoCompleteMode = AutoCompleteMode.Suggest
.AutoCompleteSource = AutoCompleteSource.CustomSource
.AutoCompleteCustomSource = Coleccion
End With
'Devolvemos los datos recuperados de la base de datos
Return Coleccion
End Function
Private Function ObtenerDatosdeTabla(ByVal Comando As String) As Data.DataTable
Dim da_Adaptador As New MySql.Data.MySqlClient.MySqlDataAdapter
'Variable_de_Conexion
'es la variable de conexion activa
Dim cmm_Comando As New MySql.Data.MySqlClient.MySqlCommand(Comando, Variable_de_Conexion)
Dim dt_DataTable As New System.Data.DataTable
da_Adaptador.SelectCommand = cmm_Comando
Try
da_Adaptador.Fill(dt_DataTable)
Catch ex As Exception
MsgBox("Error al obtener datos" & Err.Description)
End Try
Return dt_DataTable
End Function Instrucciones breves:
1. Partimos de la base que ya sabes como hacer una conexion a base de datos y mantener un variable de conexion activa.
2. agrega un form nuevo.
3. coloca solamnte un control texbox con el nombre del control TextBox1 Nota:
Si no manejas vb2005 analiza el codigo para encontrar la equivalencia en el programa que manejes.
Cualquier duda me comentas. |