Lối Query không thay thế được bằng biến, ma chỉ chấp nhận giá trị (1 người xem)

Liên hệ QC

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

NGOCTOAN

Thành viên hoạt động
Tham gia
1/8/06
Bài viết
104
Được thích
33
Gửi : Các Anh Chị

Nhờ anh Chi xem giúp lỗi Query không thay được bằng biến :

Mã:
Dim i, n As Integer
Sheets("Bien_ban1").Select
 Range("K2").Select
i = Range("K2")

    With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DSN=Excel Files;DBQ=D:\tuyet\Dieu_chinh_HD.xls;DefaultDir=D:\tuyet;DriverId=790;MaxBufferSize=2048;PageTimeout=5;" _
        , Destination:=Range("D25"))
        .CommandText = Array( _
        "SELECT data.So_seri0, data.`So HD`, data.`Ngay HD`, data.T_tt" & Chr(13) & "" & Chr(10) & _
        "FROM `D:\tuyet\Dieu_chinh_HD`.data data" & Chr(13) & "" & Chr(10) & _
        "WHERE ([COLOR=red]data.Ma_KH = 11[/COLOR])" & Chr(13) & "" & Chr(10) & "ORDER BY data.`Ngay HD`" _
        )
        .Name = "Query from Excel Files"
        .FieldNames = False
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = False
        .RefreshOnFileOpen = False
        .BackgroundQuery = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = False
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=False
           
         End With
   
End Sub

Cái chố màu bôi đỏ này data.Ma_KH = 11 em thay băng data.Ma_KH = i thì chuyên báo lỗi với i được tham chiếu ở cell K2 tai sheet "bien_ban1".

Các anh chị xin chỉ giúp lỗi tai đâu. File kèm theo các anh chị tham khảo ở VBE

Xin cảm ơn

Ngoctoan
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Mã:
"SELECT data.So_seri0, data.`So HD`, data.`Ngay HD`, data.T_tt" & Chr(13) & "" & Chr(10) & _
"FROM `D:\tuyet\Dieu_chinh_HD`.data data" & Chr(13) & "" & Chr(10) & _
"WHERE [COLOR="red"](data.Ma_KH = 11)"[/COLOR] & Chr(13) & "" & Chr(10) & "ORDER BY data.`Ngay HD`"

thay bằng biến i như sau:

Mã:
"SELECT data.So_seri0, data.`So HD`, data.`Ngay HD`, data.T_tt" & Chr(13) & "" & Chr(10) & _
"FROM `D:\tuyet\Dieu_chinh_HD`.data data" & Chr(13) & "" & Chr(10) & _
"WHERE [COLOR="red"](data.Ma_KH = " & i & ")"[/COLOR] & Chr(13) & "" & Chr(10) & "ORDER BY data.`Ngay HD`"

Đó là trường hợp Ma_KH là Number, còn nếu Ma_KH là text, thì phải thêm 1 cặp dấu nháy đơn ('):

Mã:
"WHERE (data.Ma_KH = [COLOR="red"][B]'[/B][/COLOR]" & [COLOR="red"]i[/COLOR] & "[COLOR="red"][B]'[/B][/COLOR])"
 
Lần chỉnh sửa cuối:
Em cảm ơn Thầy Mỹ nhé, mong Thầy khỏe và giúp đỡ nhiều trên diễn đàn GPE,

Ngoctoan
 
Web KT

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

Back
Top Bottom