Tag: adodb

在ADODB(VBA,Excel和Acccess 2010)中执行查询时出现错误80004005,

我有一个问题,我不能得到我的头。 我有一个Access数据库,我试图通过使用ADODB在Excel中使用VBA创build一组查询。 我有几个查询成功创build,即。 在这里下面的一个。 第二个将不会工作。 如果我手动将查询复制到访问数据库(从select和转发)并保存为“DK_Teledata_1”它完美的工作 CREATE PROCEDURE DK_Aktiviteter_Union_1 AS SELECT DK_Aktivitet.År FROM DK_Aktivitet; 而那个不行的 CREATE PROCEDURE DK_Teledata_1 AS SELECT DK_Teledata.Dato FROM DK_Teledata INNER JOIN Time_Intervals ON DK_Teledata.Interval = Time_Intervals.Time_Interval; 以下查询使用相同的数据创build时没有任何问题: CREATE PROCEDURE DK_Teledata_1 AS SELECT * FROM DK_Teledata; CREATE PROCEDURE DK_Teledata_1 AS SELECT * FROM Time_Intervals; CREATE PROCEDURE DK_Teledata_1 AS SELECT * FROM Time_Intervals, […]

使用VB6 ADO将数据追加到Excel列

我正在testing从TextBox插入文本到Excel的示例VB6应用程序。 我想find列中最后一个使用的行,并且每当用户单击一个button时,在下一行添加txt1 TextBox的文本。 范围从C10到C49 。 最后一行填满后,我会提示用户打开新的Excel文件。 我无法做的追加部分。 下面是我试过的代码: Private Sub cmdUpdate_Click() Dim objConn As New ADODB.Connection Dim szConnect As String szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\Excel\Format.xls;" & _ "Extended Properties='Excel 8.0;HDR=NO';" objConn.Open szConnect Dim xrow As Integer Dim lastRow As Integer lastRow = 10 xrow = 49 Do while lastRow <= xrow objConn.Execute "UPDATE […]

在ADODB中查询,点到点列名

我正在尝试查询excel文件,其中我有列名“某事”。 我得到错误原因ADODB不喜欢点名。 所以它应该是这样的:SELECT sth sth. 从。 我试过SELECT [sth sth.]和[ sth sth. [sth sth.] sth sth. ]和[sth。]但是它不起作用。 请帮忙。 摆脱点不是一个选项。

小计function不被OLEDB评估

我有一个Excel电子表格,我在C#中使用ADODB和OLEDB api以编程方式访问。 我试图检索一个小计函数的评估值( IMEX=1在连接string中设置),但只有当它应该是非零值时,我只得到值为0。 例如, =SUBTOTAL(9, A1:A4)会给我0。 但是, =SUM(A1:A4)给出了适当的值。 我知道我可以通过使用总和来解决这个问题,但是电子表格是通过使用小计function提供给我的。

支持> 65k行的Excel VBA SQL驱动程序

在Excel 2010中通过VBA查询Excel数据时,我遇到了一个有趣的问题。 我正在使用这些驱动程序来连接到xls或xls(x | m)文件: Sub OpenCon(ByRef theConn As Connection, ByVal FilePath As String) 'Opens the connection based on Excel version If Right(FilePath, 4) = ".xls" Then theConn.Open "Driver={Microsoft Excel Driver (*.xls)};" & _ "DriverId=790;" & _ "Dbq=" & FilePath & ";" & _ "DefaultDir=" & FilePath Else theConn.Open "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, […]

在Excel中模拟Windows用户的ADODB连接

所有, 我有两个查询两个不同的数据库,我需要使用两个不同的Windows凭据在同一个工作簿中完成。 我知道我可以像应用程序中的不同用户那样运行,但是我想要做的是find一种方法将不同的凭据插入到两个不同的ADODB对象中。 问题当然是这些是Windows帐户,而不是SQL Server帐户。 在ADODB级别可以这样做吗? 如果没有,是否有办法从另一个Windows用户实例化(从VBA中)另一个应用程序? 谢谢。

无法在打开的工作簿上运行独特的ADODB查询?

我有一个类ADOConnector创buildADODB连接到工作簿并查询工作簿: Private objconnection As New ADODB.Connection Sub connect(workbookPath As String) On Error GoTo errHandler objconnection.CommandTimeout = 99999999 objconnection.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=" & workbookPath & ";" & _ "Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1"";" Exit Sub errHandler: Err.Raise Err.Number, "ADOConnector.connect", Err.Description & _ " (" & workbookPath & ")" End Sub Function WorksheetQuery(selectSQL As String) As […]

VBA ADODB从查询中获得更奇妙的值

我在VBA Excel中使用ADODB连接到现有的DBF数据库来parsing信息并生成报告。 我的SQL语句可能不是最好的,但他们似乎工作。 然而,我遇到了一个奇怪的问题与我的查询结果,调查后发现,在一些后方我的查询返回错误的数据。 我原来的SQL语句如下所示: SELECT nofac, class, branch, Iif(dental = true, pedental + pbdental, NULL) AS prim1, Iif(dental2 = true, pedental + pbdental, NULL) AS prim2, Iif(dental3 = true, pedental + pbdental, NULL) AS prim3, Iif(dental4 = true, pedental + pbdental, NULL) AS prim4, pxdental AS tax, social_ins FROM base.dbf WHERE nofac BETWEEN 123456 […]

查询每个单元格值返回不同结果的单元格区域 – Excel VBA ADODB

我已经在这一段时间了,我一直没能弄清楚这一点… 我正在尝试编写一个macros来查询Teradata数据库中一个可变范围的ID。 如果仅将一个ID作为parameter passing给命令,我可以使其工作,但是我一直无法find查询全部范围的方法。 目前在该范围内有2456个不同的ID(单元格B2:B2456)。 预期的最终结果是:ID /。 从networking拖网,它会出现一个循环将需要查询所有个人ID。 这使我感到惊讶,因为我原以为有一种方法可以一次通过全部范围。 我试图将所有值连接到一个单元格,但是这不会返回任何结果。 如果可能的话,我想find一种方法来查询完整的范围,而不需要将每个ID传递给一个单独的查询。 我可以开始的任何提示? 编辑:我从那以后发现可以在SQL查询中引用可变数量的ID – 即从表中selectID IN(?,?,?,?,?…),数量为? 指定它将接受的参数数量。 基于这一点,我想循环可以添加参数的完整列表,但是我难以想象我可以如何将这与数量? 在SQL查询中… Set Command1 = New ADODB.Command Set Param1 = Command1.CreateParameter("ID", adLongVarWChar, adParamInput, 203, Wb2.Range("C1").Text) Command1.Parameters.Append Param1 Command1.CommandText = " select distinct ID, Price from TABLE where ID IN ? " Command1.CommandType = adCmdText Command1.CommandTimeOut = 240 Set […]

Excel VBA的ADODBlogging集 – 我可以设置字段数据types(ID和数字,名称为字符,生日为date)?

我在Source Excel文件(Source.xlsx)(ID,Name,DOB,City)中有数据。 我正在使用ADODBlogging集从Source.xlsx读取数据。 我必须在City上过滤数据,并使用ADODBlogging集(adLockOptimistic)在仅带有标题行(City.xlsx)的新空白文件上过滤数据,因为我不想打开文件以将数据写入数据。 我能够写入数据,但一切都被写入文本。 如何为不同的字段设置不同的数据types。