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.Connectio n 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.Connectio n()
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.Connectio n()
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.ConnectMo deEnum.adModeRe adWrite
'Tiempo límite en segundos para efectuar la conexión
cnMiConn.Connec tionTimeout = 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.Provid er = "Microsoft.Jet. OLEDB.4.0"
'Cadena de conexión
cnMiConn.Connec tionString = "Password=; User ID=Admin;Data
Source=C:\Datos \Datos.mdb;"
cnMiConn.Open()
'Abre la base de datos
rsMiTabla.Open( "SELECT * FROM [tTabla]", cnMiConn,
ADODB.CursorTyp eEnum.adOpenDyn amic, ADODB.LockTypeE num.adLockOptim istic, 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.AddNe w()
rsMiTabla.Field s("Campo1").Val ue = TextBox1.Text
rsMiTabla.Field s("Campo2").Val ue = ComboBox1.Text
rsMiTabla.Field s("Campo2").Val ue = CheckBox1.Check ed
rsMiTabla.Updat e()
2- Eliminar un registro
'Elimina el registro actual
rsMiTabla.Delet e()
3- Ir al primer registro
rsMiTabla.MoveF irst()
4- Ir un registro atrás
rsMiTabla.MoveP revious()
5- Ir un registro adelante
rsMiTabla.MoveN ext()
6- Ir al último registro
rsMiTabla.MoveL ast
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.MoveF irst()
End Sub
Public Sub MoverAnterior()
'Se mueve un registro atrás
rsMiTabla.MoveP revious()
'Si se está en el principio de la tabla se mueve al primer registro válido
If (rsMiTabla.BOF = True) Then
rsMiTabla.MoveF irst()
End If
End Sub
Public Sub MoveNext()
'Se mueve un registro adelante
rsMiTabla.MoveN ext()
'Si se está en el final de la tabla se mueve al último registro válido
If (rsMiTabla.EOF = True) Then
rsMiTabla.MoveL ast()
End If
End Sub
Public Sub MoveLast()
rsMiTabla.MoveL ast()
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
"josephrtho mas" <ex***********@ yahoo.com.sg> escribió en el mensaje
news:02******** *************** *****@phx.gbl.. .
hi..
i am using ASP.NET with VB.NET to connect to a MS Access
database...
can someone pls tell me how do i make the sql statement to
insert a new record into the existing table pls??
also how do i filter data?
i mean lets say i wanna filter the NAME field and get all
the names starting with
"Ja"
can someone pls tell how do i write the sql statement to
do that pls?
tks a lot...