Tag: 数据库连接

是否有可能知道在Excel VBA中打开了多less个Oracle连接?

我有一个Excelmacros。 macros连接到Oracle来获取数据。 这个提取可能或不可以打开多个连接(取决于用户如何在macros内编码)。 有没有可能知道在Excel VBA中打开的Oracle连接? 或者我更改我的问题:是否有可能知道从VBA脚本中的Excelmacros中打开了多less个连接? 连接代码: Public Const CONNECT_STRING = "Provider=MSDAORA.1;Password=XXXX;User ID=XXXXX;Data Source=XXXXX;Persist Security Info=True" Dim conn As ADODB.Connection conn.Open CONNECT_STRING MsgBox Application.ActiveWorkbook.Connections.Count 计数仍然是0

刷新BackgroundQuery:= False | 需要帮助?

我已经看过其他一些同样的错误,但他们的解决scheme并没有帮助我。 Refresh BackgroundQuery:=False错误1004 这是我的代码 ' ' LoadData Macro ' ' With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;Macintosh HD:Users:Karrar:Desktop:Excel.txt", Destination:=Range("A1")) .Name = "Excel" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .RefreshOnFileOpen = False .BackgroundQuery = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = False .TextFilePromptOnRefresh = False .TextFilePlatform = xlMacintosh .TextFileStartRow = 1 […]

多个用户可以同时使用Java连接到Microsoft Access数据库吗?

这个问题是不言自明的,但下面是一些关于情况的更多信息: 我正在构build一个Java程序,将用一个Access数据库replace一个由Excel用户界面组成的程序。 Excel程序连接到Access数据库并与VBA进行通信。 但是,到目前为止,一次只有一个用户。 既然程序要扩展,我们需要许多用户同时写入任何表。 当然,Access允许多个用户一次连接。 这在HSQLDB中是不可能的,这就是提示这个问题的原因。 很显然,用服务器可以更好地完成这个任务,但是计划是使用当前的数据库来构build程序,然后再完成向服务器的转换。 提前致谢

将SQL身份validation放入Excel工作簿中

我有一个Microsoft SQL Server连接的Excel工作簿。 我希望能够通过连接发送此工作簿,以便其他人可以使用它,但是他们没有SQL Server许可证。 有没有办法在工作簿中包含我的身份validation,以便连接仍然有效? 谢谢!

我的oledb连接在一个工作簿上工作,但不在另一个上

所以我有两个不同的工作簿,两个不同的文件中的代码。 他们甚至在同一台计算机的同一个文件夹中。 strFile = "Z:\service\climatizacion.mdb" strCon = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & strFile Set cn = CreateObject("ADODB.Connection") cn.Open strCon strSQL = "SELECT codigorep, cantidad, precio, descripcion FROM cotizacion WHERE codigorep = " & lngInput & ";" Set rs = CreateObject("ADODB.RECORDSET") rs.Open Source:=strSQL, ActiveConnection:=cn, CursorType:=adOpenDynamic, LockType:=adLockOptimistic 在其中一个工作簿中工作完美,它从数据库中select我需要的所有数据。 另一方面,当我尝试打开logging集时,它给了我运行时错误3001(应用程序使用的参数types错误,超出了可接受范围,或者相互冲突)。 我想通过这个代码,连接是问题(我可能是错的) If cn.State = adStateOpen Then MsgBox "connected" Else […]

如何从Excel电子表格中读取数据?

在我工作的一个项目中,客户在最后一刻询问我添加了从Excel电子表格导入数据的function。 他发给我的例子有一个.xlsx扩展名,所以我假设他们来自Excel 2010,但如果可能的话,我想支持所有版本。 有没有一个简单快捷的方法来从C程序打开和读取Excel电子表格中的数据? 我能想到的唯一想法就是连接到电子表格,就好像它是一个数据库,并从中select我需要的信息。 这是一个好方法吗? 如何通过C连接到Excel电子表格? 我想尽可能使用Windows API。

设置密码后无法从VBA连接到MDB

我在我的VBA(Excel)没有一个密码的MDB连接工作正常,但我决定在我的MDB文件中设置一个密码,然后我写在连接代码的密码,但它不工作! 我收到一条消息: “无法启动您的应用程序,工作组信息文件丢失或由其他用户独占打开” 我正在试图find一个解决方法,但没有为我工作。 有人知道如何解决它 这里是代码: Public Function OpenMDB(ByRef MDBname As String) As Variant Dim DBConnection As ADODB.Connection On Error Resume Next Set DBConnection = New ADODB.Connection With DBConnection .Provider = "Microsoft.ACE.OLEDB.12.0" .Mode = adModeShareDenyNone .Open MDBname, UserId:="Administrador", Password:="ABC123", Options:=adAsyncConnect End With If Err.Number <> 0 Then Set OpenMDB = Nothing MsgBox "Error on DB", […]

错误 – SQL编码为“应用程序定义或对象定义的错误”

我在VBA编码方面比较有经验,但是我在MS SQL Server 2008中是全新的。 我正在试图导出像下面的Excel表到SQL服务器: ABCDE 1 Name Year ID 2 Jill 2015 17 3 Jack 2012 13 4 Mike 1999 25 5 我的代码如下,首先创build并打开一个连接,然后从Excel表(Sheet2)创build一个表,然后将这个表复制到我的SQL服务器。 但是,我得到的代码行MyWorkBook.CurSheet.ListObjects.Add(xlSrcRange, Range("A1:B4"), , xlYes).Name = "Table1"错误,如“应用程序定义或对象定义的错误MyWorkBook.CurSheet.ListObjects.Add(xlSrcRange, Range("A1:B4"), , xlYes).Name = "Table1"我正在试图定义从Range("A1:B4")读取的Table1 有趣的是,我从几个不同的问题中find了相同的代码行,我认为它应该像现在这样工作。 有人有什么主意吗? Private Sub Transtable() Dim connOk As Boolean Dim MyWorkBook As Workbook Dim CurSheet As Worksheet Dim listObj As […]

Powerpivot sql查询失败 – 无法将值转换为表列请求的数据types

我试图通过powerpivot执行一个SQL查询,我得到以下错误 “无法将值转换为请求的表(海量hexstring)列(名称)的数据types” SELECT [name], [table].[group],[table2].[group2] ,SUM([number]) AS number FROM table LEFT JOIN [table2] ON table.[group ID] = [table2].id GROUP BY [name],[table].[group],[table2].[group2] Powerpivot的validation器是满意的查询和相同的查询运行良好通过SQLpipe理工作室,任何想法如何我可以解决这个问题?

如何打开Excel工作簿而不更新外部数据源(但保持启用状态)?

我有一些工作簿,它以自动macros和数据刷新开始(并且预先给出一些build议,这些工作簿需要这样工作,因为我从Windows调度程序自动启动它们,并且我需要它们执行任务而不执行任何操作在用户的部分)。 当我需要检查/更新一些公式,SQL查询或布局时,我只是打开一个工作簿按住[Shift]键 ,它可以防止在Workbook_Open / Auto_Open事件等触发macros,这是伟大的。 问题是还有一些外部数据源在开始时会自动刷新。 在其中一些工作簿查询需要很长时间才能完成,我需要等待一两分钟才能编辑工作簿。 有什么办法可以打开工作簿同时禁用macros和数据刷新? 或者,也许,任何简单的方法来取消执行查询?