Visual Basic - Moverse por los registros mediante un ListBox

Life is soft - evento anual de software empresarial
 
Vista:

Moverse por los registros mediante un ListBox

Publicado por Dr. Cyber (10 intervenciones) el 29/06/2002 04:54:13
Hola. Con el siguiente código hago que un ListBox me muestre todos los registros de una BD (de el campo Nombre):

On Error GoTo Salida
Form6.Data1.Refresh
Do While Not Form6.Data1.Recordset.EOF
List1.AddItem Form6.Data1.Recordset.Fields("Nombre")
Form6.Data1.Recordset.MoveNext
Loop
Salida:

Como se puede ver, estoy trabajando con el Data control de otro formulario. Ese cógigo pertenece al subForm6, y uso los datos de Form6. El hecho es que necesito hacer que cada que seleccione un Item de la lista, este se asocie con el registro correspondiente.

Luego, necesitaría que una vez seleccionado el Item de la lista, al presionar un CommandButton, se le asigne el valor de los registros a dos TextBox que se encuentran en otro formulario.

Osea, cuando haga click sobre un elemento y luego sobre el boton AGREGAR, los datos correspondientes a ese elemento (que se encuentran en campos de la BD) se coloquen en el TExt1 y Text2 que se encuentran en otro formulario. El el text1 debería aparecer el registro correspondiente al campo NOMBRE y en el text2 debería aparece el registro correspondiente al campo CODIGO.

La verdad es que no se si me explique, cualquier cosa respondan el mensaje. Mil gracias por su atención.
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:Moverse por los registros mediante un ListBox

Publicado por TheMente (36 intervenciones) el 29/06/2002 14:57:10
Este metodo no es muy profesional que digamos, pero lo realice mientras me tomaba unos mates en el trabajo...
Te recomendaria que utilices codigos en vez de objetos ADODC, y (no como lo hice yo) utilizar variables globales decladaradas en un modulo. Pero te puede servir para tener una idea.

El form1 contiene:
1 - ADODC
1 - DATAGRID

El form2:
1 - LISTBOX

El form3:
2 - TEXTBOX

Codigo del form1

Private Sub Form_Load()
Dim strSql As String

Form2.Show
Form3.Show

strSql = "Select * from Titles"

With Adodc1
.RecordSource = strSql
.Refresh
End With
End Sub

Codigo del form2

Private Sub Form_Load()
With Form1.Adodc1.Recordset
While Not .EOF
List1.AddItem .Fields(2).Value
.MoveNext
Wend
End With
End Sub

Private Sub List1_Click()
Dim strSql As String

strSql = "Select * from Titles where ISBN='" & List1.List(List1.ListIndex) & "'"

With Form1.Adodc1
.RecordSource = strSql
.Refresh
End With

Form3.Text1.Text = Form1.Adodc1.Recordset.Fields(2)
Form3.Text2.Text = Form1.Adodc1.Recordset.Fields(0)

End Sub

El form3 no tiene codigo.

En el ADODC el tipo de comando deber ser 8 para poder asignarle la sql
Veras que en el form1, cuando selecionas en la lista del form2, el recordset queda limitado a un registro, si quieres seguir viendo todos los registros, deberas clonar el recordset y traba
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:Moverse por los registros mediante un ListBox

Publicado por Dr. Cyber (10 intervenciones) el 30/06/2002 05:23:01
Ese código no me sirve. Estoy trabajando con el Data Control convencional y ese código no es aplicable. Me dijeron que se hacia con un bookmark pero no tengo los códigos...
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