Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Cách lồng hàm in trong hàm IIF khi tạo truy vấn
#1
E có thắc mắc mong các anh chị giúp giải đáp:

Ví dụ em tạo truy vấn trong criteria khi để 1 mình hàm in (giá trị 1, giá trị 2) thì access hiểu và bảng chạy ra được, nhưng khi lồng vào hàm IIF (expr, nếu expr đúng in (giá trị 1, giá trị 2), nếu sai thì rỗng) thì access ko hiểu.

Làm sao để khắc phục được ạ
Chữ ký của Nguyễn Đăng Toản Nguyễn Đăng Toản,gia nhập Thủ Thuật Access từ 03-09 -18.
Reply
Những người đã cảm ơn
#2
Bạn đưa code trong câu lệnh của bạn lên mới hiểu được chứ nói chay vậy khó quá.
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 Nguyễn Đăng Toản
#3
Vâng, tình huống của mình như sau. VD mình làm trong bank, sẽ quản lý theo phòng ban, mã CIF(mã KH)
VD:
121: Phòng KHCN
150: PGD A
151: PGD B
trong mỗi phòng sẽ có nhiều KH, mỗi KH tương ứng với 1 CIF, nên khi viết query để truy xuất KH theo từng phòng ban trong criteria mình đã để [MA PHONG] phân biệt các phòng ban,

khi nhập 121 vào [MA PHONG] sẽ liệt kê ra toàn bộ CIF của phòng ban 121. Tuy nhiên, có 1 số KH tuy mã phòng là 150 nhưng được chuyển giao quản lý cho 121 sẽ bị sót mã CIF VD: 7440812, 7222213. Nên trong or của CIF mình đánh hàm in(7440812, 7222213).

Khi đánh [MA PHONG] là 121, access nó xổ ra toàn bộ KH theo mã phòng 121 và cả 2 CIF 7440812, 7222213 (mặc dù mã phòng là 150)
nhưng khi mình gõ lệnh trong phần or: IIF ([MA PHONG] =121, IN (7440812, 7222213), "") thì access lại ko hiểu.
Mình ko biết làm sao để khắc phục
Chữ ký của Nguyễn Đăng Toản Nguyễn Đăng Toản,gia nhập Thủ Thuật Access từ 03-09 -18.
Reply
Những người đã cảm ơn
#4
https://uphinhnhanh.com/image/3lsIR0
Chữ ký của Nguyễn Đăng Toản Nguyễn Đăng Toản,gia nhập Thủ Thuật Access từ 03-09 -18.
Reply
Những người đã cảm ơn
#5
Câu lệnh IFF của bạn sai.
Bạn muons nếu mã phòng là 121 thì đưa nguyên câu lệnh "IN (7440812, 7222213)" thế nào dòng Criteria trong query đúng không? -> hàm IFF nó không chạy như vậy được nhé.
Bạn dùng OR trong cột CIF: In (...) là đúng rồi.
Mã CIF của bạn là TEXT hay NUMBER? nếu là Text thì trong toán tử IN ("7440812","72222213")
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 Nguyễn Đăng Toản
#6
(03-09-18, 08:07 PM)ongke0711 Đã viết: Câu lệnh IFF của bạn sai.
Bạn muons nếu mã phòng là 121 thì đưa nguyên câu lệnh "IN (7440812, 7222213)" thế nào dòng Criteria trong query đúng không? -> hàm IFF nó không chạy như vậy được nhé.
Bạn dùng OR trong cột CIF: In (...) là đúng rồi.
Mã CIF của bạn là TEXT hay NUMBER? nếu là Text thì trong toán tử IN ("7440812","72222213")

Dạ đúng rồi đó ạ, nếu mã phòng là 121 thì làm thể nào để đưa câu lệnh IN (7440812, 7222213) vào trong criteria: Có cách dùng hàm nào để Access hiểu ko ạ, CIF là number ạ. Để riêng 1 mình IN (7440812, 7222213) thì Acccess hiểu ạ
Chữ ký của Nguyễn Đăng Toản Nguyễn Đăng Toản,gia nhập Thủ Thuật Access từ 03-09 -18.
Reply
Những người đã cảm ơn
#7
Trường hợp này lạ.
Dòng criteria bạn gõ [MA PHONG] thì MA PHONG không được trùng tên Field MAPHONG nhé. Dùng [Nhap MA PHONG:].
Bạn copy toàn bộ câu lệnh SQL của cái query lên đây xem thử.
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
#8
Dạ, 
[MA PHONG] phân biệt nhau bằng 121, 150, 151,....

DEPTCODE chính là mã phòng trong table T-Cdmast_date

https://uphinhnhanh.com/image/3lTs32

khi e gõ lệnh IN (7440812, 7222213) trong OR 

https://uphinhnhanh.com/image/3lTLrG

thì ACCESS hiểu và liệt kê ra thông tin KH 7440812, 7222213 (mặc dù nằm trong phòng ban khác)

https://uphinhnhanh.com/image/3lTQsd

nhưng vấn đề là có thể khi phòng ban 150 có lẫn cả KH của phòng ban 151 (vì CIF theo phòng ban ko đổi được trên hệ thống nhưng thực tế có sự bàn giao qua lại KH giữa các phòng ban) nên e mới xài hàm IIF

https://uphinhnhanh.com/image/3lTSLr

thì Access ko hiểu khi chạy lệnh này thì thông tin KH 7440812, 7222213 không xuất hiện (chỉ xuất hiện thông tin KH theo mã 121).

E có chạy từng CIF một thì Access hiểu, vấn đề là Access ko cho chạy hàm IN khi mệnh đề [MA PHONG] = 121 đúng.

E ko biết làm thế nào để chèn hàm IN (7440812, 7222213) khi [MA PHONG] = 121 đúng

Ví Dụ như thế này thì Access nó hiểu và chèn thêm thông tin KH 7440812:
https://uphinhnhanh.com/image/3lzvwW

còn dùng hàm in (7440812, 7222213)) thì nó ko hiểu và thêm 1 mớ loằng ngoằng đằng trước sau khi save lại và thoát ra
Chữ ký của Nguyễn Đăng Toản Nguyễn Đăng Toản,gia nhập Thủ Thuật Access từ 03-09 -18.
Reply
Những người đã cảm ơn
#9
- [MA PHONG] là tên hộp thoại để bạn nhập cái DEPTCODE. KHông thể dùng nó trong hàm IIF.
  IIF([DEPTCODE]=121,...,...)
- Tham số trả về khi diều kiện SAI của hàm IIF của bạn là chuỗi rỗng "", nó không đúng với dạng dữ liệu cột CIFNO (dạng số).
- Tham số trả về khi điều kiện ĐÚNG (trả về "IN(..)) cũng không đúng kiểu xử lý của Access nên nó không hiểu trong query. 
- Logic xử lý hàm IIF của bạn nó không hợp lý.

Nói về xử lý table của bạn.
- Nếu CIF thuộc 150 nhưng chuyển giao cho 121 quản lý thì nó thể hiện ở Field nào? bạn dùng nó trong query luôn
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 Nguyễn Đăng Toản
#10
https://drive.google.com/file/d/1EySSKcU...pmDwQ/view

E có mô tả lại trường hợp của e qua file Access này.
Vâng vấn đề của e là hàm IIF vẫn chạy khi chỉ có 1 giá trị ví dụ:

IFF([MA PHONG] = 121, 7441271, "")

 nhưng khi kết hợp với hàm IN để hiển thị 2 giá trị IIf([MA PHONG]=121,In (7441271,7441468),"")

thì nó ko hiểu.
Chữ ký của Nguyễn Đăng Toản Nguyễn Đăng Toản,gia nhập Thủ Thuật Access từ 03-09 -18.
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
  Thêm số thứ tự trong Query Noname 15 9,982 11-09-18, 11:52 PM
Bài mới nhất: thanhtruong
  CÂU LỆNH QUERY LÂY DÒNG CUỐI TRONG BẢNG CỦA MỖI NGÀY tt1212 0 178 08-07-18, 12:49 AM
Bài mới nhất: tt1212
  Cách lọc chuỗi trong query liaemars 1 371 19-06-18, 11:34 PM
Bài mới nhất: ongke0711
  ACCESS CÓ HÀM TƯƠNG TỰ SUMIFS TRONG EXCEL KHÔNG? hoaducvn90 3 256 18-06-18, 11:00 AM
Bài mới nhất: ongke0711
  [Hỏi] Cách replace chuỗi ký tự hoặc che ký tự tungkt 2 219 30-05-18, 02:57 PM
Bài mới nhất: tungkt

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