あなたの主張は完全に正しくないとして、あなたのセットアップを再考:
ライセンスの問題により、我々は/外部データ ソース
MS Accessの.MDBとしてアクセスを使用することはできません.accdbファイルは、ライセンスを必要とするMSAccess.exeプログラムに関係なく、任意のPCマシンで使用できます。 MS Accessの基礎となるテクノロジーは、通常はPCマシンにプリインストールされている一連のWindows .dllファイルであるJET/ACE SQL Engineです。アクセスはデフォルトでこのエンジンを使用する単なるGUIです。
データ保管と整合性のためにフラットファイルExcelワークシートではなく、実際のリレーショナルデータベース(.mdb/.accdb)ファイルを引き続き使用してください。 Accessを持たないマシンでは、ファイルはいずれのプログラムでも直接開くことができない空のアイコンで表示されますが、ODBC/OLEDB接続またはCOMオブジェクトを介してExcelや他のランゲージ(PHP、R、Python、Java)またはDAO。実際、Windowsコンピュータは、完全な本格的なAccessプログラムなしで.mdb/.accdbファイルを作成できます。以下の図のためのExcelマクロです:
(DAO付き)DATABASEをCREATE
Sub CreateDatabase()
On Error GoTo ErrHandle
Dim fso As Object
Dim olDb As Object, db As Object
Dim strpath As String
Const dbLangGeneral = ";LANGID=0x0409;CP=1252;COUNTRY=0"
strpath = "C:\Path\To\Access\Database.accdb"
' CREATE DATABASE
Set fso = CreateObject("Scripting.FileSystemObject")
Set olDb = CreateObject("DAO.DBEngine.120")
If Not fso.FileExists(strpath) Then
Set db = olDb.CreateDatabase(strpath, dbLangGeneral)
End If
Set db = Nothing
Set olDb = Nothing
Set fso = Nothing
MsgBox "Successfully created database!", vbInformation
Exit Sub
ErrHandle:
MsgBox Err.Number & " - " & Err.Description
Exit Sub
End Sub
場合、(ADO付き)TABLESさらに
Sub CreateTables()
On Error GoTo ErrHandle
Dim strpath As String, constr As String
Dim objAccess As Object
Dim conn As Object
strpath = "C:\Path\To\Access\Database.accdb"
' CONNECT TO DATABASE
constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strpath & ";"
Set conn = CreateObject("ADODB.Connection")
conn.Open constr
' CREATE TABLES
conn.Execute "CREATE TABLE Clients (" _
& " ClientID AUTOINCREMENT," _
& " ClientName TEXT(255)," _
& " Address TEXT(255)," _
& " Notes TEXT(255)," _
& " DateCreated DATETIME" _
& ");"
conn.Execute "CREATE TABLE Orders (" _
& " OrderID AUTOINCREMENT," _
& " ClientID INTEGER," _
& " Item TEXT(255)," _
& " Price DOUBLE," _
& " OrderDate DATETIME," _
& " Notes TEXT(255)" _
& ");"
' CLOSE CONNECTION
conn.Close
Set conn = Nothing
MsgBox "Successfully created Clients and Orders tables!", vbInformation
Exit Sub
ErrHandle:
MsgBox Err.Number & " - " & Err.Description
Exit Sub
End Sub
をCREATE MS AccのGUIアプリケーションが必要ですフォーム、レポート、マクロ、およびモジュールを使用すると、データベースに設計変更を加えるには、1人の開発者だけが本格的なMS Accessを持つ必要があります。一方、他のすべてのユーザーは、無料のランタイムバージョンをMicrosoft.com経由でダウンロードすることができます:2007/2010/2013/2016ナビゲーションペイン(メインメニューのナビゲーション)を使わずにデータベースを起動させてください。
ユーザーは今後数か月のうちにどのテーブルにアクセスする必要がありますか? Access 2016 Runtime(https://www.microsoft.com/en-us/download/details.aspx?id=50040)と呼ばれるAccessデータベースエンジンを自由に再配布してExcel内からクエリを使用することはできません必要に応じて?私は間違いなくこれを分割し、ユーザーが簡単に操作できる形式にすることを推奨したくありません。実際の目標は何ですか、どの程度のレベルですか? MySQLまたはPostgresSQLは、彼らが自由にライセンスされている一時的な時間のオプションですか? – Matt