Buenas de nuevo!
Tras unos días dedicandome a otras secciones de mi programa vuelvo a esto... a ver he remplanteado la cosa como me has dicho gnzsoloyo. Es decir hago esto:
1) Primero recuperaría una tabla con la PK y los campos de nombre y apellido que necesito.
2) Luego usaría la tabla para llenar un listbox.
3) Al seleccionar un objeto en el ListBox me devuelve el índice del objeto seleccionado, y ese índice correspondería a la misma línea de la tabla de donde se sacó, entonces con ese índice recuperaría la PK que le corresponde.
4) Con esa PK solicitaría a la base todos los detalles para cargar.
Llego hasta el punto 3, es decir, relleno bien el listbox y tengo una tabla con todos los datos de la tabla CLIENTES. Código:
Código vb:
Ver originalPrivate Sub btnInicioBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInicioBuscar.Click
'************************************************************************************
'* ESTADO: FUNCIONA *
'* Objeto: btnInicioBuscar *
'* Función: Busca la cadena de texto del textbox (tbInicioBuscar) en la base de *
'* datos y devuelve en el ListBox (lbInicioClientes) los resultados *
'* *
'* *
'************************************************************************************
''Creamos la conexión a la base de datos definida como datasource en Settings
Dim conexion As New SQLite.SQLiteConnection(My.Settings.origConnectionString)
'Declaramos el DataTable que contendrá los datos.
Dim DataTable As New DataTable
'declaramos el DataAdapter y lo llenamos con la consulta
Dim DataAdapter As New SQLiteDataAdapter("SELECT * FROM CLIENTES WHERE nombre LIKE '%" & tbInicioBuscar.Text & "%' OR apellido1 LIKE '%" & tbInicioBuscar.Text & "%' OR apellido2 LIKE '%" & tbInicioBuscar.Text & "%' ORDER BY nombre", conexion)
'rellenamos el DataTable
DataAdapter.Fill(DataTable)
'Vaciamos el Listbox antes de llenarlo
lbInicioClientes.Items.Clear()
'Llenamos el listBox (lbInicioClientes)
Dim i As Integer
For i = 0 To DataTable.Rows.Count - 1
lbInicioClientes.Items.Add(DataTable.Rows(i).Item("nombre") & " " & DataTable.Rows(i).Item("apellido1") & " " & DataTable.Rows(i).Item("apellido2"))
Next
End Sub
Como ves, creo un DataAdapter, lo copio todo a una tabla y relleno el listbox. Ahora quiero empezar a programar el evento "SelectedIndexChanged"
Código vb:
Ver originalPrivate Sub lbInicioClientes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lbInicioClientes.SelectedIndexChanged
La historia que tengo ahora, es que no se como ver la DataTable desde este evento. He probado poniendo en Public el evento del boton donde creo el DataTable y demás, pero sigo sin poder ver esa tabla.
Por otro lado como enlazo lo que es la tabla con el item seleccionado para hacer la consulta?
Mil gracias.