L'accès à une Base de données SQLite en VBA dans Excel
J'ai été l'ajout d'une base de données MS Access pour VBA afin de procéder à une analyse des navires. Toutefois, la base de données a maintenant changé pour SQlite, dont je n'ai aucune idée de comment accéder à partir de VBA. J'ai essayé de l'utilisation de GitHub SQLiteForExcel, mais je ne comprends pas comment il fonctionne, même avec les exemples. Le code que j'ai pour accéder à la base de données Access est ci-dessous: (la db_path est le lien hypertexte à ma base de données Access)
Sub query_db()
On Error GoTo Errorhandler
Dim v_db As DAO.Database
Dim rst As DAO.Recordset
Dim vessels_db As Variant
Dim strSQL As String
Dim i As Long
Dim ws As Worksheet
Set ws = Worksheets("results")
ws.Select
vessels_db = [db_path]
Set v_db = OpenDatabase(vessels_db)
Worksheets("results").Select
[x_0].Select
Range(Selection, Selection.Offset(40000, 1)).ClearContents
strSQL = " SELECT Vessels.vsl_name, Vessels.dwt FROM Vessels " & _
" GROUP BY Vessels.vsl_name, Vessels.dwt ORDER BY Vessels.vsl_name ; "
Set rst = v_db.OpenRecordset(strSQL)
...
Quelqu'un a une idée de comment je peux modifier ce code à l'aide de SQLiteForExcel afin que je puisse accéder à la base de données SQLite.
Merci beaucoup à l'avance
Vous devez vous connecter pour publier un commentaire.
MS Access " défaut moteur, Jet/ACE, et SQLite partager la même qualité qu'ils sont au niveau des fichiers de bases de données où les fichiers de base de données résident au niveau des disques dans des répertoires, par opposition à un serveur de bases de données (SQL Server, Oracle, MySQL, Postgres).
À la fluidité des échanges entre bases de données principales, envisager de connecter des bases de données dans Excel à l'aide d'ADO. Droit maintenant, vous utilisez DAO qui est la valeur par défaut de la connexion de la couche pour MS Access.
La première chose que vous avez besoin est de télécharger un SQLite Pilote ODBC, celui qui correspond à votre version (SQLite 3 le plus probable) et votre niveau de bits de Windows (32/64 bits). En comparaison, votre machine le plus probable a déjà installé un MS Access ODBC Driver. Une fois terminé, il suffit de configurer votre chaîne de connexion:
SQLite
MS Access
Comme la comparaison, avec ADO vous pouvez tout simplement l'interrupteur de chaînes de connexion de référencement, le Pilote ODBC pour la base de données différents backends. Avis, comme ci-dessus, la base de données source est un chemin d'accès au répertoire:
Grande solution, merci Parfait!
Juste une petite correction rapide, vous avez réellement besoin de faire:
De cette façon, la solution complète serait:
Cela fera de la tvd contenir la totalité de la table que vous avez obtenu à partir de la requête.