Giúp câu lệnh "Between...and..."

bchip

New Member
Hội viên mới
Trong Access, tui có 1 query với câu lệnh SQL như sau:

SELECT [T1].NGAY, [T1].KHACH, [T1].GIATRI
FROM [T1]
WHERE ((([T1].NGAY) Between [Forms]![F1]![tungay] And [Forms]![F1]![denngay]) AND (([T1].KHACH)=[Forms]![F1]![KHACHX]));

Trong code khi muốn xét:
Dim rs as Recodeset
Set rs = CurrentDb.OpenRecodeset ("...")

Như vậy, tui muốn đặt câu lệnh SQL trên vào dấu "..." thì viết như thế nào?
Nhờ các ace giúp đở. Cám ơn nhiều!
 
Ðề: Giúp câu lệnh "Between...and..."

Trong Access, tui có 1 query với câu lệnh SQL như sau:

"SELECT [T1].NGAY, [T1].KHACH, [T1].GIATRI
FROM [T1]
WHERE [T1].NGAY Between #" & Format([Forms]![F1]![tungay], "mm/dd/yy") & "# And #" & Format([Forms]![F1]![denngay], "mm/dd/yy") & " AND [T1].KHACH= '" & [Forms]![F1]![KHACHX] & "'"


Trong code khi muốn xét:
Dim rs as Recodeset
Set rs = CurrentDb.OpenRecodeset ("...")

Như vậy, tui muốn đặt câu lệnh SQL trên vào dấu "..." thì viết như thế nào?
Nhờ các ace giúp đở. Cám ơn nhiều!

Có thể sử dụng như đoạn trên chuỗi trên.
 
Ðề: Giúp câu lệnh "Between...and..."

Có thể sử dụng như đoạn trên chuỗi trên.

Hoặc cũng có thể dừng như sau

PHP:
Sub ......()
    Dim rs As Recordset
    Dim sqlS As QueryDef
    Set sqlS = CurrentDb.QueryDefs("qryTrich")
    Set rs = sqlS.OpenRecordset()
    ................
End Sub

Trong đó qryTrich chính là cái query của bạn muốn dùng
Thân
 
Ðề: Giúp câu lệnh "Between...and..."

Có thể sử dụng như đoạn trên chuỗi trên.

Em đã thử đặt chuỗi trên vào nhưng chương báo lỗi. Anh xem lại dùm em nhé.

P/s: Hơn nữa em thấy chuỗi trên có lẽ thiếu dấu # ở trong format "denngay", nhưng khi em thêm dấu # vào máy báo lổi ngay dấu # đó.
 
Ðề: Giúp câu lệnh "Between...and..."

Em đã thử đặt chuỗi trên vào nhưng chương báo lỗi. Anh xem lại dùm em nhé.

P/s: Hơn nữa em thấy chuỗi trên có lẽ thiếu dấu # ở trong format "denngay", nhưng khi em thêm dấu # vào máy báo lổi ngay dấu # đó.

Bạn thử dùng cách này xem.

Dim rs As New Recordset
Dim mstr as String

mstr = "SELECT [T1].NGAY, [T1].KHACH, [T1].GIATRI " & _
" FROM [T1] " & _
" WHERE ([T1].NGAY Between #" & format([Forms]![F1]![tungay],"mm/dd/yyyy") & "# And #" & format([Forms]![F1]![denngay],"mm/dd/yyyy") & "#) AND [T1].KHACH=""" & [Forms]![F1]![KHACHX] & """"

rs.Open mstr, CodeProject.Connection
 
Ðề: Giúp câu lệnh "Between...and..."

Em đã thử đặt chuỗi trên vào nhưng chương báo lỗi. Anh xem lại dùm em nhé.

P/s: Hơn nữa em thấy chuỗi trên có lẽ thiếu dấu # ở trong format "denngay", nhưng khi em thêm dấu # vào máy báo lổi ngay dấu # đó.

Vậy cái field KHACHX là kiểu gì? Text hay Number? Nếu là Number thì bỏ hai cấu dấu nháy đơn trước và sau đi (ở cái khách cuối)
 
Ðề: Giúp câu lệnh "Between...and..."

Vậy cái field KHACHX là kiểu gì? Text hay Number? Nếu là Number thì bỏ hai cấu dấu nháy đơn trước và sau đi (ở cái khách cuối)

Field KHACHX của em là Text anh ơi. Anh thử giúp em nhé! Cám ơn!

------------------
P/s: Vì nhiều việc quá nên replay chậm, anh thông cảm.
 
Ðề: Giúp câu lệnh "Between...and..."

Chắc tại cái dấu chấm than.

mstr = "SELECT [T1].NGAY, [T1].KHACH, [T1].GIATRI " & _
" FROM [T1] " & _
" WHERE ([T1].NGAY Between #" & format([F1].[tungay],"mm/dd/yyyy") & "# And #" & format([F1].[denngay],"mm/dd/yyyy") & "#) AND [T1].KHACH=""" & [F1].[KHACHX] & """"
 
Ðề: Giúp câu lệnh "Between...and..."

Mình đã áp dụng hết cách trong chủ đề này chỉ rồi, nhưng vẫn chưa được.

Chương trình báo lỗi:
Run-time error '3061':
Too few parameters. Expected 1.

Help help help!
 
Ðề: Giúp câu lệnh "Between...and..."

Mình đã áp dụng hết cách trong chủ đề này chỉ rồi, nhưng vẫn chưa được.

Chương trình báo lỗi:
Run-time error '3061':
Too few parameters. Expected 1.

Help help help!

PHP:
Sub .....()
    Dim rs As Recordset
    Dim sqlS As QueryDef
    Dim NgayDau As Date
    Dim NgayCuoi As Date
    NgayDau =[Forms]![F1]![TuNgay]
    NgayCuoi = [Forms]![F1]![DenNgay]
    KhachNao =[Forms]![F1]![KhachX]
    Set sqlS = CurrentDb.QueryDefs("qryTrich")
    sqlS.Parameters("TuNgay") = NgayDau
    sqlS.Parameters("DenNgay") = NgayCuoi
    sqlS.Parameters("KhachNao") = KhachNao
    Set rs = sqlS.OpenRecordset()
    .........
    ................
End Sub

qryTrich :

SELECT T1.Ngay, T1.Khach, T1.GiaTri
FROM T1
WHERE (((T1.Ngay) Between [TuNgay] And [DenNgay]) AND ((T1.Khach) Like [KhachNao]));

Thử xem. Âu lá đúng
Thân
 
Sửa lần cuối:
Ðề: Giúp câu lệnh "Between...and..."

PHP:
Sub .....()
    Dim rs As Recordset
    Dim sqlS As QueryDef
    Dim NgayDau As Date
    Dim NgayCuoi As Date
    NgayDau =[Forms]![F1]![TuNgay]
    NgayCuoi = [Forms]![F1]![DenNgay]
    KhachNao =[Forms]![F1]![KhachX]
    Set sqlS = CurrentDb.QueryDefs("qryTrich")
    sqlS.Parameters("TuNgay") = NgayDau
    sqlS.Parameters("DenNgay") = NgayCuoi
    sqlS.Parameters("KhachNao") = KhachNao
    Set rs = sqlS.OpenRecordset()
    .........
    ................
End Sub

qryTrich :

SELECT T1.Ngay, T1.Khach, T1.GiaTri
FROM T1
WHERE (((T1.Ngay) Between [TuNgay] And [DenNgay]) AND ((T1.Khach) Like [KhachNao]));

Thử xem. Âu lá đúng
Thân

OK...thành công rồi. Cám ơn bác rất là nhiều!
------P/s:
Bác cho mình xin số phone nhé. Có dịp mình mời bác 1 chầu...See you!
 

CẨM NANG KẾ TOÁN TRƯỞNG


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Cách làm file Excel quản lý lãi vay

Đăng ký kênh nhé cả nhà

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top