Truy Vấn SQL điều kiện WHERE ( dùng ADO kết nối 2 file excel)
Hi các bạn !
– mình dùng ADO kết nối file excel, dung truy vấn SQL có điều kiện WHERE để lọc 1 fields bằng 1 giá trị nhưng bị báo lỗi
– file gồm 2 sheet : DATA , PXK
+ đánh số phiếu xuất kho : PXK-0001 bên sheet PXK
+ sẽ lọc bên sheet DATA có phiếu xuất kho này và copy thông tin qua sheet PXK– code như sau :
Public CNN As New ADODB.Connection Sub KETNOIADO_EXCEL(duongdanfile) ' dung ADO ket noi 2 file excel Dim verExcel As Integer Dim str_conn As String verExcel = Val(Application.Version) If verExcel < 12 Then str_conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & duongdanfile & ";" & _ "Extended Properties=""Excel 8.0;HDR=No"";IMEX=1;" Else str_conn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & duongdanfile & ";" & _ "Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";" End If With CNN .ConnectionString = str_conn .Open End With End Sub Private Sub CommandButton1_Click() Dim RST As ADODB.Recordset Dim TRUYVANSQL, SheetNguon, TableNguon As String Dim HangshDATA, HangshPXK As Double Dim soPXK As String soPXK = Sheets("PXK").Range("C1").Value SheetNguon = Sheets("DATA").Name HangshDATA = Sheets("DATA").Range("C" & Rows.Count).End(xlUp).Row TableNguon = "B5:I" & HangshDATA [B] TRUYVANSQL = "SELECT * " & _ "FROM [" & SheetNguon & "$" & TableNguon & "]" & _ "WHERE F1=" & soPXK & ""[/B] If CNN.State <> 1 Then Call Module1.KETNOIADO_EXCEL(ThisWorkbook.FullName) Set RST = New ADODB.Recordset RST.Open TRUYVANSQL, CNN, adOpenDynamic, adLockOptimistic RST.MoveFirst HangshPXK = 7 + 1 With Sheets("PXK") Do While Not RST.EOF .Range("B" & HangshPXK).Value = RST.Fields(5).Value .Range("C" & HangshPXK).Value = RST.Fields(6).Value .Range("D" & HangshPXK).Value = RST.Fields(7).Value RST.MoveNext HangshPXK = HangshPXK + 1 Loop MsgBox " XONG !" End With End Sub=> chay thi no bao loi :
[ATTACH type="full" alt="untitled (2).jpg"]2819cac bạn xem sửa lỗi giúp mình câu truy vấn SQL có bị sai gì hông nhé ????
Thanks các bạn !
Không có xem hết Code của bạn chỉ truy vấn thôi nhé. Bạn sửa lại như thế này
TRUYVANSQL = "SELECT * " & _
"FROM [" & SheetNguon & "$" & TableNguon & "] " & _
"WHERE [B][COLOR=#ff0000]F2[/COLOR][/B]=[COLOR=#ff0000][B]'[/B][/COLOR]" & soPXK & "[COLOR=#ff0000][B]'[/B][/COLOR]"
www.giaiphapexcel.com/diendan/threads/truy-v%E1%BA%A5n-sql-%C4%91i%E1%BB%81u-ki%E1%BB%87n-where-d%C3%B9ng-ado-k%E1%BA%BFt-n%E1%BB%91i-2-file-excel.98408/
Thiết kế Tổng đãi ngộ (Total Rewards) theo khung SHRM
Khóa học “Thiết kế Tổng phần thưởng (Total Reward) chuẩn khung SHRM” giúp bạn nắm vững toàn bộ hệ thống đãi ngộ theo chuẩn...
Xem khóa học