inicio
foro
review
informes
download
contacto
Registrarse Miembros Buscar Temas de Hoy Marcar foros como leídos
Volver   Foros Toxico-PC > Software > Programación


Respuesta
 
Herramientas
Viejo 16-08-2006, 01:18 PM   #1
Lord-Metal
Usuario Frecuente
 
Dia registro: Dec 2005
Mensajes: 82
Predeterminado Visual Basic - Help

Bueno, resulta que tengo que hacer un sistema para un Minimarket (Final de la Facu) en Visual Basic y la verdad es que hace un tiempo que no programo en Visual entonces estoy medio pa' atras con algunos temas. Antes, aclaro que busque en un manual de VB 6.0, en otros documentos que tengo y en internet, pero no logro encontrar un ejemplo que me soluciones el problema que tengo. Paso a contarles: Tengo un base de datos echa en Acces que cuenta con varias tablas, una de ellas es "Proveedores". Esa tabla cuenta con una serie de campos y uno de ellos es "Nombre", entonces necesito cargar un "Combobox" con todos los nombres de los Proveedores. Es decir, necesito cargar un Combobox con datos correspondientes a un campo de una tabla de una base de datos. Si alguien me puede dar una mano con eso o me puede tirar algun link, se lo agradeceria mucho. Gracias!! Saludos!!
Lord-Metal is offline   Responder Con Cita
Viejo 17-08-2006, 12:00 PM   #2
Requiem
Usuario Nuevo
 
Dia registro: Aug 2006
Mensajes: 4
Predeterminado

Hola...
Bueno lo que podes hacer es:
si vos te conectas a la base con el control data.

nombrecontroldata.recordsource = "select distinct Nombre from Proveedores"
nombrecontroldata.refresh

Despues haces un recorrido con el BOF y el EOF utilizando el next del control.

algo asi como:
nombrecontroldata.movefirst
while nombrecontroldata.EOF = false
varNombre = nombrecontroldata.field("Nombre")
nombrecombo.addtolist(varNombre)
nombrecontroldata.Next
end while

no me acuerdo bien la nomenclatura de visual ... osea no copies y pegues por q no va andar. Pero supongo que con eso respondo tu pregunta

PD: Utilizar el control data para acceder a la base es muuuuuuuuy poco eficiente. Para un TP tal vez es mas comodo, pero sabe que no es lo mejor.
Requiem is offline   Responder Con Cita
Viejo 16-07-2009, 01:46 PM   #3
jatg1410
Usuario de Estreno
 
Dia registro: Jul 2009
Mensajes: 14
Predeterminado

Te recomiendo que veas el metodo open de ADO:

Open, método (Recordset ADO)

Tiene hasta un ejemplo de como hacer algo como lo que quieres, al menos de tomar los campos de la tabla, lo otro es recorrer el recordset e ir asignando los valores al combobox.
jatg1410 is offline   Responder Con Cita
Viejo 16-07-2009, 03:18 PM   #4
areanfg
Casi Humano
 
Avatar de areanfg
 
Dia registro: Mar 2009
Ubicación: Temperley, Bs. As.
Mensajes: 2,445
Enviar mensaje a través de MSN a areanfg
Predeterminado

Cita:
Originalmente escrito por Requiem Ver Mensaje
Hola...
Bueno lo que podes hacer es:
si vos te conectas a la base con el control data.

nombrecontroldata.recordsource = "select distinct Nombre from Proveedores"
nombrecontroldata.refresh

Despues haces un recorrido con el BOF y el EOF utilizando el next del control.

algo asi como:
nombrecontroldata.movefirst
while nombrecontroldata.EOF = false
varNombre = nombrecontroldata.field("Nombre")
nombrecombo.addtolist(varNombre)
nombrecontroldata.Next
end while

no me acuerdo bien la nomenclatura de visual ... osea no copies y pegues por q no va andar. Pero supongo que con eso respondo tu pregunta

PD: Utilizar el control data para acceder a la base es muuuuuuuuy poco eficiente. Para un TP tal vez es mas comodo, pero sabe que no es lo mejor.
si algo asi va a andar. desplasate por todos los registros hasta el final y mientras vas agregando items al combobox. si no queres usar un while, conta primero los registros y hace un for. hace mil que no toco basic jeje...

suerte!
__________________
"No es síntoma de buena salud, el estar perfectamente adaptado a una sociedad enferma" J. Krishnamurti
Los hombres y pueblos en decadencia viven acordándose de dónde vienen;
los hombres geniales y pueblos fuertes solo necesitan saber a dónde van.
José Ingenieros


COMPRAS: PATY_JON - EL_LABRADOR / VENTAS: MAKIAVELO
areanfg is offline   Responder Con Cita
Viejo 16-07-2009, 03:23 PM   #5
Orego
Powered by TussDeTu
 
Avatar de Orego
 
Dia registro: Apr 2005
Ubicación: casita
Mensajes: 5,406
Predeterminado

People siempre son bienvenidos los aportes, pero traten de mirar las fechas antes...
__________________

Powered by BAUER VAPOR RX 15 / NIKE CTR360
.:TU DE TUSS:.
Orego is offline   Responder Con Cita
Viejo 18-07-2009, 12:54 PM   #6
Martin-lp
Usuario de Estreno
 
Avatar de Martin-lp
 
Dia registro: Jul 2009
Ubicación: La Plata
Mensajes: 7
Predeterminado

Hola.
Aquí te dejo un aporte que te va a servir para todos los combos.

'Este Procedimiento lo usas para cargar cualquier combo.
Sub Llenar(cn As ADODB.Connection, Control As Control, SQL As String, texto As String, Numero As String, Optional Limpiar As Boolean = True)
Dim rs As New ADODB.Recordset
rs.Open SQL, cn, adOpenForwardOnly
If Limpiar Then Control.Clear
While Not rs.EOF
Control.AddItem UCase(rs(texto))
Control.ItemData(Control.NewIndex) = rs(Numero)
rs.MoveNext
Wend
rs.Close
End Sub

'Luego.
'Primero va la conexion que ya la debes tener definida, después el control, luego la consulta, la descripcion y por ultimo el id del proveedor.
Private Sub Form_Load()

Llenar cn, cbxProveedores, "SELECT Proveedores.Id_Proveedor,Proveedores.Nombre FROM Proveedores order by Nombre", "Nombre", "Id_Proveedor", True

End Sub

Suerte.
Martin-lp is offline   Responder Con Cita
Respuesta


Herramientas

Reglas
no podes crear nuevos temas
no podes responder temas
no podes adjuntar archivos
no podes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
ir a


Powered by: vBulletin Version 3.6.5
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Toxico PC - Todos los derechos reservados.
Toxico-PC es marca registrada al igual que sus logos y contenido.