Page 1 of 1

ADODB.Connection Eror แก้ไขอย่างไรครับ

Posted: Mon Oct 23, 2017 2:32 am
by piches
สวัสดีครับอาจารย์และเพื่อนสมาชิกทุกท่าน ขอคำแนะนำการปรับ Code เชื่อมต่อฐานข้อมูลด้วยครับ :mrgreen:

Code: Select all

Sub Dbconnection()
    Dim cn As ADODB.Connection
    Set cn = New ADODB.Connection
    Dim rs As New ADODB.Connection
    Dim strConn As String
    Dim sqlStr As String
    strConn = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" & _
    "DBQ=C:\Users\Macbook Air\Desktop\ADODB.Connection2\Database.xlsx; ReadOnly=False;"
    cn.Open strConn
    sqlStr = "SELECT * FROM [Sheet1$A1:B50]"
    rs.Open sqlStr, strConn
    ActiveSheet.Range("A4").CopyFromRecordset rs
    rs.Close
    cn.Close
    Set cn = Nothing
    MsgBox "connected!"
End Sub

Re: ADODB.Connection Eror แก้ไขอย่างไรครับ

Posted: Mon Oct 23, 2017 8:01 am
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

Sub Dbconnection()
   'Other code
    Dim rs As New ADODB.Recordset '<~~ declare rs as recordset
   'Other code
    sqlStr = "SELECT * FROM [Sheet1$]" '<~~ select data from [sheet1$]
   'Other code
End Sub

Re: ADODB.Connection Eror แก้ไขอย่างไรครับ

Posted: Mon Oct 23, 2017 1:37 pm
by piches
ถ้าต้องการกำหนด พารามิเตอร์ในการดึงข้อมูลมาแสดงตามรายการที่กำหนด ต้องปรับ code อย่างไรครับอาจารย์

Code: Select all

sqlStr = "SELECT * FROM [Sheet1$] WHERE EmpName = Sheets("sheet1").Range("A3").value"

Re: ADODB.Connection Eror แก้ไขอย่างไรครับ

Posted: Mon Oct 23, 2017 8:45 pm
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

sqlStr = "SELECT * FROM [Sheet1$] WHERE EmpName ='" & Sheets("sheet1").Range("A3").Value & "'"

Re: ADODB.Connection Eror แก้ไขอย่างไรครับ

Posted: Tue Oct 24, 2017 1:52 am
by piches
:cp: ขอบคุณครับอาจารย์