是否有与mac 2016 excel中的adodb.connection adodb.recordset等效的版本?

vltsax25  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(234)

... 或者从查询表中提取记录。

m528fe3b

m528fe3b1#

试试这个:
sqldatabase_vba.bas从adodb或excel中带有vba的系统连接sql数据库
sconnect=“提供者=msdasql.1;dsn=您的odbc连接名称;“&”uid=您的用户;pwd=您的密码;dbq=您的数据库“&dbpath&”;hdr=是';“
ibm/as400的连接字符串:(没有adodb,可以在mac上工作,但只能在ibm服务器上工作)
sconnect=“提供者=ibmda400;数据源=服务器名;“&”默认集合=可选;user id=用户名;密码=kennwort“
sqldatabase\u vba.bas:

Sub SQLDatabase_VBA()

On Error Resume Next

'Step 1: Create the Connection String with Provider and Data Source options

Public sSQLQry As String

Public ReturnArray

Public Conn As New ADODB.Connection

Public mrs As New ADODB.Recordset

Public DBPath As String, sconnect As String

'Step 2: Create the Connection String with Provider and Data Source options

ActiveSheet.Activate

DBPath = ThisWorkbook.FullName 'Refering the sameworkbook as Data Source

'You can provide the full path of your external file as shown below

'DBPath ="C:\InputData.xlsx"

sconnect = "Provider=MSDASQL.1;DSN=Connect_fromODBC;UID=your user name;PWD=your password;DBQ=database name" & DBPath & ";HDR=Yes';"

'If any issue with MSDASQL Provider, Try the Microsoft.Jet.OLEDB:

'sconnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBPath _

    & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"

'Step 3: set connection timeout Open the Connection to data source

Conn.ConnectionTimeout = 30

Conn.Open sconnect

'Step 4: Create SQL Command String MRFIRM, MRIDEN, MRSART,MRSRN,MRSRRF,MRDTB,MRUSER, MRSRNA as Serien_NR_Zugriff

 sSQLSting = "SELECT * From your database " & _

            " WHERE ------ " & _

            " Group by ----- "

'Step 5: Get the records by Opening this Query with in the Connected data source

 mrs.Open sSQLSting, Conn

 'Step 6: Copy the reords into our worksheet

 'Import Headers

    For i = 0 To mrs.Fields.Count - 1

        ActiveSheet.Range("B15").Offset(0, i) = mrs.Fields(i).Name

    Next i

'Import data to destination cell

ActiveSheet.Range("B15").Offset(1, 0).CopyFromRecordset mrs

 'Step 7: Close the Record Set and Connection

  'Close Recordset

  mrs.Close

  'Close Connection

  Conn.Close

  Set mrs = Nothing

  Set Conn = Nothing

End Sub

相关问题