[Help] Lập trình VBA tạo truy vấn động CSDL SQL (2 người xem)

  • Thread starter Thread starter thaytu
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

thaytu

Thành viên hoạt động
Tham gia
30/5/08
Bài viết
118
Được thích
164
Mình đang viết đoạn Code sau để truy vấn CSDL SQL trong VBA, giờ muốn câu lệnh truy vấn lấy dữ liệu động từ giá trị của 1 Cell: tại dòng bôi đỏ (SQLStr = "SELECT TOP 10 * FROM TIEN_GUI WHERE SO_SO = 'A6985852'" ' Enter your SQL here)
Ví dụ như: SQLStr = "SELECT TOP 10 * FROM TIEN_GUI WHERE SO_SO = '"&Sheet.Range("A1").Value
Nhưng báo lỗi nhờ giúp đỡ, xin cám ơn
Mã:
Sub ADOExcelSQLServer()     ' Carl SQL Server Connection
     '
     ' FOR THIS CODE TO WORK
     ' In VBE you need to go Tools References and check Microsoft Active X Data Objects 2.x library
     '
     
    Dim Cn As ADODB.Connection
    Dim Server_Name As String
    Dim Database_Name As String
    Dim User_ID As String
    Dim Password As String
    Dim SQLStr As String
    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset
     
    Server_Name = "tsc" ' Enter your server name here
    Database_Name = "ketoan" ' Enter your database name here
    User_ID = "sa" ' enter your user ID here
    Password = "123456" ' Enter your password here
[COLOR=#800000]    SQLStr = "SELECT TOP 10 * FROM TIEN_GUI WHERE SO_SO = 'A6985852'" ' Enter your SQL here[/COLOR]
    Set Cn = New ADODB.Connection
    Cn.Open "Driver={SQL Server};Server=" & Server_Name & ";Database=" & Database_Name & _
    ";Uid=" & User_ID & ";Pwd=" & Password & ";"
     
    rs.Open SQLStr, Cn, adOpenStatic
     ' Dump to spreadsheet
    With Worksheets("sheet1").Range("B2:z500") ' Enter your sheet name and range here
        .ClearContents
        .CopyFromRecordset rs
    End With
     '            Tidy up
    rs.Close
    Set rs = Nothing
    Cn.Close
    Set Cn = Nothing
End Sub
 
Thử lại thế này nhé:
SQLStr = "SELECT TOP 10 * FROM TIEN_GUI WHERE SO_SO = '" & Sheet.Range("A1").Value & "'"
 
Dạ cám ơn anh Bình, đã ổn!
 
Web KT

Bài viết mới nhất

Back
Top Bottom