Code SQL trên Excel

Liên hệ QC

hoahuongduong1986

Thành viên thường trực
Tham gia
14/11/18
Bài viết
346
Được thích
40
Dear Anh chị

Em có Code VBA chạy SQL như sau:
sql = "SELECT 1 AS [STT],[Tháng],[PS No],[PS Co] FROM RangeName WHERE [TK]='1014'"

Chỗ điều kiện WHERE [TK]='1014' giờ em muốn linh động TK = 1014 thành bất kỳ tại ô A1 tại Sheet1 thì em viết lại thế nào ạ. Tức em chọn A1 thì nó tự hiểu ạ. Em thử làm thế này mà không được

sql = "SELECT 1 AS [STT],[Tháng],[PS No],[PS Co] FROM RangeName WHERE [TK]='Sheet1.Range("A1").Value'"
 
Dear Anh chị

Em có Code VBA chạy SQL như sau:
sql = "SELECT 1 AS [STT],[Tháng],[PS No],[PS Co] FROM RangeName WHERE [TK]='1014'"

Chỗ điều kiện WHERE [TK]='1014' giờ em muốn linh động TK = 1014 thành bất kỳ tại ô A1 tại Sheet1 thì em viết lại thế nào ạ. Tức em chọn A1 thì nó tự hiểu ạ. Em thử làm thế này mà không được

sql = "SELECT 1 AS [STT],[Tháng],[PS No],[PS Co] FROM RangeName WHERE [TK]='Sheet1.Range("A1").Value'"
Bạn thử thế này xem.
Mã:
Sql = "SELECT 1 AS [STT],[Tháng],[PS No],[PS Co] FROM RangeName WHERE [TK]=' " & Sheet1.Range("A1").Value & "'"
 
Dear Anh chị

Em có Code VBA chạy SQL như sau:
sql = "SELECT 1 AS [STT],[Tháng],[PS No],[PS Co] FROM RangeName WHERE [TK]='1014'"

Chỗ điều kiện WHERE [TK]='1014' giờ em muốn linh động TK = 1014 thành bất kỳ tại ô A1 tại Sheet1 thì em viết lại thế nào ạ. Tức em chọn A1 thì nó tự hiểu ạ. Em thử làm thế này mà không được

sql = "SELECT 1 AS [STT],[Tháng],[PS No],[PS Co] FROM RangeName WHERE [TK]='Sheet1.Range("A1").Value'"
Thử thế này xem. sql = "SELECT 1 AS [STT],[Tháng],[PS No],[PS Co] FROM RangeName WHERE [TK]=" & Sheet1.Range("A1").Value
 
sql = "SELECT 1 AS [STT],[Tháng],[PS No],[PS Co] FROM RangeName WHERE [TK]='Sheet1.Range("A1").Value'"

- Sao lại đặt tên cột có dấu tiếng Việt vậy?
- RangeName: là tham số truyền vào hay bạn đã đặt tên cái Range trong Sheet là "RangeName"?
- Truyền tham số theo cách bạn snow25 là đúng nếu [TK] có kiểu dữ liệu là TEXT, nếu dạng Number thì bỏ cặp nháy đơn như bạn giaiphap.
 
- Sao lại đặt tên cột có dấu tiếng Việt vậy?
- RangeName: là tham số truyền vào hay bạn đã đặt tên cái Range trong Sheet là "RangeName"?
- Truyền tham số theo cách bạn snow25 là đúng nếu [TK] có kiểu dữ liệu là TEXT, nếu dạng Number thì bỏ cặp nháy đơn như bạn giaiphap.
Da, TK của em nó dạng Text vì em xuất ra từ hệ thống kế toán ạ. Em đã thử
- sql = "SELECT 1 AS [STT],[Month],[PS No],[PS Co] FROM RangeName WHERE [TK]='1014'" => Ra kết quả
- sql = "SELECT 1 AS [STT],[Month],[PS No],[PS Co] FROM RangeName WHERE [TK]=" & Sheet8.Range("A1").Value
- sql = "SELECT 1 AS [STT],[Month],[PS No],[PS Co] FROM RangeName WHERE [TK]=' " & Sheet8.Range("A1").Value & "'"

Cách trực tiếp thì ra kêt quả ạ. Em thử cách 2 hoặc 3 đều khộng ra kết quả. Em thấy các anh trợ giúp rất hợp lý ạ mà thử nó không ra ạ.
 
Web KT
Back
Top Bottom