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
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