Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Checkbox ở Form trở thành điều kiện trong Query
#1
Em xin chào các bác, em có file như thế này, mong muốn của em là đã tính được Lương trong QryChiV2ChiNhanh rồi, nhưng giờ muốn lọc 5,7 tháng tùy ý trong năm, cho kết quả vào QryLuongKinhDoanh, thông qua việc sử dụng Checkbox trên Form: frm V2, không biết có thể tạo được query với điều kiện như thế không ạ, hay phải sử dụng code. Các bác giúp em đoạn này với ạ, em xin cảm ơn
Chữ ký của vuthaiha90 vuthaiha90,gia nhập Thủ Thuật Access từ 26-02 -16.
Reply
Những người đã cảm ơn
#2
- Để lọc nhiều tháng thì phải dùng toán tử "IN" trong query (vd: In (1,4,5,7). Có một cách là viết code khi chạy sẽ tự động tạo lại cái Query kèm theo điều kiện "IN (...)". Tạo query dùng: Docmd.CreateQueryDef ("TenQuery", strSQL). Riêng đối với cái query của bạn thì không làm cách này được vì câu lệnh SQL của query nó dài quá vượt số ký tự cho phép của biến dạng "String" trong VBA. Nên bỏ qua cách này.

- Cách đơn giản hơn. Cái query của bạn sẽ làm nguồn cho cái Form, Report nào đó chứ không đứng không không nên chỉ cần khi mở Form hoặc Report sẽ đưa điều kiện "[TenField] IN (...)" vào câu lệnh.
Vd: 
strWhere ="[Thang] IN (" & Me.txtThangChon & ")"
Docmd.OpenReport "LuongKinhDoanh", acViewPreview, , strWhere

Cái textbox [txtThangChon]: ở Control Source của nó bạn gõ dòng này vô: =IIf([Check1]=True,"1,","") & IIf([Check2]=True,"2,","") & IIf([Check3]=True,"3,","")

Cái Check1,2,3 là checkbox chọn tháng của bạn. Tôi chỉ demo 3 tháng thôi, bạn tự thêm vô.

Nói thêm về cái query của bạn: Bạn làm nó ng vòng và sai cơ bản quá
- Query "QryChiV2ChiNhanh" đã có Join với table Cán Bộ rồi thì lấy Field [HoTen] đưa vô luôn chứ bạn lại tạo thêm cái query thứ 2 từ query trên chỉ để thêm field HoTen??? 
- Chỉ những table cần trích xuất dữ liệu thì mới đưa vô và quan trọng là phải có mối quan hệ, ràng buộc dữ liệu với table nào trong đó chứ đâu phải cứ kéo thả table vô để nó đứng chơi với như vậy thì làm sao dữ liệu ra đúng được. Nếu nó ra được cũng là hên thôi.

[Hình: 31425689277_fd199bf51c_c.jpg]


File demo: http://www.mediafire.com/file/ts2g7ug8nj...9.mdb/file
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn vuthaiha90
#3
(18-12-18, 04:46 PM)ongke0711 Đã viết: Nói thêm về cái query của bạn: Bạn làm nó ng vòng và sai cơ bản quá
- Query "QryChiV2ChiNhanh" đã có Join với table Cán Bộ rồi thì lấy Field [HoTen] đưa vô luôn chứ bạn lại tạo thêm cái query thứ 2 từ query trên chỉ để thêm field HoTen??? 
- Chỉ những table cần trích xuất dữ liệu thì mới đưa vô và quan trọng là phải có mối quan hệ, ràng buộc dữ liệu với table nào trong đó chứ đâu phải cứ kéo thả table vô để nó đứng chơi với như vậy thì làm sao dữ liệu ra đúng được. Nếu nó ra được cũng là hên thôi.

[Hình: 31425689277_fd199bf51c_c.jpg]

- Ý bác bảo em làm thêm QryLuongKinhDoanh từ QryChiV2ChiNhanh chỉ để thêm Field HoTen ấy ạ, HoTen có ngay từ Qry đầu mà bác, còn về lý do thì cơ quan em nhiều kiểu chi lương, lúc chi cả tháng, lúc chi 1 phần (tùy thuộc vào hiệu quả làm ăn được bao %), nó liên quan đến textbox "Hệ số" trong frm V2 ý ạ, nên em mới làm QryChiV2ChiNhanh là nguyên bản, còn cái QryLuongKinhDoanh là thực tế theo lần chia, tự nhiên thấy thiếu HoTen nên kéo thêm vào
- Còn "TienCacLoaiTrenMotNgayCong" em kéo vào vì lấy "LuongCoBanV2TrenThang" mà bác, kéo thừa đâu. Em lập bảng riêng để sau làm Form cập nhật table này, nhỡ các loại tiền này sau tăng lên, chứ gán đét đẹt vào phép tính ở query sau sửa còn nhiều hơn
- Em cảm ơn bác đã giúp và làm hiểu thêm nhiều điều
Chữ ký của vuthaiha90 vuthaiha90,gia nhập Thủ Thuật Access từ 26-02 -16.
Reply
Những người đã cảm ơn
#4
Trích dẫn:- Còn "TienCacLoaiTrenMotNgayCong" em kéo vào vì lấy "LuongCoBanV2TrenThang" mà bác, kéo thừa đâu. Em lập bảng riêng để sau làm Form cập nhật table này, nhỡ các loại tiền này sau tăng lên, chứ gán đét đẹt vào phép tính ở query sau sửa còn nhiều hơn
- Em cảm ơn bác đã giúp và làm hiểu thêm nhiều điều

Kéo vào mà bạn chẳng tạo một ràng buộc vào một table nào cả là sai cơ bản rồi.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Hỏi] Cách gộp 2 dòng trong query kết quả vuthaiha90 12 916 27-12-18, 06:56 PM
Bài mới nhất: Xuân Thanh
  [Help] Tạo Query lấy dữ liệu từ 1 cột của Table khác theo điều kiện jeck09nt 3 372 01-12-18, 12:14 PM
Bài mới nhất: jeck09nt
  Query không cho kết quả đúng? feeling 5 588 17-10-18, 02:20 PM
Bài mới nhất: tranthanhan1962
  [Hỏi] query tuanhungkcs 2 241 12-10-18, 09:48 PM
Bài mới nhất: tuanhungkcs
  [Help] Nhờ xây dựng Query Tranhung84ls 2 372 20-09-18, 10:25 PM
Bài mới nhất: Tranhung84ls

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ơ| PMA Nha Trang| Gỗ Acrylic Không Đường Line| Phần mềm quản lý bán hàng, công nợ- tồn kho- nhà phân phối