BayVeo > 07-12-16, 06:30 PM
maidinhdan > 07-12-16, 09:09 PM
(07-12-16, 06:30 PM)BayVeo Đã viết: 1. Có một query tên Q_ngaynhap với câu SQL:
SELECT T_nhaphang.Ma_nhap_hang, T_nhaphang.MaSP, T_nhaphang.TenSP, T_nhaphang.So_luong, T_nhaphang.HanSD, T_nhaphang.Gia, T_nhaphang.Ngay_nhap
FROM T_nhaphang
WHERE ((T_nhaphang.Ngay_nhap >= tungay) AND (T_nhaphang.Ngay_nhap <= dengay));
2. Report tên R_ngaynhap có data source Q_ngaynhap
3. Form:
Text_tungay (textbox với format là shortdate)
Text_denngay (textbox với format là shortdate)
một nút OK và nút Thoát
4. Code xử lí nút OK
Private Sub cmd_OK_Click()
On Error GoTo loi
Dim st
Dim db As Database, Qr As QueryDef
Dim tungay, denngay As Date
tungay = Text_tungay
denngay = Text_denngay
st = "SELECT T_nhaphang.Ma_nhap_hang, T_nhaphang.MaSP, T_nhaphang.TenSP, T_nhaphang.So_luong, T_nhaphang.HanSD, T_nhaphang.Gia, T_nhaphang.Ngay_nhap FROM T_nhaphang WHERE ((T_nhaphang.Ngay_nhap >= tungay) AND (T_nhaphang.Ngay_nhap <= dengay));"
Set db = CurrentDb
Set Qr = db.QueryDefs("Q_nhapngay")
Qr.SQL = st
Qr.Close
Set db = Nothing
DoCmd.OpenReport "R_nhapngay", acViewPreview
DoCmd.Maximize
Exit Sub
loi:
Select Case Err.Number
Case Else
MsgBox "Loi: " & Err.Number & " - " & Err.Description
End Select
End Sub
Kết quả:
1. Hiển thị dialog bắt nhập biến tungay và denngay mặc dù trong form mình đã chọn giá trị cho hai textbox này
2. Report không hiển thị data
Code sai chỗ nào mong anh em chỉ giúp ạ. Chân thành cám ơn!!!
Dim st as String
qr As QueryDef
st = "SELECT * FROM T_nhaphang WHERE Ngay_nhap >= tungay AND Ngay_nhap <= dengay;"
Set qr = CurrentDB.CreateQueryDef("Q_ngaynhap", st)
qr.Execute
qr.Close
DoCmd.OpenReport "R_nhapngay", acViewPreview
DoCmd.Maximize
CurrentDb.QueryDefs.Delete "Q_ngaynhap"