Hola, amigo.
Soy nuevo en este grupo, pero tengo algunos conocimientos que me permitirán
ayudarte.
Primeramente, debes definir cuál tecnología usarás para manipular la base de
datos de MS Access. Puedes usar DAO o ADO, las cuales son las más idóneas
para el uso con este formato de bases de datos: Access. Luego de definir
cuál tecnología usarás (te recomiendo ADO), tendrás que agregarla referencia
al proyecto en el cual lo usaras (yo uso Microsoft Visual Studio .NET), para
esto vas al menú Proyecto->Agregar referencia..., ahí seleccionarás ADODB.
Luego de hacer esto ya tienes la referencia en tu proyecto a la librería
ADODB. procederás a crear las variables para su uso.
Deberás crear una variable de tipo ADODB.Connection para manipular una
conexión a una base de datos, luego otra de tipo ADODB.Recordset para
manipular una base de datos. Todo quedaría de la siguiente manera:
Public cnMiConn As new ADODB.Connection()
Public rsMiTabla As new ADODB.Recordset()
Para empezar a manipular la tabla de Access deberás:
1- Establecer las propiedades para la manipulación de la base de datos.
2- Conectarte a la base de datos de Access.
3- Abrir la tabla.
4- Manipular los datos.
Para lograr esto te muestro un fragmento de código donde verás claramente
todo el procedimiento.
Código de ejemplo:
--------------------
Public Class Form1
Inherits System.Windows.Forms.Form
....
Public cnMiConn As New ADODB.Connection()
Public rsMiTabla As New ADODB.Recordset()
Private Sub Form1_Load( ... ) Handles MyBase.Load
'Tipo de bloqueo que usarás para la base de datos
cnMiConn.Mode = ADODB.ConnectModeEnum.adModeReadWrite
'Tiempo límite en segundos para efectuar la conexión
cnMiConn.ConnectionTimeout = 15
'Proveedor que usarás para la conexión.
'Existen varios tipos de proveedores. El que se usa para bases de datos de
Access es
'Microsoft.Jet.OLEDB.4.0
cnMiConn.Provider = "Microsoft.Jet.OLEDB.4.0"
'Cadena de conexión
cnMiConn.ConnectionString = "Password=;User ID=Admin;Data
Source=C:\Datos\Datos.mdb;"
cnMiConn.Open()
'Abre la base de datos
rsMiTabla.Open("SELECT * FROM [tTabla]", cnMiConn,
ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic, 0)
End Sub
....
Para manipular los datos utilizas los siguientes métodos:
1- Insertar un nuevo registro
'Inserta un nuevo registro en la tabla
rsMiTabla.AddNew()
rsMiTabla.Fields("Campo1").Value = TextBox1.Text
rsMiTabla.Fields("Campo2").Value = ComboBox1.Text
rsMiTabla.Fields("Campo2").Value = CheckBox1.Checked
rsMiTabla.Update()
2- Eliminar un registro
'Elimina el registro actual
rsMiTabla.Delete()
3- Ir al primer registro
rsMiTabla.MoveFirst()
4- Ir un registro atrás
rsMiTabla.MovePrevious()
5- Ir un registro adelante
rsMiTabla.MoveNext()
6- Ir al último registro
rsMiTabla.MoveLast
Existen dos propiedades que te indican cuando se ha llegado al principio o
al final de la tabla. Estas propiedades te ayudarán a saber si existen
registros en la tabla. Las propiedades se llaman BOF y EOF y son de tipo
Boolean.
BOF se utiliza para saber si estás en el principio de la tabla
EOF se utiliza para saber si estás en el final de la tabla
Si las dos propiedades son verdaderas entonces no existen registros en la
tabla.
Funciona de la siguiente manera. Cuando en una tabla estás en el primer
registro válido su posición es 1 y cuando estás en el final su posición es
la cantidad de registros que existan. Si te mueves un registro atrás la
posición cambia a 0 y BOF se pone verdadero. Si estás en el final y te
mueves un registro adelante la posición es la cantidad de registros que
existen en la tabla + 1 y EOF se pone verdadero.
Ejemplo de código:
....
Public Sub MoverPrincipio()
'Se mueve al principio de la tabla
rsMiTabla.MoveFirst()
End Sub
Public Sub MoverAnterior()
'Se mueve un registro atrás
rsMiTabla.MovePrevious()
'Si se está en el principio de la tabla se mueve al primer registro válido
If (rsMiTabla.BOF = True) Then
rsMiTabla.MoveFirst()
End If
End Sub
Public Sub MoveNext()
'Se mueve un registro adelante
rsMiTabla.MoveNext()
'Si se está en el final de la tabla se mueve al último registro válido
If (rsMiTabla.EOF = True) Then
rsMiTabla.MoveLast()
End If
End Sub
Public Sub MoveLast()
rsMiTabla.MoveLast()
End Sub
....
Querido amigo, creo que es suficiente para que puedas manipular una base de
datos de Access en VB.NET utilizando ADO. Si quieres profundizar más al
respecto te recomiendo que vayas a la ayuda.
Fuccio DaVietre