cuongtuyetcz Thành viên đẳng cấp    Bài viết: 64 Chủ đề: 17 Tham Gia: 30-11 -10 Điểm danh tiếng: 0 Tiền Access: 7,099.71Ac$ #1 11-01-11, 06:11 PM đây là file mình đang học. trong form Fhandung ở cmbdenngay minh đặt lệnh lọc between mãi mà không được. Mong các bạn chỉ giúp . http://www.mediafire.com/?k1s9m7j17mmwf8u Chữ ký của cuongtuyetcz Hoàng hôn trên núi buồn ảm đạm Thất huyền, Ánh sáng sao lung linh. Cương thường,nét tạo người có sĩ Ngôn trên đã tạo người hữu danh. ღღღღღTài sản của cuongtuyetcz (View All Items) ღღღღღ Website Find Reply Noname Lãng du       Bài viết: 2,631 Chủ đề: 483 Tham Gia: 05-08 -10 Điểm danh tiếng: 37 Tiền Access: 133,980.33Ac$ #2 11-01-11, 07:34 PM Góp ý thứ nhất là bạn nên để phần chuỗi sql riêng ra 1 biến string. Rồi gọi nó lên sau cho code mình tường minh hơn Kinh nghiệm thứ 2 khi bạn phát biểu 1 câu sql thì bạn thử dùng lưới xem nó có chạy không đã.Mình nhìn sơ qua thấy bạn có phát biểu sum trong select, nhưng lại không có phát biểu group by. Như vậy cho dù câu sql này không có between thì cũng sai tuốt. Làm thử lại rùi post câu sql của bạn lên mình sửa tiếp! Chữ ký của Noname ღღღღღTài sản của Noname (View All Items) ღღღღღ Website Find Reply haquocquan Nothing Is Impossible    Bài viết: 713 Chủ đề: 50 Tham Gia: 29-08 -10 Điểm danh tiếng: 14 Tiền Access: 10,343.75Ac$ #3 11-01-11, 07:36 PM Để đơn giản hóa, bạn chỉ cần đặt Record Source của Fhandungsub là: Mã:SELECT hangnhap.mahang, hanghoa.tenhang, hanghoa.gianhap, Sum(hangnhap.soluongnhap) AS SLN, hangnhap.handung FROM hanghoa INNER JOIN hangnhap ON hanghoa.mahang=hangnhap.mahang WHERE (((hangnhap.handung) Between forms!Fhandung!cmbtungay And forms!fhandung!cmbdenngay)) GROUP BY hangnhap.mahang, hanghoa.tenhang, hanghoa.gianhap, hangnhap.handung; và sự kiện AfterUpdate của cmbdenngay chỉ đơn giản là: Mã:Fhandungsub.Requery Chữ ký của haquocquan Guest, you are welcome! ღღღღღTài sản của haquocquan (View All Items) ღღღღღ Find Reply cuongtuyetcz Thành viên đẳng cấp    Bài viết: 64 Chủ đề: 17 Tham Gia: 30-11 -10 Điểm danh tiếng: 0 Tiền Access: 7,099.71Ac$ #4 11-01-11, 08:19 PM (11-01-11, 07:34 PM)Noname Đã viết: Góp ý thứ nhất là bạn nên để phần chuỗi sql riêng ra 1 biến string. Rồi gọi nó lên sau cho code mình tường minh hơn Kinh nghiệm thứ 2 khi bạn phát biểu 1 câu sql thì bạn thử dùng lưới xem nó có chạy không đã.Mình nhìn sơ qua thấy bạn có phát biểu sum trong select, nhưng lại không có phát biểu group by. Như vậy cho dù câu sql này không có between thì cũng sai tuốt. Làm thử lại rùi post câu sql của bạn lên mình sửa tiếp!  mình chưa hiểu góp ý thứ nhất của bạn,bạn có thể ví dụ không. mình đã thử lại theo gợi ý của bạn, ở trên lưới query ,record source của Fhandungsub ,thì lọc tốt không vấn đề. Còn trên Fhandung thi câu lệnh của mình là set rs = db.openrecordset(" select hangnhap.mahang,hanghoa.tenhang,hanghoa.gianhap " & _ " sum ([hangnhap.soluongnhap]) as SLN,hangnhap.handung " & _ " From hanghoa inner join hangnhap on hanghoa.mahang = hangnhap.mahang " & _ "where ((hangnhap.handung) between " & me.cmbtungay.value & " and " & me.cmbdenngay.value & ") " group by hangnhap.mahang,hanghoa.tenhang,hanghoa.gianhap,hangnhap.handung " ) set Fhandungsub.form.recordset = rs Fhandungsub.requery ban xem giúp và chỉ giáo , cám ơn bạn. Chữ ký của cuongtuyetcz Hoàng hôn trên núi buồn ảm đạm Thất huyền, Ánh sáng sao lung linh. Cương thường,nét tạo người có sĩ Ngôn trên đã tạo người hữu danh. ღღღღღTài sản của cuongtuyetcz (View All Items) ღღღღღ Website Find Reply cuongtuyetcz Thành viên đẳng cấp    Bài viết: 64 Chủ đề: 17 Tham Gia: 30-11 -10 Điểm danh tiếng: 0 Tiền Access: 7,099.71Ac$ #5 11-01-11, 08:30 PM (11-01-11, 07:36 PM)haquocquan Đã viết: Để đơn giản hóa, bạn chỉ cần đặt Record Source của Fhandungsub là: Mã:SELECT hangnhap.mahang, hanghoa.tenhang, hanghoa.gianhap, Sum(hangnhap.soluongnhap) AS SLN, hangnhap.handung FROM hanghoa INNER JOIN hangnhap ON hanghoa.mahang=hangnhap.mahang WHERE (((hangnhap.handung) Between forms!Fhandung!cmbtungay And forms!fhandung!cmbdenngay)) GROUP BY hangnhap.mahang, hanghoa.tenhang, hanghoa.gianhap, hangnhap.handung; và sự kiện AfterUpdate của cmbdenngay chỉ đơn giản là: Mã:Fhandungsub.Requery cám ơn bạn nhìu,cách của bạn cũng hay nhưng mình cũng muốn học thêm cách sử lí bằng tạo biên recordset. Một lần nữa thanks bạn vì bạn rất nhiệt tình Chữ ký của cuongtuyetcz Hoàng hôn trên núi buồn ảm đạm Thất huyền, Ánh sáng sao lung linh. Cương thường,nét tạo người có sĩ Ngôn trên đã tạo người hữu danh. ღღღღღTài sản của cuongtuyetcz (View All Items) ღღღღღ Website Find Reply Noname Lãng du       Bài viết: 2,631 Chủ đề: 483 Tham Gia: 05-08 -10 Điểm danh tiếng: 37 Tiền Access: 133,980.33Ac$ #6 11-01-11, 09:32 PM (11-01-11, 08:19 PM)cuongtuyetcz Đã viết: (11-01-11, 07:34 PM)Noname Đã viết: Góp ý thứ nhất là bạn nên để phần chuỗi sql riêng ra 1 biến string. Rồi gọi nó lên sau cho code mình tường minh hơn Kinh nghiệm thứ 2 khi bạn phát biểu 1 câu sql thì bạn thử dùng lưới xem nó có chạy không đã.Mình nhìn sơ qua thấy bạn có phát biểu sum trong select, nhưng lại không có phát biểu group by. Như vậy cho dù câu sql này không có between thì cũng sai tuốt. Làm thử lại rùi post câu sql của bạn lên mình sửa tiếp!  mình chưa hiểu góp ý thứ nhất của bạn,bạn có thể ví dụ không. mình đã thử lại theo gợi ý của bạn, ở trên lưới query ,record source của Fhandungsub ,thì lọc tốt không vấn đề. Còn trên Fhandung thi câu lệnh của mình là set rs = db.openrecordset(" select hangnhap.mahang,hanghoa.tenhang,hanghoa.gianhap " & _ " sum ([hangnhap.soluongnhap]) as SLN,hangnhap.handung " & _ " From hanghoa inner join hangnhap on hanghoa.mahang = hangnhap.mahang " & _ "where ((hangnhap.handung) between " & me.cmbtungay.value & " and " & me.cmbdenngay.value & ") " group by hangnhap.mahang,hanghoa.tenhang,hanghoa.gianhap,hangnhap.handung " ) set Fhandungsub.form.recordset = rs Fhandungsub.requery ban xem giúp và chỉ giáo , cám ơn bạn. Góp ý thứ nhất, có nghĩa là câu lệnh sql của bạn được lưu trong một biến String. Biến string này bạn dễ dàng kiểm soát được nội dung của nó bằng cách gọi hàm msgbox để hiện thị nó Cụ thể thế này: Mã:Dim Sql As String Sql = "select hangnhap.mahang,hanghoa.tenhang,hanghoa.gianhap, sum ([hangnhap.soluongnhap]) as SLN,hangnhap.handung " Sql = Sql & " From hanghoa inner join hangnhap on hanghoa.mahang = hangnhap.mahang " Sql = Sql & "where ((hangnhap.handung) between #" & Me.cmbtungay.Value & "# and #" & Me.cmbdenngay.Value & "#)" Sql = Sql & " group by hangnhap.mahang,hanghoa.tenhang,hanghoa.gianhap,hangnhap.handung " Sau đó, bạn mới tiến hành open sql và gán nó cho sub form: Mã:Set rs = db.OpenRecordset(Sql) Set Fhandungsub.Form.Recordset = rs Fhandungsub.Requery Giờ bạn thử lại xem! Chúc may mắn Chữ ký của Noname ღღღღღTài sản của Noname (View All Items) ღღღღღ Website Find Reply cuongtuyetcz Thành viên đẳng cấp    Bài viết: 64 Chủ đề: 17 Tham Gia: 30-11 -10 Điểm danh tiếng: 0 Tiền Access: 7,099.71Ac$ #7 13-01-11, 02:28 AM (11-01-11, 09:32 PM)Noname Đã viết: (11-01-11, 08:19 PM)cuongtuyetcz Đã viết: (11-01-11, 07:34 PM)Noname Đã viết: Góp ý thứ nhất là bạn nên để phần chuỗi sql riêng ra 1 biến string. Rồi gọi nó lên sau cho code mình tường minh hơn Kinh nghiệm thứ 2 khi bạn phát biểu 1 câu sql thì bạn thử dùng lưới xem nó có chạy không đã.Mình nhìn sơ qua thấy bạn có phát biểu sum trong select, nhưng lại không có phát biểu group by. Như vậy cho dù câu sql này không có between thì cũng sai tuốt. Làm thử lại rùi post câu sql của bạn lên mình sửa tiếp!  mình chưa hiểu góp ý thứ nhất của bạn,bạn có thể ví dụ không. mình đã thử lại theo gợi ý của bạn, ở trên lưới query ,record source của Fhandungsub ,thì lọc tốt không vấn đề. Còn trên Fhandung thi câu lệnh của mình là set rs = db.openrecordset(" select hangnhap.mahang,hanghoa.tenhang,hanghoa.gianhap " & _ " sum ([hangnhap.soluongnhap]) as SLN,hangnhap.handung " & _ " From hanghoa inner join hangnhap on hanghoa.mahang = hangnhap.mahang " & _ "where ((hangnhap.handung) between " & me.cmbtungay.value & " and " & me.cmbdenngay.value & ") " group by hangnhap.mahang,hanghoa.tenhang,hanghoa.gianhap,hangnhap.handung " ) set Fhandungsub.form.recordset = rs Fhandungsub.requery ban xem giúp và chỉ giáo , cám ơn bạn. Góp ý thứ nhất, có nghĩa là câu lệnh sql của bạn được lưu trong một biến String. Biến string này bạn dễ dàng kiểm soát được nội dung của nó bằng cách gọi hàm msgbox để hiện thị nó Cụ thể thế này: Mã:Dim Sql As String Sql = "select hangnhap.mahang,hanghoa.tenhang,hanghoa.gianhap, sum ([hangnhap.soluongnhap]) as SLN,hangnhap.handung " Sql = Sql & " From hanghoa inner join hangnhap on hanghoa.mahang = hangnhap.mahang " Sql = Sql & "where ((hangnhap.handung) between #" & Me.cmbtungay.Value & "# and #" & Me.cmbdenngay.Value & "#)" Sql = Sql & " group by hangnhap.mahang,hanghoa.tenhang,hanghoa.gianhap,hangnhap.handung " Sau đó, bạn mới tiến hành open sql và gán nó cho sub form: Mã:Set rs = db.OpenRecordset(Sql) Set Fhandungsub.Form.Recordset = rs Fhandungsub.Requery Giờ bạn thử lại xem! Chúc may mắn noname à , mình đã thử theo cách bạn chỉ nhưng vẫn không được. nó vẫn báo rs = nothing và vẫn có lỗi The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect. (Error 3141) tiếng anh của mình kém lên không hiểu được lỗi gì, bạn xem hộ nhé . Diky Chữ ký của cuongtuyetcz Hoàng hôn trên núi buồn ảm đạm Thất huyền, Ánh sáng sao lung linh. Cương thường,nét tạo người có sĩ Ngôn trên đã tạo người hữu danh. ღღღღღTài sản của cuongtuyetcz (View All Items) ღღღღღ Website Find Reply Noname Lãng du       Bài viết: 2,631 Chủ đề: 483 Tham Gia: 05-08 -10 Điểm danh tiếng: 37 Tiền Access: 133,980.33Ac$ #8 13-01-11, 11:10 AM (13-01-11, 02:28 AM)cuongtuyetcz Đã viết: noname à , mình đã thử theo cách bạn chỉ nhưng vẫn không được. nó vẫn báo rs = nothing và vẫn có lỗi The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect. (Error 3141) tiếng anh của mình kém lên không hiểu được lỗi gì, bạn xem hộ nhé . Diky Không biết bạn làm thế nào. Mình làm thử form Fhandung, bạn xem code nó nhé! Download Chữ ký của Noname ღღღღღTài sản của Noname (View All Items) ღღღღღ Website Find Reply |