Bienvenidos a VerTutoriales, en esta ocasión vamos a ver como realizar una conexión entre Visual basic 6 (vb6) y Microsoft Access, quizás pueda parecer obsoleto, pero la linea de aprendizaje de este lenguaje, junto con la velocidad para realizar pequeñas aplicaciones lo hacen aún atractivo para pequeños desarrollos.
MUY IMPORTANTE: Para que te funcionen los objetos de datos, es necesario añadir una referencia a nuestro visual basic 6, en este caso la librería que te recomiendo es Microsoft ActiveX Data Objects 2.X. En el vídeo puedes ver como agregarla, normalmente esta librería viene instalada por defecto, más o menos «actual» pero suele venir, sino la tienes coméntamelo y te busco la librería que Microsoft recuerdo que tenía un paquetito.
Una vez agregada la librería, lo siguiente es crear la cadena de conexión, el primer ejemplo es para acceder a la base de datos protegida con contraseña:
ConexBD = «Provider=Microsoft.Jet.OLEDB.4.0; Data Source=mibasededatosacces.mdb; Jet OLEDB:Database Password=MiPass»
En este caso no tiene contraseña:
ConexBD = «Provider=Microsoft.Jet.OLEDB.4.0; Data Source=mibasededatosacces.mdb; Jet OLEDB:Database»
Luego sería pasarle a vb6 el resto para conectar, para ello declaramos dos objetos el primero tipo conexión de base de datos y el otro de registros RecordSet
Dim BD As ADODB.Connection
Dim Rs As ADODB.Recordset
A continuación los instanciamos y conectamos con la cadena de conexión creada previamente para hacer el enlace con nuestro fichero de base de datos en Access.
‘Crear los objetos
Set BD = New ADODB.Connection
Set Rs = New ADODB.Recordset‘conecto con la base de datos
BD.Open ConexBD
Llegamos a este punto, es trabajar directamente con la base de datos usando el objeto recordset para movernos por los registros, podríamos realizar una consulta de esta manera:
Rs.Open «SELECT * FROM Almacen ORDER BY idAlmacen», BD, adOpenDynamic, adLockOptimistic
De esta manera nos traeríamos todos los registros contenidos en la tabla de Almacen. Luego simplemente tendremos un objeto con la información que podremos acceder tan fácil como:
Rs!Nombredelcampo
Os dejo el código completo para conectaros a una base de datos de Microsoft Access con Visual Basic 6 (vb6):
Dim ConexBD as string
ConexBD = “Provider=Microsoft.Jet.OLEDB.4.0; Data Source=mibasededatosacces.mdb; Jet OLEDB:Database”
Dim BD As ADODB.Connection
Dim Rs As ADODB.Recordset‘Crear los objetos
Set BD = New ADODB.Connection
Set Rs = New ADODB.Recordset‘conecto con la base de datos
BD.Open ConexBDRs.Open «SELECT * FROM Almacen ORDER BY idAlmacen», BD, adOpenDynamic, adLockOptimistic
msgbox Rs!Nombredelcampo
Este artículo está realizado como parte de un proyecto que está realizando Nancy, puedes seguir el proyecto completo de Inventario de equipos en Visual Basic 6 aquí
Espero que os sirva!, si es así compartir en redes sociales y comentad!
nancy 27 junio, 2014
de la libreria es esta microsoft Activex Data objects 2.0 library
nancy 27 junio, 2014
amm el primer codigo donde lo voy a introducir???
este
ConexBD = “Provider=Microsoft.Jet.OLEDB.4.0; Data Source=mibasededatosacces.mdb “; Jet OLEDB:Database”
Agapito 27 junio, 2014
Es el que se utiliza luego en la conexión de la base de datos, está explicado más abajo donde dice:
‘conecto con la base de datos
BD.Open ConexBD
videotutoriales 27 junio, 2014
Tal y como comenta Agapito, la variable que estás declarando previamente es para utilizarla luego como conexión, aunque podrías ponerla directamente así:
BD.Open “Provider=Microsoft.Jet.OLEDB.4.0; Data Source=bbddAccess.mdb“; Jet OLEDB:Database”
Es solo por tener la conexión guardada por si tienes que volverla a utilizar en más sitios (que suele ser normal).
Salud!
videotutoriales 27 junio, 2014
Con respecto la librería, sí, la que comentas es la 2.0, pero hay más nuevas, de hecho creo recordar que yo estaba utilizando la 2.7 y estaba la 2.8, pero a partir de esta versión creo que ya no había más.
La versión 2.0 entiendo que te valdrá 😉
nancy 27 junio, 2014
si pero lo que pasa esque no se donde se va a introducir esto. disculpen la ignorancia pero soy nueva en esto
Ursula 4 enero, 2020
Ami no me da el codigo Como le ago
Carlos Dk 4 enero, 2020
Pues el código está funcional. ¿Qué es lo que no te funciona de la conexión?
Carlos Dk 28 enero, 2020
Pues sin más información, es complicado poder ayudar 🙂
videotutoriales 27 junio, 2014
No entendí la pregunta o creo no entenderla, lo que preguntas es ¿dónde pones ese código o el código en general?
nancy 27 junio, 2014
sip
videotutoriales 27 junio, 2014
Puedes ponerlo todo en el Form_Load()
nancy 27 junio, 2014
tambien lo de los 2 objetos lo pongo donde mismo
videotutoriales 27 junio, 2014
He puesto al final del artículo todo el código completo, este código que digo has de incluirlo en el form_load del formulario donde tengas la gestión del Inventario. Te lo pego aquí para seguir la linea:
ConexBD = “Provider=Microsoft.Jet.OLEDB.4.0; Data Source=mibasededatosacces.mdb; Jet OLEDB:Database”
Dim BD As ADODB.Connection
Dim Rs As ADODB.Recordset
‘Crear los objetos
Set BD = New ADODB.Connection
Set Rs = New ADODB.Recordset
‘conecto con la base de datos
BD.Open ConexBD
Rs.Open «SELECT * FROM Almacen ORDER BY idAlmacen», BD, adOpenDynamic, adLockOptimistic
msgbox Rs.value(0)
A ver si así queda más claro 😉
nancy 27 junio, 2014
me marca error en esta parte rovider=Microsoft.Jet.OLEDB.4.0
videotutoriales 27 junio, 2014
El código que está en el artículo está correcto, comprueba que las comillas estén bien puestas y demás, seguramente al copiar directamente el código, las comillas de la fuente te la cambie, han de usarse las comillas que están situadas en el número 2 😉
Copia el código completo y cambia las comillas a ver como va, lo que va entre comillas es una cadena de texto, ha de quedar todo coloreado del mismo color.
Me cuentas 😉
nancy 27 junio, 2014
ok am todo el codigo lo coloco en el comboBox que tengo o den un button
videotutoriales 27 junio, 2014
Yo te recomendaría ponerlo en el evento load del formulario. Si haces dobleclic te aparecerá el evento automáticamente, ahí pegaría todo el código 😉
Ahora mismo lo que nos interesa es poder conectar con la base de datos, más adelante veremos más cosas, pero por ahora necesitas conectar con la base de datos de access, estamos en ello 😉
nancy 27 junio, 2014
ok ya esta ya lo copie
nancy 27 junio, 2014
pero cuando lo corro me dise (unrecognized database format) es mas bien la ruta de mi base de datos creo yo. amm pero no le voi a poner la ruta
nancy 27 junio, 2014
me sale error 524
nancy 27 junio, 2014
ayudame xfa
nancy 27 junio, 2014
am una pregunta si cambio mi BD a acces 97 o 2003 porque la tengo en 2000.
esto no solucionara el problema
videotutoriales 27 junio, 2014
Buenas Nancy
Posiblemente el problema sea que no tienes actualizada la librería
http://www.microsoft.com/downloads/details.aspx?displaylang=es&FamilyID=a8494edb-2e89-4676-a16a-5c5477cb9713
Instálate el paquete que te comento y si puedes, cambia la librería de 2.0 a 2.7 😉 posiblemente venga por ahí la historia.
Posiblemente si cambias a una versión anterior como la versión 97 de Access es posible que te lo tome, pero creo que es mejor actualizar para tener las funciones más «actuales».
nancy 27 junio, 2014
ya cambie la librerya a esta microsoft ActiveX Data Objects 2.8 Library
y la versión de acces la cambie a 2003.
y ahora me sale este error (unrecognized database format)
que hago
videotutoriales 27 junio, 2014
Es bastante raro, ¿seguro que la tabla y la base de datos están correctamente? Debería de dejarte conectar, cómo la has creado la base de datos?
nancy 27 junio, 2014
la tabla la tenia anteriormente en excel y después la pase acces es lo que he echo
nancy 27 junio, 2014
amm y una observacion cada vez que abro la BD me aparece un mensaje que dise «asi abre este archivo pude que contenga codigo diseñado para dañar su equipo»
videotutoriales 28 junio, 2014
No sé como has creado la base de datos, pero te diría que entraras en Access y le dieras a crear una nueva base de datos, una vez tengas creada la base de datos, darle a crear una nueva tabla, para ello tendrás que decir los campos y tipos de campo. Una vez creada la bbdd en access sería importar la tabla de excel.
Si no sabes como crear la tabla en Access coméntamelo y te monto un videotutorial.
Por lo que comentas, posiblemente el problema venga por como se ha creado la base de datos.
Salud!
nancy 30 junio, 2014
hoal que tal me podrial ayudar con lo anterior porfa de como crear una tabla en Access
videotutoriales 30 junio, 2014
Buenas Nancy, ya te echaba de menos.
Voy a prepararte un vídeo esta tarde de cómo crear una base de datos, si pudieras indicarme las columnas que tiene tu tabla y algún ejemplo de dato, así te valdría tal y como la necesitas. Por ejemplo:
– producto: Si es un ordenador, una impresora, etc…
– trabajador: Que está haciendo uso del producto
– almacen: Si no hay trabajador utilizando el producto, en qué almacén está guardado.
Es un simple ejemplo, pero para tener más o menos claro los campos que necesitas.
Un saludo!
nancy 30 junio, 2014
mira ya la estoy haciendo deja ver si sale, hay te aviso
videotutoriales 30 junio, 2014
Ok, cuando tengas la base de datos de Access me lo dices y continuamos.
nancy 30 junio, 2014
ya esta pero otra vez me dise lo mismo cuando la quiero abrir “asi abre este archivo pude que contenga codigo diseñado para dañar su equipo”
videotutoriales 30 junio, 2014
¿Has creado la bbdd desde 0? Entiendo que es por que el archivo de Excel tiene macros, pero si has creado una bbdd nueva, no sé cómo te pregunta tal cosa.
De todas maneras, si le das a continuar debe de dejarte acceder a la información de la base de datos.
Sino, como te decía, puedo montar la bbdd para que veas como lo haría yo y la pongo para que la descargues y así puedas utilizarla.
Necesitaría la estructura de tu fichero Excel.
Un saludo!
nancy 30 junio, 2014
si desde 0 la he creado y no me sale. y si cuando me muestra tal mensaje y le doy continuar si me deja ver la base de datos.
pero lo que paso que cuando la quiero cambiar de Access a VB, escribo el codigo que me pasaste y me sale error
videotutoriales 1 julio, 2014
Te paso el vídeotutorial que he montado aquí:
https://vertutoriales.com/crear-tablas-y-campos-en-una-base-de-datos-microsoft-access-desde-0/
La información que tengas en tu Excel, la podrás copiar y pegar directamente, posiblemente el mensaje que te da es por tema de Macros, pero sin saber exactamente lo que haces es difícil «adivinar» qué es lo que ocurre 😉
Espero que te sirva.
Salud!
nancy 1 julio, 2014
hola que tal
sabes que mi Internet esta inavilitado para los videos y no puedo mirar videos
videotutoriales 1 julio, 2014
Ahora lo sé… pues no sé entonces como explicarte esa parte. Lo único que se me ocurre es poner la bbdd para que la descargues.
Sino, otra forma sería el atacar el fichero de Excel o utilizar un fichero CSV y hacer una apertura del fichero plano, esto último sino tiene mucho volumen de información puede servir también.
Ya me dices.
NANCY 2 julio, 2014
ya mire tu video muchas gracias
ahora ya tengo mi bd en access 2007. ahora vuelvo a poner el mismo codigo en visual basic el que me avias pasado ??????
videotutoriales 2 julio, 2014
Exacto, ten en cuenta que el nombre de la base de datos en la conexión ha de ser la misma. Al menos a ver si ponemos a andar la base de datos con Visual Basic 6 y vamos luego depurando los detalles que aparezcan.
Ya me cuentas! Salud!
nancy 2 julio, 2014
no.
me sigue disiendo formato de base de datos no recocido
videotutoriales 2 julio, 2014
¿Este mensaje es diferente a los anteriores no? Puede ser por la versión en que la tienes. Prueba a guardarla en la versión 97-2003.
Salud!
nancy 2 julio, 2014
ya la cambie y no 🙁
videotutoriales 2 julio, 2014
Las referencias incluidas, creo que falta la de ADO la 2.6 puede ser, sino posiblemente no consiga conectarse.
Cuando escribes en vb6 esto:
Dim BD As ADODB.
¿Al poner el punto de ADODB. te salen más parámetros? Debería 🙂
videotutoriales 2 julio, 2014
Revisando, he visto también esta referencia que quizás haga falta al ser el motor JET de la bbdd:
Microsoft Jet and Replication Objects 2.6 Library
Disculpa que no sea muy concluyente, pero hace años que no toco vb6 😉
nancy 2 julio, 2014
ya ise lo que me dijiste pero sigue igual.
amm mira con respecto al código que me pasaste, ese lo copie tal y como tu lo tienes pero no entiendo en que punto va a buscar la base de datos. si yo no e puesto la ubicación de donde esta.
estoy confundida
videotutoriales 2 julio, 2014
Aquí es donde se pone la base de datos:
ConexBD = «Provider=Microsoft.Jet.OLEDB.4.0; Data Source=mibasededatosacces.mdb; Jet OLEDB:Database»
Está el parámetro Data Source y pone «mibasededadtosacces.mbd» justo ahí tienes que indicar donde se ubica, puedes poner el nombre o poner la ruta completa o relativa. Te recomendaría ponerla en la misma carpeta donde tengas el proyecto.
Una forma es utilizar app.path, este método devuelve la ruta actual.
El código está bien explicado. Pero si vemos que tal desgloso aún más la información.
Un saludo!
nancy 2 julio, 2014
mira asi es como tengo el codigo:
Private Sub From_Load()
Dim ConexBD As String
BD.Open «Provider=Microsoft.Jet.OLEDB.4.0; Data Source=bbddAccess.mdb «: Jet OLEDB: Database «»
Dim BD As ADODB.Connection
Dim Rs As ADODB.Recordset
Set BD = New ADODB.Connection
Set Rs = New ADODB.Recordset
BD.Open ConexBD = «Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\soporte-SRM1\Desktop\bd1.mdb «: Jet OLEDB: Database «»
Rs.Open «SELECT * FROM ALMACEN ORDER BY idALMACEN», BD, adOpenDynamic, adLockOptimistic
esta bien??
videotutoriales 3 julio, 2014
No, tienes duplicada la conexión a la base de datos: BD.Open quedaría así:
Private Sub From_Load()
Dim BD As ADODB.Connection //creo un tipo conexión bbdd
Dim Rs As ADODB.Recordset //creo un objeto para utilizar las tablas (recordset)
Set BD = New ADODB.Connection //aquí lo que hago es inicializar el objeto conexión
Set Rs = New ADODB.Recordset //idem con el recordset
BD.Open ConexBD = “Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\soporte-SRM1\Desktop\bd1.mdb: Jet OLEDB: Database” //aquí es donde realmente estamos lanzando la conexión con la base de datos indicando el proveedor de datos (provider) y la ruta de la base de datos (Data Source)
Rs.Open “SELECT * FROM ALMACEN ORDER BY idALMACEN”, BD, adOpenDynamic, adLockOptimistic //aquí lanzamos una primera consulta a la base de datos.
Revisa esta linea:
BD.Open ConexBD = “Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\soporte-SRM1\Desktop\bd1.mdb: Jet OLEDB: Database”
Si lo has copiado tal y como lo tienes, tiene problemas de sintaxis, tenía una comilla doble por medio donde tenías el nombre bbddAccess.mdb » <-- esta comilla sobra. Así debería de estar el código correcto. Si no conseguimos hoy que lo montes, creo el ejemplo y lo subo para que lo descargues con lo que ya hemos explicado. Salud!
nancy 3 julio, 2014
ya no me sale error pero no me aparece la tabla ni nada de información.
no tendere que ponder un DATA, o una DATAGRID ?? para que ma pueda mostrar
videotutoriales 3 julio, 2014
Eso es que ya está la conexión. Ahora podemos pasar a la siguiente parte. Realizar una consulta y añadirla al combo.
¿Cuál es la estructura de datos que tienes en el fichero?
nancy 3 julio, 2014
ya tengo el comboBox y lo tengo con todos los departamentos
nancy 3 julio, 2014
este es el codigo que tengo en el combo
Combo1.AddItem «ADM DE CONTRATOS»
Combo1.AddItem «ALMACEN»
Combo1.AddItem «CAPACITACION»
Combo1.AddItem «CENTRO COMUNITARIO»
Combo1.AddItem «CONTABILIDAD»
Combo1.AddItem «DISEL SUPERFICIE»
Combo1.AddItem «DIRECCION OPARACION»
Combo1.AddItem «ENSAYES»
Combo1.AddItem «EXPLORACION»
Combo1.AddItem «GEOLOGIA»
Combo1.AddItem «GERENCIA»
Combo1.AddItem «INGENIERIA»
Combo1.AddItem «INGENIERIA INDUSTRIAL»
Combo1.AddItem «LABORATORIO»
Combo1.AddItem «HOSPITAL»
Combo1.AddItem «MANTENIMIENTO»
Combo1.AddItem «MINA SAN DIEGO»
Combo1.AddItem «MINA TECOLOTES»
Combo1.AddItem «MINA SEGOVEDAD»
Combo1.AddItem «MOLINO»
Combo1.AddItem «PLANEACION»
Combo1.AddItem «PLANEACION Y CONTROL»
Combo1.AddItem «PROGRAMACION»
Combo1.AddItem «PLANTA BENEFICIO»
Combo1.AddItem «PROYECTOS OPERATIVOS»
Combo1.AddItem «RH»
Combo1.AddItem «SEGURIDAD»
videotutoriales 3 julio, 2014
Siendo así, te inquiero a que recuerdes el principio de esta tutoría donde te indicaba que en el evento click o change del combo se comprobaba el valor del combobox. Te refresco un poco:
select case Combo1.text
case «PLANTA BENEFICIO»
Rs.Open “SELECT * FROM tablabbdd WHERE campoDepartamento = ‘PLANTA BCIO'», BD, adOpenDynamic, adLockOptimistic
case «RH»
Rs.Open “SELECT * FROM tablabbdd WHERE campoDepartamento = ‘RH'», BD, adOpenDynamic, adLockOptimistic
[…]
end select
En principio el select case se podría omitir si el texto del combo1 coincide con el término a buscar de la siguiente manera:
Rs.Open “SELECT * FROM tablabbdd WHERE campoDepartamento = ‘» & Combo1.Text & «‘», BD, adOpenDynamic, adLockOptimistic
Recuerda que el parámetro tablabbdd es donde indicamos el nombre de la tabla y CampoDepartamento es la columna o campo donde se encuentra el valor del departamento para poder realizar la criba.
Una vez tengamos esa información solo tendremos que mostrarla.
Para probar si funciona, puedes poner justo detrás del Rs.Open el siguiente texto, deberá de mostrar una ventana emergente con el primer valor.
msgbox rs(0).value
Estaré atento por si tienes dudas.
Un saludo!
nancy 3 julio, 2014
ok entonces la informacion que tengo enm combo esta mal y la remplazo x este codigo
select case Combo1.text
case “PLANTA BENEFICIO”
Rs.Open “SELECT * FROM tablabbdd WHERE campoDepartamento = ‘PLANTA BCIO’”, BD, adOpenDynamic, adLockOptimistic
case “RH”
Rs.Open “SELECT * FROM tablabbdd WHERE campoDepartamento = ‘RH’”, BD, adOpenDynamic, adLockOptimistic
?
videotutoriales 3 julio, 2014
No, para nada, esa información entiendo que está bien. Digo que tienes que crear el evento para el combobox donde una vez seleccionado sepas el valor y a partir de ahí realizar la consulta que te ponía, es como el ejemplo que realizo en este videotutorial:
https://vertutoriales.com/visual-basic-componente-combobox/
Si te fijas en el video aparece como crear el evento. En realidad si pulsas doble clic sobre el combo se abrirá un evento, si no es el evento change, puedes buscarlo en el propio editor y seleccionar el evento change().
Dentro de ese evento tiene que ir el select case.
No sé si me estoy explicando 😀
nancy 3 julio, 2014
entonces dentro del evento Change tengo que poner el codigo?
videotutoriales 3 julio, 2014
Exacto, dentro del evento change del combo tendrás que poner la consulta a la base de datos. Me explico más ámpliamente, lo que tienes en el combo pertenece a cada departamento, cuando seleccionas una opción en el combobox, se lanza el evento change del objeto, en ese momento se ha de comprobar que valor tiene el combo para utilizarlo en la consulta en la base de datos, que en lenguaje natural sería:
Rs.Open “SELECT * FROM tablabbdd WHERE campoDepartamento = ‘” & Combo1.text & «‘», BD, adOpenDynamic, adLockOptimistic
Guarda en Rs la selección de todos los campos de la tablabbdd donde encuentras que campoDepartamento sea = al valor del texto que tenga seleccionado Combo1
Ya me cuentas.
nancy 3 julio, 2014
mira estoy poniendo el codigo en el combo de esta manera:
Private Sub Combo1_Change()
MsgBox Rs(0).Value
Case «PLANTA BENEFICIO»
Rs.Open «SELECT * FROM bd1 WHERE campoDepartamento = ‘PLANTA BCIO’, BD, adOpenDynamic, adLockOptimistic»
Case «RH»
Rs.Open «SELECT * FROM bd1 WHERE campoDepartamento = ‘RH’, BD, adOpenDynamic, adLockOptimistic»
esta bien o mal ?
videotutoriales 3 julio, 2014
Está mal. Necesito que me indiques cual es la estructura de la base de datos, ¿Cómo se guarda la información? No necesito los datos, pero sí la estructura para poder atacarla desde código. Sino resulta muy difícil ayudarte.
Salud
nancy 3 julio, 2014
DISPOSITIVO, MARCA PC, MODELO PC, SERIE PC, PROCESADOR CAPACIDAD RAM, CAPACIDAD DISCO DURO DEPARTAMENTO AREA NO. EMPLEADO NOMBRE DEL EMPLEADO VERSION OFFICE VERSION SO MARCA DEL MONITOR MODELO SERIE UPS IMPRESORAS SERIE2
estos son los campos que tengo en tabla
videotutoriales 3 julio, 2014
Prueba este código a ver si te devuelve el primer dispositivo que tengas en el departamento seleccionado, si te da un error de que el departamento no existe, se entiende que los valores que hay en el Combo1 que has añadido antes con el additem, tendrán que consultarse.
Lo formulo de otra manera, ¿en el campo DEPARTAMENTO están cada uno de los items que has añadido en el Combo1? Por otro lado, la tabla de la base de datos se llama bd1? por defecto suele ser table o algo así 🙂
El código para probar la consulta:
Private Sub Combo1_Change(){
Rs.Open “SELECT * FROM bd1 WHERE DEPARTAMENTO = ‘” & Combo1.text & “‘”, BD, adOpenDynamic, adLockOptimistic
MsgBox Rs(0).value
}
Salud!
nancy 3 julio, 2014
ok ya puse el codigo y me salio un error 424
videotutoriales 3 julio, 2014
Seguramente te lo dé en la linea donde está la consulta Rs.Open, mmm tienes que sacar la declaración de variables fuera del evento form, prueba a ponerlo al principio de todo el código del formulario.
El problema es que el objeto no está declarado en esa instancia local del evento y por tanto no existe. Si declaras las variables al principio ya tendrán acceso desde cualquier punto del formulario.
Salud!
nancy 3 julio, 2014
nop 🙁 cuando cambio la consulta Rs.Open hacia el principio me sale error en la linea de codigo
videotutoriales 3 julio, 2014
Lo que tienes que pasar es la declaración de variables ¬¬
Dim BD As ADODB.Connection
Dim Rs As ADODB.Recordset
Para hacerlas accesibles de forma local en todo el formulario 😉 Por supuesto, has de eliminar la otra declaración que hay en el evento form_load para no duplicarla.
Salud!
nancy 3 julio, 2014
nop
videotutoriales 3 julio, 2014
Que cantidad de información me pasas para ayudarte…
Vamos a ver, copia todo el código que tengas de la conexión en el combo (no es nada óptimo pero te valdrá).
La declaración de la conexión y recordset, luego la creación de los objetos, la consulta a la base de datos y demás.
Ahí también tiene que funcionar.
Salud!
nancy 3 julio, 2014
mira esto es lo que tengo en el combo:
Private Sub From_Load()
Dim ConexBD As String
BD.Open «Provider=Microsoft.Jet.OLEDB.4.0; Data Source=bbddAccess.mdb: Jet OLEDB: Database»
Dim BD As ADODB.Connection
Dim Rs As ADODB.Recordset
Set BD = New ADODB.Connection
Set Rs = New ADODB.Recordset
BD.Open ConexBD = «Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\soporte-SRM1\Desktop\bd1.mdb: Jet OLEDB: Database»
End Sub
End Function
Private Sub DataGrid1_Click()
End Sub
Private Sub Combo1_Change()
Rs.Open «SELECT * FROM bd1 WHERE DEPARTAMENTO = ‘» & Combo1.Text & «‘», BD, adOpenDynamic, adLockOptimistic
MsgBox Rs(0).Value
End Sub
Private Sub Form_Load()
Combo1.AddItem «ADM DE CONTRATOS»
Combo1.AddItem «ALMACEN»
Combo1.AddItem «CAPACITACION»
Combo1.AddItem «CENTRO COMUNITARIO»
Combo1.AddItem «CONTABILIDAD»
Combo1.AddItem «DISEL SUPERFICIE»
Combo1.AddItem «DIRECCION OPARACION»
Combo1.AddItem «ENSAYES»
Combo1.AddItem «EXPLORACION»
Combo1.AddItem «GEOLOGIA»
Combo1.AddItem «GERENCIA»
Combo1.AddItem «INGENIERIA»
Combo1.AddItem «INGENIERIA INDUSTRIAL»
Combo1.AddItem «LABORATORIO»
Combo1.AddItem «HOSPITAL»
Combo1.AddItem «MANTENIMIENTO»
Combo1.AddItem «MINA SAN DIEGO»
Combo1.AddItem «MINA TECOLOTES»
Combo1.AddItem «MINA SEGOVEDAD»
Combo1.AddItem «MOLINO»
Combo1.AddItem «PLANEACION»
Combo1.AddItem «PLANEACION Y CONTROL»
Combo1.AddItem «PROGRAMACION»
Combo1.AddItem «PLANTA BENEFICIO»
Combo1.AddItem «PROYECTOS OPERATIVOS»
Combo1.AddItem «RH»
Combo1.AddItem «SEGURIDAD»
End Sub
videotutoriales 5 julio, 2014
Buenas Nancy, he montado un videotutorial puedes verlo aquí: https://www.youtube.com/user/vertutoriales
De todas maneras mañana escribiré el artículo que lo acompaña para darle más forma al proyecto 😉
Un saludo!
Noe 25 mayo, 2016
se puede mandar la información que metiste en el list, en ves de list podría meterla a otro combo box?
Carlos Dk 26 mayo, 2016
claro, solo tienes que realizar el add sobre el objeto combobox que definas 😉
sebastian Britos 2 septiembre, 2020
Muchas gracias por este tutorial, es muy claro y conciso.
Carlos Dk 14 septiembre, 2020
Gracias 🙂
HIMAZA 23 enero, 2022
NO TENGO EL ADODC EN MI PC, Y NO PUEDO HACER LA CONEXION, ME PODRIAS PASAR LA LIBRERIA.
Carlos Dk 12 abril, 2022
Buenas Himaza, siento decirte que hace años que no tengo visual basic en mi PC, ya migré a la nube hace tiempo.
Lo que puedes hacer es instalarte un access de hace tiempo, seguro que encontrarás por internet algún Office 97 🙂