Problema con VB Y ACCESS

Quise empezar desde cero en cuanto a poder jalar datos de access en una aplicación de visual basic. Al utilizar el wizarde de VB donde me pide que base de datos quiero utilizar selecciono access y después me pide el archivo pero me dice que no reconoce la base de datos. Los campos que hice en access son muy sencillos ya que quería probar el funcionamiento, pero aun así me dice que no reconoce la BD, que puedo hacer

1 respuesta

Respuesta
1
Te recomiendo no uilizarlos porque de esa forma no entenderñas lo que haces. Lee los siguientes pasos:
1. Creación de una conexión ODBC. Debes indicarle a windows que driver vas a utilizar para efectuar la conexión. Ves a panel de control y selecciona ODBC32 bits. Ves a la pestaña system DSN (conexión que pueden efectuar todos los usuarios del PC) y cliquea ADD. Selecciona el driver microsoft access driver. Acepta te aparecerá una pantalla nueva donde debes seleccionar la ubicación de la base de datos y un nombre a la conexión. (Recuerda el nombre porque luego lo utilizarás desde visual basic para abrir la conexión). Acepta y ya tienes hecha la conexión con tu base de datos access. Esto vale para otras bases de datos (pe., ORACLE, SQL SERVER). Esto también se puede hacer por medio de código. Pero ya te lo explicaé más adelante.
2. Existes dos tecnologías desde visual basic para efectuar la comunicación entre visual basic y odbc. DAO (antigua y no sirve para access >95) y ADO (moderna, rápida y segura). Existen otras tecnologías como RDO, pero te explicaré la más utilizada. Para poder utilizar estos objectos debes añadirlo en las referencias del proyecto de visual basic. Ves a Project, References y activa la siguiente linea:
Microsoft activeX data objects 2.0 library
(Existen en internet versiones más modernas)
3. Crea un formulario con un text box y en el load pon
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
(El primer objeto es un objeto de conexión el segundo es para interaccionar con la base de datos)
Set cn = New ADODB.Connection
cn.Open "DSN=manteniment"
(Manteniment es el nombre de mi conexión ODBC, tu tienes que poner el tutyo)
(Con esto hemos creado el enlace con ODBC)
(Ahora vamos efectuar una consulta con tu base de datos)
Set rs = cn.Execute("SELECT * FROM [MANT_P]")
(Lo que estoy haciendo es decirle al objeto conexión con que me seleccione (*) todos los campos de la tabla MANT_P (aquí pon una tabla pequeña de tu base de datos) y me los devuelva en el recordset rs) un recordset es un objeto con el resultado de una consulta a una base de datos. Lo que hay dentro de la función execute se llama una sentencia SQL (structured query language). Se pueden realizar muchas consultas e incluso realizar cálculos como medias por medio de una SQL, bajate un manual de internet sobre SQL)
5. Ahora vamos a escribir todos los registros del recordset en el text box
While Not (rs.EOF)
txtbox1.Text = txtbox1.Text & rs!OP_NAME & " "
Rs. MoveNext
Wend
Traducción :mientras no lleguemos al final fel recordset (EOF:End Of File es un booleano) añade información al textbox
y muévete una fila sobre el recordset o sobre la tabla de access y lee la información del campo OP_NAME

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas