使用Excel连接到多台计算机上的多个用户的SQL

时间:2014-10-09 15:07:20

标签: sql excel-vba multiple-users vba excel

我正在尝试创建一个Excel文件,该文件将从SQL数据库中提取并为前端用户提供所需的信息。现在,excel将在我提取的数据完全正常后进行大量计算。我的问题是,我的计算机上的一切对我来说都很好,但第二个我通过电子邮件发送给不再有效的人,因为他们没有和我一样的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上,将连接文件保存到网络驱动器上,以及从我需要的两个表中分割数据并一次将它们拉到一个表中并使用VBA来制作连接和所有这些都意味着没有成功。

我已经联系到另一个论坛,因为我在这里没有看到任何回复。以下是该帖子的链接。

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

0 个答案:

没有答案