Truy Vấn SQL điều kiện WHERE ( dùng ADO kết nối 2 file excel)

Chia sẻ bởi:hands
★★★★★
Quảng cáo

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"]2819

cac 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 SprinGO phù hợp

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
★★★★★ 5 ★ 1 👤 0 ▥ 0
Quảng cáo

Bạn nên đọc

Leave a Reply

Your email address will not be published. Required fields are marked *

Quảng cáo

Cũ vẫn chất

Xem thêm