Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Help] Lọc dữ liệu trong 4 tháng gần nhất
#1
Chào anh chị em trong diễn đàn,
em tìm trên diễn đàn không có nên em tạo mới chủ đề mong mod thông cảm.

như tiêu đề em muốn lọc dữ liệu trong 4 tháng gần nhất trong query của 2 năm
VD: em muốn lọc ra được tháng 10,11,12 của nắm 2015 và tháng 1 của nắm 2016 (table có dữ liệu từ nắm 2010 -> 2016)
mong các bạn giúp vấn đề trên 
chân thành cảm ơn !
Chữ ký của jason Học ...học nữa và học mãi 53_53 !

ღღღღღTài sản của jason (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#2
Bạn đưa điều kiện này vào criteria của field ngày trong query:
Between #10/01/2015# And #01/30/2016#
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn jason
#3
(13-01-16, 05:39 PM)tranthanhan1962 Đã viết: Bạn đưa điều kiện này vào criteria của field ngày trong query:
Between #10/01/2015# And #01/30/2016#
cảm ơn anh !
nhưng chẳng nhẻ khi bước qua tháng 2 mình lại phải vào query sửa lại .
mong anh giúp e cách khác với
Chữ ký của jason Học ...học nữa và học mãi 53_53 !

ღღღღღTài sản của jason (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#4
(13-01-16, 07:03 PM)jason Đã viết:
(13-01-16, 05:39 PM)tranthanhan1962 Đã viết: Bạn đưa điều kiện này vào criteria của field ngày trong query:
Between #10/01/2015# And #01/30/2016#
cảm ơn anh !
nhưng chẳng nhẻ khi bước qua tháng 2 mình lại phải vào query sửa lại .
mong anh giúp e cách khác với

Bạn có thể thay thế bằng Between [Từ Ngày] And [Đến Ngày] Khi chạy query thì điền giá trị ngày vào Input box. Bạn cũng có thể tạo form và các textbox Từ ngày, Đến ngày và viết code để khi gọi query xử lý theo điều kiện của textbox trên form.
Chúc bạn thành công.
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan
#5
(13-01-16, 08:41 PM)tranthanhan1962 Đã viết: Bạn có thể thay thế bằng Between [Từ Ngày] And [Đến Ngày] Khi chạy query thì điền giá trị ngày vào Input box. Bạn cũng có thể tạo form và các textbox Từ ngày, Đến ngày và viết code để khi gọi query xử lý theo điều kiện của textbox trên form.
Chúc bạn thành công.

cảm ơn anh một lần nữa !
nhưng vẫn chưa đúng với trường hợp của em .
thật ra em có 2 table đều có dữ liệu sẵn của nhiều năm, em đã liên kết 2 table lại bằng 1 query append ( ở đây em muốn lọc 4 tháng gần nhất và đẩy qua 1 table khác để em làm dữ liệu nguồn)
nhưng em vẫn chưa tìm được cách, cách của anh là phải nhập giá trị vào mới thực thi được .
em suy nghỉ là phải viết công thức hoặc hàm trong query để tự động hiểu được 4 tháng gần nhất.
anh trót giúp em cái nữa nhen hj
Chữ ký của jason Học ...học nữa và học mãi 53_53 !

ღღღღღTài sản của jason (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#6
(14-01-16, 09:29 AM)jason Đã viết: cảm ơn anh một lần nữa !
nhưng vẫn chưa đúng với trường hợp của em .
thật ra em có 2 table đều có dữ liệu sẵn của nhiều năm, em đã liên kết 2 table lại bằng 1 query append ( ở đây em muốn lọc 4 tháng gần nhất và đẩy qua 1 table khác để em làm dữ liệu nguồn)
nhưng em vẫn chưa tìm được cách, cách của anh là phải nhập giá trị vào mới thực thi được .
em suy nghỉ là phải viết công thức hoặc hàm trong query để tự động hiểu được 4 tháng gần nhất.
anh trót giúp em cái nữa nhen hj
Mình chưa nắm được yêu cầu cụ thể của bạn. Nhưng theo như bạn nói. Nếu điều kiện cố định luôn luôn là 4 tháng gần nhất bạn có thể sử dụng criteria sau:
>=DateSerial(Year(Date());Month(Date())-4;1)
Có nghĩa là lớn hơn hoặc bằng ngày 1 của tháng hiện tại - 4. Thực ra điều kiện  Between [Từ Ngày] And [Đến Ngày] vẫn cơ động hơn vì bạn có quyền đưa ra yêu cầu tùy thích!
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn jason
#7
(14-01-16, 11:00 AM)tranthanhan1962 Đã viết:
(14-01-16, 09:29 AM)jason Đã viết: cảm ơn anh một lần nữa !
nhưng vẫn chưa đúng với trường hợp của em .
thật ra em có 2 table đều có dữ liệu sẵn của nhiều năm, em đã liên kết 2 table lại bằng 1 query append ( ở đây em muốn lọc 4 tháng gần nhất và đẩy qua 1 table khác để em làm dữ liệu nguồn)
nhưng em vẫn chưa tìm được cách, cách của anh là phải nhập giá trị vào mới thực thi được .
em suy nghỉ là phải viết công thức hoặc hàm trong query để tự động hiểu được 4 tháng gần nhất.
anh trót giúp em cái nữa nhen hj
Mình chưa nắm được yêu cầu cụ thể của bạn. Nhưng theo như bạn nói. Nếu điều kiện cố định luôn luôn là 4 tháng gần nhất bạn có thể sử dụng criteria sau:
>=DateSerial(Year(Date());Month(Date())-4;1)
Có nghĩa là lớn hơn hoặc bằng ngày 1 của tháng hiện tại - 4. Thực ra điều kiện  Between [Từ Ngày] And [Đến Ngày] vẫn cơ động hơn vì bạn có quyền đưa ra yêu cầu tùy thích!
thật xin lỗi anh !
em cho thiếu thông tin rồi, em có 2 cột 1 cột là chỉ tháng(planmonth) thôi và 1 cột là năm(planyear)
vậy em có thể sử dụng cách trên của anh được không ? em thử gọp thành plandate:[planmonth]&"/"&[planyear] rồi sử dụng >=DateSerial(Year(Date());Month(Date())-4;1) ở criteria  nhưng không được 
hic  021  
Chữ ký của jason Học ...học nữa và học mãi 53_53 !

ღღღღღTài sản của jason (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#8
(14-01-16, 11:30 AM)jason Đã viết: thật xin lỗi anh !
em cho thiếu thông tin rồi, em có 2 cột 1 cột là chỉ tháng(planmonth) thôi và 1 cột là năm(planyear)
vậy em có thể sử dụng cách trên của anh được không ? em thử gọp thành plandate:[planmonth]&"/"&[planyear] rồi sử dụng >=DateSerial(Year(Date());Month(Date())-4;1) ở criteria  nhưng không được 
hic  021  
Bạn có thể tạo thêm trong query một field ngày: plandate: DateSerial(Year([planyear]);Month([planmonth]);1). Rồi đưa điều kiện vào criteria của field này. Kiểu dữ liệu của bạn plandate:[planmonth]&"/"&[planyear] là kiểu text chứ không phải là kiểu date nên khi chạy query sẽ bị báo lỗi.
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#9
(14-01-16, 09:37 PM)tranthanhan1962 Đã viết:
(14-01-16, 11:30 AM)jason Đã viết: thật xin lỗi anh !
em cho thiếu thông tin rồi, em có 2 cột 1 cột là chỉ tháng(planmonth) thôi và 1 cột là năm(planyear)
vậy em có thể sử dụng cách trên của anh được không ? em thử gọp thành plandate:[planmonth]&"/"&[planyear] rồi sử dụng >=DateSerial(Year(Date());Month(Date())-4;1) ở criteria  nhưng không được 
hic  021  
Bạn có thể tạo thêm trong query một field ngày: plandate: DateSerial(Year([planyear]);Month([planmonth]);1). Rồi đưa điều kiện vào criteria của field này. Kiểu dữ liệu của bạn plandate:[planmonth]&"/"&[planyear] là kiểu text chứ không phải là kiểu date nên khi chạy query sẽ bị báo lỗi.

phát sinh 2 vấn đề :
1. khi em thêm field  plandate: DateSerial(Year([planyear]);Month([planmonth]);1) như anh hướng dẫn thì field cho kết quả không được so với 2 field planmonth và planyear
VD: phanmonth có dử liệu : 1,2,3,...12 và planyear  có : 2010,2011,...2016 khi làm cách trên thì plandate chỉ có 2 giá trị ngày 1/1/1905 và 1/12/1905. kết quả chính xác thì từ nằm 2010 -> 2016 mới đúng.
2. khi em thêm  >=DateSerial(Year(Date());Month(Date())-4;1) ở criteria ở field plandate thì báo lỗi: " data type mismatch in criteria expression
anh xem lại giúp em với

cảm ơn anh nhiều
Chữ ký của jason Học ...học nữa và học mãi 53_53 !

ღღღღღTài sản của jason (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#10
(15-01-16, 11:34 AM)jason Đã viết:
(14-01-16, 09:37 PM)tranthanhan1962 Đã viết:
(14-01-16, 11:30 AM)jason Đã viết: thật xin lỗi anh !
em cho thiếu thông tin rồi, em có 2 cột 1 cột là chỉ tháng(planmonth) thôi và 1 cột là năm(planyear)
vậy em có thể sử dụng cách trên của anh được không ? em thử gọp thành plandate:[planmonth]&"/"&[planyear] rồi sử dụng >=DateSerial(Year(Date());Month(Date())-4;1) ở criteria  nhưng không được 
hic  021  
Bạn có thể tạo thêm trong query một field ngày: plandate: DateSerial(Year([planyear]);Month([planmonth]);1). Rồi đưa điều kiện vào criteria của field này. Kiểu dữ liệu của bạn plandate:[planmonth]&"/"&[planyear] là kiểu text chứ không phải là kiểu date nên khi chạy query sẽ bị báo lỗi.

phát sinh 2 vấn đề :
1. khi em thêm field  plandate: DateSerial(Year([planyear]);Month([planmonth]);1) như anh hướng dẫn thì field cho kết quả không được so với 2 field planmonth và planyear
VD: phanmonth có dử liệu : 1,2,3,...12 và planyear  có : 2010,2011,...2016 khi làm cách trên thì plandate chỉ có 2 giá trị ngày 1/1/1905 và 1/12/1905. kết quả chính xác thì từ nằm 2010 -> 2016 mới đúng.
2. khi em thêm  >=DateSerial(Year(Date());Month(Date())-4;1) ở criteria ở field plandate thì báo lỗi: " data type mismatch in criteria expression
anh xem lại giúp em với

cảm ơn anh nhiều
Sorry. Công thức mình thiết đặt bị sai một tí bạn điều chỉnh lại plandate: DateSerial([planyear];[planmonth];1)
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn jason


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Hỏi] Lọc Hợp đồng theo điều kiện ngày tháng vuthaiha90 7 290 28-11-16, 05:31 PM
Bài mới nhất: vuthaiha90
  Xóa dữ liệu ở các bảng ChiMai 6 126 17-11-16, 05:12 PM
Bài mới nhất: Trần Linh
  [Hỏi] Sự khác nhau của Like và "=" trong các hàm D toancvp 6 203 10-11-16, 12:01 AM
Bài mới nhất: toancvp
  Thay thế giá trị từ cột này sang cột khác trong 1 query trungminh 6 139 08-11-16, 03:24 PM
Bài mới nhất: ongke0711
  Làm thế nào để dùng SQL trong lập trình? paulsteigel 34 2,201 04-11-16, 05:49 PM
Bài mới nhất: Minh Tiên

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ