[Help] Lập trình VBA tạo truy vấn động CSDL SQL
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 ơnSub 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!
www.giaiphapexcel.com/diendan/threads/help-l%E1%BA%ADp-tr%C3%ACnh-vba-t%E1%BA%A1o-truy-v%E1%BA%A5n-%C4%91%E1%BB%99ng-csdl-sql.117638/
Khóa học SprinGO phù hợp
Khóa học Power PI – Ứng dung trong Nhân sự
TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...
Xem khóa học