Access - Conectarse a Access

 
Vista:

Conectarse a Access

Publicado por Juan Pablo (1 intervención) el 13/09/2006 16:36:54
Hola a todos, ojalá alguien se anime a contestar esta pregunta.

Necesito saber la manera de poder traspasar datos desde Visual Basic a Access. Tengo datos numéricos en un flexgrid que necesito ir guardando cada cierto tiempo en una tabla. He intentado, pero hasta ahora no he llegado a ningun resultado.
Así que les pido ayuda con esto, si existe alguna página donde salga algo así o si me pueden decir que tengo que hacer. Trabajo con Visual Basic 5.0 y Access 2002.

Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Traspasar datos desde Visual Basic 5.0 a una tabla en Access 2002

Publicado por Alejandro (4142 intervenciones) el 25/07/2023 21:58:41
¡Hola, Juan!

Para traspasar datos desde Visual Basic 5.0 a Access 2002, puedes utilizar el objeto de base de datos de Microsoft Access (DAO) para realizar las operaciones de inserción en la tabla. Aquí te muestro un ejemplo básico de cómo hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Sub TraspasarDatosALaTabla()
    ' Reemplaza "Ruta\ArchivoDeBaseDeDatos.mdb" con la ruta y nombre de tu archivo de base de datos de Access
    Dim strRutaBaseDeDatos As String
    strRutaBaseDeDatos = "Ruta\ArchivoDeBaseDeDatos.mdb"
 
    ' Crea una nueva instancia del objeto Database
    Dim db As Database
    Set db = OpenDatabase(strRutaBaseDeDatos)
 
    ' Reemplaza "NombreDeTabla" con el nombre de tu tabla en Access
    Dim strNombreTabla As String
    strNombreTabla = "NombreDeTabla"
 
    ' Reemplaza "FlexGrid1" con el nombre de tu FlexGrid (control de cuadrícula) en Visual Basic 5.0
    Dim fg As Object
    Set fg = FlexGrid1
 
    ' Recorre las filas del FlexGrid y guarda los datos en la tabla de Access
    Dim i As Integer
    For i = 1 To fg.Rows - 1
        Dim dato As Integer
        dato = CInt(fg.TextMatrix(i, 1)) ' Suponiendo que el dato está en la columna 1 del FlexGrid
 
        ' Crea un nuevo registro en la tabla y asigna el valor del dato
        Dim rs As Recordset
        Set rs = db.OpenRecordset(strNombreTabla, dbOpenDynaset)
        rs.AddNew
        rs.Fields("NombreCampoEnAccess") = dato ' Reemplaza "NombreCampoEnAccess" con el nombre del campo en la tabla de Access
        rs.Update
        rs.Close
    Next i
 
    ' Cierra la conexión con la base de datos de Access
    db.Close
    Set db = Nothing
 
    MsgBox "Datos traspasados correctamente a la tabla en Access.", vbInformation
End Sub

Asegúrate de reemplazar "Ruta\ArchivoDeBaseDeDatos.mdb" con la ruta y nombre correcto de tu archivo de base de datos de Access, y "NombreDeTabla" con el nombre de tu tabla en Access. Además, ajusta el nombre del FlexGrid ("FlexGrid1") y la columna de la que deseas obtener los datos en el FlexGrid (aquí suponemos la columna 1).

Este es solo un ejemplo básico, y dependiendo de la estructura de tu base de datos y los datos en el FlexGrid, podrías necesitar realizar adaptaciones adicionales. También ten en cuenta que el uso de DAO está relacionado con versiones antiguas de Access, y si tienes la posibilidad de utilizar versiones más recientes de Visual Basic y Access, podrías considerar el uso de ADO (ActiveX Data Objects) o incluso Entity Framework si trabajas con Visual Basic .NET.

Espero que esto te sea de ayuda. ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar