DataCombos dependientes

Me llamo abril y tengo un problema con dos DataCombos el asunto es que tengo que conectarlos cada vez que seleccione un dato del Datacombo automáticamente los datos del otro datacombo cambien, claro los datos a los que me refiero los tengo que sacar de una base de datos en MYSQL y no se como hacerlo
te agradecería que me pudieras auxiliar con este problema
de ante mano recibe un amistoso saludo desde mexico

1 Respuesta

Respuesta
1
Cordial también para ti desde Chile..
Veamos, asumiré que tus problemas son dos: La aplicación de filtros a tu segundo Datacombo dependiendo de la elección que el usuario haya hecho en el primero y la conexión con MYSQL:
Respuesta para Datacombos: En este caso, se asume que tienes insertado en tu formulario dos adodc, cada uno de ellos está vinculado a una tabla en particular. Esto se hace a través de la sentencia
recordsource="Select * from Clientes" (La tabla se llama Clientes)
Luego, insertas tu datacombo y lo vinculas al adodc recién insertado con las propiedades Rowsource=nombre del adodc
Listfield=campo que aparecerá en el Datacombo
Con esto ya hacemos aparecer los datos en tu primer Datacombo.
Ahora, cuando el usuario escoja un cliente, por nombre, código o lo que quieras en el datacombo, ¿un segundo Datacombo tendrá que desplegar sólo alternativas relacionadas con la elección hecha recién cierto?
En este caso, inserto un segundo adodc (adodc2), y lo vinculo por ejemplo con la tabla Compras (Select * from Compras) y además inserto el segundo datacombo y establezco también para ella las propiedades Rowsource y Listfield..
Ahora, cuando el usuario haya hecho una elección en el primer Datacombo, automáticamente el segundo se cargará de campos que correspondan..
Para ello hacemos el siguiente procedimiento:
Private Sub DataCombo1_Change()
If DataCombo1.Text <> "" Then
adodc2.recordsource="Select * from Compras where Cod_cliente='" & datacombo1.text & "'"
adodc2.refresh
end if
End Sub
¿Qué hice?, bueno, al cargar el adodc2 con nuevos registros estos se traspasan automáticamente al datacombo2 y solucionas tu problema..
Respuesta para Conexión MYSQL:
Por favor realiza cada uno de los siguientes pasos.. el método de conexión que a utilizar es ODBC..
Idea general: La idea del tipo de conexión que realizaremos, es establecer un vínculo entre tu base de datos MYSQL (la cual ya debe existir y debe tener al menos una tabla) y tu aplicación Visual mediante una conexión ODBC, es decir a través de un dsn de usuario que se debe definir en el Panel de Control de Windows (puede aparecer directamente como un icono de "orígenes de datos ODBC" o bien podría aparecerte con un icono llamado "Herramientas administrativas"
Ingresa a ese ícono y realiza las siguientes tareas:
1) Mantente en la ficha DSN de Usuario.
2)Activa el botón "Agregar" (lado derecho)
3)A continuación debes buscar el controlador que utilizará tu dsn para conectar a tu base, en este caso debes pinchar "MYSQL" y finalizar.
4)En el siguiente cuadro, debes asignar un nombre a tu dsn, este no lo debes olvidar, pues lo tendrás que utilizar para conectar tu aplicación visual con tu base de datos.
5)En descripción, puedes colocar una breve explicación acerca de este dsn en particular, esto se hace cuando se tiene más de un dsn al mismo tiempo.
6) A continuación debes indicarle al sistema cual es el nombre de tu servidor MYSQL, recuerda que éste podría estar incluso en una zona remota, en una red de trabajo o en el mismo PC. Este nombre se escoge desde el listado que el sistema te ofrece. Es muy importante que reconozcas bien el nombre del servidor, recuerda que la Base de datos creada pertenece a UN servidor en particular.
7)Activa dos veces seguidas el botón "Siguiente"
8)Establece tu base de datos predeterminada y da un clic al botón "Siguiente"
9)Luego activa el botón Finalizar.
10 ) ahora debes realizar una prueba de la conexión de tu dsn con la base de datos, da un clic al botón "probar origen de datos"
DSN=Domain System Network
Una vez que tengas abierto el Visual, debes verificar que tienes todas las referencias que correspondan activadas para el eficiente uso de Visual con SQL.
Menú Proyecto / Referencias
Verifica que tengas activadas las siguientes opciones:
Visual Basic for applications
Visual Basic runtime objects and procedures
Visual Basic objects and procedures
OLE automation
Microsoft ActiveX Data Objects 2.0 Library
Microsoft Data Binding Collection.
Microsoft Scripting Runtime.
Conexion entre Visual y el dsn: Recuerda que el dsn ya esta conectado con la base, por lo tanto, el Visual se conecta con el dsn.
Procedimiento de conexión.
En la hoja de módulo del formulario de conexión has lo siguiente.
1) Al comienzo de la hoja.
Option Explicit
Public conexion As ADODB.Connection
Luego coloca el siguiente proceso al cargar el formulario.
Private Sub Form_Load()
Set conexion = New ADODB.Connection
On Error GoTo problemaconexion
conexion.ConnectionString = "DSN=nombre_de_tu_dsn;User Id=sa;PWD=sa;"
conexion.Open
'Estado de la conexion
problemaconexion:
If Err.Number = 80004005 Then
MsgBox "No es posible establecer la conexión con el Servidor, restablezcala e inténtelo nuevamente.", vbCritical, "Módulo de Seguridad."
End
End If
End Sub
Bien, ufff, creo que esto es todo, espero que me entiendas y te sirva, y lo que necesites sólo escríbeme..
Un abrazo desde Chile...
Master
PD : Tengo una amiga por Internet que es de Morelia y la quiero mucho, cariños a tu tierra...
Gracias por tu ayuda créeme que me salvaste la vida, me perdí con ese problema pero creo que ya esta resuelto de ante mano recibe de igual forma un abrazo desde Mexico

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas