Tag: adodb

为Excel数据源select语句

我连接到作为数据库的Excel工作表。 我需要select一些条件的条件,但我得到的错误: 没有给出一个或多个所需参数的值 通过使用下面的代码: Dim conn As Object Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset Set conn = CreateObject("ADODB.Connection") XLName = "C:\Users\X\Desktop\rawdata.xlsx" connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & XLName & "';Extended Properties='Excel 12.0;HDR=NO;IMEX=1';" conn.Open connString rs.Open ("SELECT * FROM [data$] where industry='Government'"), conn, adOpenDynamic, adLockReadOnly Sheet1.Range("A2").CopyFromRecordset rs rs.Close conn.Close

Excel VBA:从ADODB结果集中的数组中插入一列

我从VBA中查询了MS-Access数据库,并将结果集返回给一个数组,如下所示: Sub ChartData() Dim cn As Object Dim rs As Object Dim strSql As String Dim strConnection As String Set cn = CreateObject("ADODB.Connection") ' Hard code database location and name strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\server1\myDB.mdb" ' Construct SQL query strSql = "TRANSFORM Count(Names) AS CountOfNames SELECT Ticker FROM Pricing GROUP BY Ticker PIVOT Source; " ' […]

错误在Excel中使用ADBA与VBA查询表

我正在尝试使用SQL在Excel中查询表(购买)。 但是,下面的脚本运行时出现错误。 tableaddressvariables生成购买!$ A $ 2:$ F $ 1200,这是“购买”表的范围。 生成的SQL查询是: Select * From [Purchases!$A$2:$F$1200] 目前的VBA本身如下所示: Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim strSQL As String Dim tableAddress As String Set cn = New ADODB.Connection cn.ConnectionString = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" & ActiveWorkbook.Path & Application.PathSeparator & ActiveWorkbook.Name cn.Open tableAddress […]

在VBA中使用ADODB并使用RecordSet Open的参数时出现不一致的错误

这行代码: rs.Open SQLStr, conn, adOpenStatic 被certificate有些不稳定 – 有时它运行没有问题,有时它会抛出错误: variables未定义。 这似乎是adOpenStatic引起的问题。 我试图避免引用ADODB库,因为它会要求我所有的用户引用这个库。 如果它没有完全停止,那么罚款,但我的挫折源于有时它的工作原理,有时它不。 只是想知道有没有人遇到过这个问题,并有解决办法?

尝试通过VBA和OLEDB在Excel中创build一个表

我正在尝试在Excel中使用VBA和ADODB创build表(选项卡)。 你能告诉我我要去哪里吗? 在comm.CommandText = "create table [temptable]([AA] VARCHAR(40));"之后,我在comm.Execute处得到一个错误comm.CommandText = "create table [temptable]([AA] VARCHAR(40));" 线: Microsoft Access数据库引擎找不到该对象“temptable”。 在表名尾加一个$或在开头加一个#似乎没有帮助。 Sub sqlquery2() Dim rs As ADODB.Recordset Dim conn As String Dim conObj As ADODB.Connection Dim comm As ADODB.Command Dim fileName As String Set conObj = New ADODB.Connection Set comm = New ADODB.Command fileName = ThisWorkbook.FullName conn = "Provider=Microsoft.ACE.OLEDB.12.0;" […]

获取Excel ADODB连接到MySQL数据库的最后一个插入ID

我有以下代码从Excel表单插入项目到MySQL数据库。 Set rs = New ADODB.Recordset ConnectDB With wsWorkBook strSQL = "INSERT INTO work_order (job_status, job_description, system_id) VALUES ….;" rs.Open strSQL, oConn, adOpenDynamic, adLockOptimistic ' word_order.id End With 我怎样才能得到该行的最后一个插入ID,这是在work_order.id列?

adodb:createparameter是做什么的?

用简单的英文,请你向我解释这条线是什么意思: Cmd.Parameters.Append _ Cmd.CreateParameter("datapath", adChar, adParamInput, 100) 然后我有一行将数据写入数据path列: Cmd.Parameters("datapath").Value = "abc" 但我不明白第一行的目的? adChar和adParamInput是什么,100是什么意思?

使用11g客户端将Excel 2010 VBA连接到Oracle

我有一个Excelmacros,我曾经连接到Oracle 10g就好了。 我已经把这张表带到安装了Oracle 11g 64位客户端的电脑和Excel 2010,现在不能工作。 我遇到了一个错误:“Microsoft ODBC For Oracle Oracle(tm)客户端和networking组件未find” 帮帮我?

不能根据多个标准select唯一的logging

我有一个Excel工作表report格式如下: +———-+——–+————-+ | file | column | columnIndex | +———-+——–+————-+ | abc.xlsx | test | 14 | | def.xlsx | test | 55 | | abc.xlsx | xyz | 19 | | def.xlsx | xyz | 19 | +———-+——–+————-+ 我试图用ADODB来查询它,这样我就可以得到column和非空column的唯一对column和column columnIndex值。 我已经尝试了各种查询,但每个都给了我一个错误。 SELECT [report$].column,[report$].columnIndex from [report$] group by [report$].column,[report$].columnIndex having [report$].column<>'' ORDER BY columnIndex 给出这个错误: […]

共享模块VBA之间的adodb连接

有一种基本的方法来创build一个模块/表单中的数据库连接,然后能够从另一个模块访问相同的数据库连接(打开)? 我有一个popup窗体,请求SQL服务器,然后从中收集数据库供用户select。 那么当我去尝试和使用连接它不连接到其他模块中声明的公共数据库? 这是否有道理,如果有,是否有办法解决? Public conn As ADODB.Connection Public Function openConnection(Optional DB As String) Dim str As String str = "Provider=SQLOLEDB;Server=" & Me.tbx_serverName.Text If (Not IsEmpty(DB)) Then str = str & ";Database=" & DB End If str = str & ";UID=" + tbx_dbuser.Text + " ;PWD=" + tbx_dbpass.Text + ";" On Error Resume Next If […]