Visual Basic - visualizar registros en un combobox

Life is soft - evento anual de software empresarial
 
Vista:

visualizar registros en un combobox

Publicado por Nadia (7 intervenciones) el 05/10/2006 19:34:31
Hola a todos, espero alguien me pueda ayudar, soy nueva programando, estoy haciendo un pequeño sistema en donde tengo la necesidad de visualializar los registros contenidos en un campo de una tabla en una base de datos en SQL, quiero mencionar que no estoy utilizando Adodc1. encontre este codigo para conectar la base de datos a visual y mostrar los campos de la bd y si funciona, pero n o he podido encontrar como en lugar de mostrar los campos muestre el contenido del campo. Mi ejemplo es: la base de datos se llama "prueba", el servidor es local, mi tabla se llama "empleados", y el campo se llama "departamento", yo quiero ver los registros dentro de departamento como contabilidad, recursos humanos, etc.

Option Explicit
Private cnn As ADODB.Connection
Private rst As ADODB.Recordset

Private Sub Form_Load()
Dim tField As ADODB.Field
Dim trecord As ADODB.Recordset

' Por si ya estaba abierta...
Set cnn = Nothing
Set rst = Nothing
'
' Crear los objetos
Set cnn = New ADODB.Connection
Set rst = New ADODB.Recordset
'
' abrir la base usando las credenciales de Windows
cnn.Open "Provider=SQLOLEDB; " & _
"Initial Catalog=prueba; " & _
"Data Source=(local); " & _
"integrated security=SSPI; persist security info=True;"
'
' abrir el recordset indicando la tabla a la que queremos acceder
rst.Open "SELECT Departamento FROM Empleados", cnn, adOpenDynamic, adLockOptimistic
'
' Asignar los nombres de los campos al combo
With CmbDepto
.Clear
For Each tField In rst.Fields
.AddItem tField.Name
Next
.ListIndex = 0
End With
'
' Cerrar el recordset y la conexión
rst.Close
cnn.Close
End Sub

AYUDA POR FAVOR ME URGE
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:visualizar registros en un combobox

Publicado por Angel (8 intervenciones) el 05/10/2006 20:56:35
Por una parte decirte que tal vez crearias el recordset de manera más fácil con un DataEnvironment, el problema que veo creo que esta en la instrucción For...,

Prueba de esta forma, a mi me funciona:

Dim contador as integer
.
.
.
Rst.Open
Rst.MoveFirst
For contador = 0 To Rst.RecordCount - 1
Combo.AddItem Rst.Fields(2)
Rs.MoveNext
Next contador

Espero haberte ayudado, si necesitas más ayuda tienes mi correo, si puedo lo haré encantado, Chaoo
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:visualizar registros en un combobox

Publicado por Nadia (7 intervenciones) el 05/10/2006 21:19:47
Gracias Angel por tu ayuda en cuestion del problema que viste tenias razón justo ahi es donde me marcaba un error en el for, puse en practica la idea que me diste, pero la verdad no me funciono, no aparece nada en el combo, igual y es error mio, pero aun asi te agradezco mucho ya pregunte por aca y me diero esta manera la pongo por si a alguien le sirve:

With CmbDepto
.Clear
While Not rst.EOF
.AddItem rst.Fields(0).Value
rst.MoveNext
Wend
.ListIndex = 0
End With
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:visualizar registros en un combobox

Publicado por Angel (8 intervenciones) el 05/10/2006 22:21:53
De nada, simplemente una puntualización, antes dentro del for te he puesto:

Combo.AddItem Rst.Fields(2)
Este era un ejemplo mio pero en lugar del (2) , puedes poner el nombre del campo con el que quieres llenar el combo, de esta manera:
Rst.Fields("referencia")
También está bien como tu indicas, ya me he dado cuenta, antes te fallaba porque ponias .Name en lugar de .Value jejejjej, el listindex=0 te sirve para que se muestre el primer valor del combo y no aparezca en blanco hasta que se pincha en el

Chaoo
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:visualizar registros en un combobox

Publicado por unomásnomás (77 intervenciones) el 06/10/2006 01:49:50
Mira... a ver segun mi conocimiento... reemplaza:

For Each tField In rst.Fields
.AddItem tField.Name
Next

por :

While not rst.Eof
.additem rst.fields("Departamento") & ""
rst.MoveNext
Wend

algo asi colega.... espero te sirva...
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