2

SQL データベースから取得し、フロント エンド ユーザーに必要な情報を提供する Excel ファイルを作成しようとしています。これで、Excel はデータを取得した後、多くの計算を実行します。私の問題は、すべてが自分のコンピューターでうまく機能することですが、2番目に誰かに電子メールで送信すると、私と同じOLEDBConnectionを持っていないため、機能しなくなります。それで、私が彼らのためにそのつながりを作る方法はありますか. 以下は、プロセスを実行したときに記録したサンプルコードです。

Sub SQL()

With ActiveWorkbook.Connections("SG_Statday_Player").OLEDBConnection
    .BackgroundQuery = False
    .CommandType = xlCmdSql
    .Connection = _
    "OLEDB;Provider=SQLOLEDB.1;Password=****;Persist Security Info=True;User ID=****;Data Source=0.0.0.0;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=PCName;Use Encryption for Data=False;Tag with column collation when possible=False;Initial Catalog=WINOASIS"
    .RefreshOnFileOpen = False
    .SavePassword = False
    .SourceConnectionFile = ""
    .SourceDataFile = ""
    .ServerCredentialsMethod = xlCredentialsMethodIntegrated
    .AlwaysUseConnectionFile = False
End With
With ActiveWorkbook.Connections("SG_Statday_Player")
    .Name = "SG_Statday_Player"
    .Description = ""
End With
With ActiveSheet.ListObjects.Add(SourceType:=4, Source:=ActiveWorkbook. _
    Connections("SG_Statday_Player"), Destination:=Range("$A$1")).TableObject
    .RowNumbers = False
    .PreserveFormatting = True
    .RefreshStyle = 1
    .AdjustColumnWidth = True
    .ListObject.DisplayName = "Table_WINOASIS_Query"
    .Refresh
End With

外部データの取得を行う前に接続を追加するだけのマクロを作成しようと考えていましたが、外部データの取得とは異なり、接続の作成では複数のテーブルへの接続が許可されません。

接続ファイルを PC にコピーし、接続ファイルをネットワーク ドライブに保存し、必要な 2 つのテーブルからデータを分割して一度に 1 つのテーブルに取り込み、VBA を使用して接続を確立し、これらはすべて、成功しなかったことを意味しています。

ここで応答が見られないため、別のフォーラムに連絡しました。以下はその投稿へのリンクです。

http://www.excelforum.com/excel-programming-vba-macros/1042311-using-excel-to-connect-to-sql-for-multiple-users-on-multiple-computers.html#post3861151

4

0 に答える 0