Tecnología

Inicio

Cómo utilizar Microsoft Access en Visual Basic 6

Cómo utilizar Microsoft Access en Visual Basic 6


Casi todos los programas de ordenador útiles requieren una base de datos de algún tipo. Microsoft reconoce este hecho desde el principio y hace que el motor de base de datos Microsoft Access disponible para su uso con programas desarrollados en Visual Basic, comenzando con VB 3. Un programa de VB 6 puede utilizar el motor de base de datos Access a través de un componente llamado "Microsoft Data Access Objects" o DAO . La utilización de este componente, se puede consultar, insertar, actualizar y borrar dentro de la base de datos de acceso.

Instrucciones

1 Iniciar un nuevo proyecto EXE estándar en Visual Basic 6 (VB) iniciando VB y seleccionando "EXE estándar" de la nueva ventana que aparece proyecto. Bajo el menú proyecto, seleccione \ "Referencias. \" En la lista de referencias disponibles, busque la entrada "Microsoft DAO xxx biblioteca de objetos", donde xxx es el número de versión (3.6 por ejemplo). Haga clic en la casilla de verificación junto a la entrada y haga clic en OK.

2 Abra la base de datos Access. Para ello, dimensionar un objeto de base de datos de tipo. Por ejemplo:

Dim db as Database

A continuación, utilice el espacio de trabajo predeterminado para abrir un archivo de base de datos. Por ejemplo:

Set db = Workspaces(0).OpenDatabase(“c:\\temp\\congress.mdb”)

El objeto db es ahora una base de datos totalmente inicializado listo para ser consultado o actualizada.

3 Abrir un conjunto de registros de la base de datos y iterar a través de los registros. Para ello, dimensionar un objeto de conjunto de registros y utilizar el objeto de base de datos para inicializarlo:

Dim rs as Recordset
Set rs = db.OpenRecordset(“Cong105”, dbOpenDynaset)

En este ejemplo, la tabla "Cong105" se está abriendo como un Dynaset. Un Dynaset en este caso significa que el conjunto de registros será actualizable - registros se pueden añadir, actualizar y borrar. Un conjunto de registros también se puede abrir como dsOpenReadOnly, por lo que el conjunto de registros de sólo lectura.
El conjunto de registros está abierto no tiene que ser toda la tabla. Un (Structured Query Language) instrucción SQL se puede utilizar para abrir sólo un subconjunto de la tabla. Por ejemplo:

Set rs = db.OpenRecordset(\"select * from cong105 where home_state = 'NEW YORK'\", dbOpenDynaset)

Esto consultar la tabla de Cong105 sólo aquellos registros con un estado natal de "Nueva York".
Recorrer el conjunto de registros y leer los valores usando los métodos MoveNext y EOF del conjunto de registros. Por ejemplo, si el formulario tiene un cuadro de texto denominado Text1 (con la propiedad de varias líneas se define como true y barras de desplazamiento se establece en vertical):

Text1.Text = \"\"
While Not rs.EOF
Text1.Text = Text1.Text & rs!Title & \" \" & rs!Fname & \" \" & rs!LName & vbCrLf
rs.MoveNext
Wend

4 Añadir un registro a un conjunto de registros utilizando los métodos AddNew y Actualizar. Llamar al método AddNew para crear un registro vacío en el conjunto de registros. Establecer los valores de los campos del registro vacío y luego llamar al método Update para guardar los nuevos valores. Por ejemplo:

rs.AddNew
rs!FName = “Test”
rs!LName = “Test Last”
rs!Update

5 Actualizar un registro existente utilizando los métodos de editar y actualizar. Llamar al método de edición para colocar el registro actual en el modo de edición. Establecer los valores de los campos y luego llamar al método Update para guardar los cambios. Por ejemplo:

rs.Edit
rs!LName = rs!LName & “ jr.”
rs!Update

Consejos y advertencias

  • Cuando el conjunto de registros ya no es necesaria, es una buena práctica para cerrar el conjunto de registros utilizando rs.Close. Esto libera la memoria utilizada por el conjunto de registros y también ayuda a prevenir la corrupción de la base de datos Access.
  • Un conjunto de registros se puede abrir como "sólo hacia adelante" usando la bandera dboOpenForwardOnly. Esto significa que sólo funcionará MoveNext y que MovePrevious fallará. Esto es mucho más eficiente y funcionará más rápido y se debe utilizar siempre que sea posible.