So sánh thích hợp cho ngày trong trường hợp nhất (Microsoft Word)
Volker đang gặp sự cố khi so sánh ngày trong trường hợp nhất. Cơ sở dữ liệu của anh ta chứa trường Ngày sinh, trường này (rõ ràng) chứa ngày sinh của mỗi người trong cơ sở dữ liệu. Khi hợp nhất từng bản ghi, anh ta muốn so sánh trường Ngày sinh với ngày tham chiếu, sau đó thực hiện một số hành động dựa trên kết quả. Logic mà anh ấy đang cố gắng sử dụng trông như thế này:
{IF {MERGEFIELD Birthdate} > "02/26/1981" "Under 30" "Over 30"}
Vấn đề là so sánh không hoạt động đúng; nó không trả lại kết quả nhất quán. Một giải pháp khả thi là sử dụng chuyển đổi định dạng trong trường hợp nhất, theo cách sau:
{IF {MERGEFIELD Birthdate\@"MM/DD/YYYY"} > "02/26/1981" "Under 30" "Over 30"}
Điều này đặt thông tin đến thành một định dạng có thể so sánh được. Tuy nhiên, kết quả bạn nhận được từ phương pháp này có thể phụ thuộc vào các đặc điểm của nguồn dữ liệu, không phụ thuộc vào Word. Bạn cũng có thể thử đặt ngày thành định dạng đầu năm, chẳng hạn như sau:
{IF {MERGEFIELD Birthdate\@"YYYY/MM/DD"} > "2011/02/26" "Under 30" "Over 30"}
Nếu so sánh vẫn cho kết quả không nhất quán, thì giải pháp duy nhất có thể là thực hiện một chuyển đổi toán học vào ngày (thực tế, trên cả Ngày sinh và ngày tham chiếu) để bạn có một so sánh số thực tế. Bạn có thể thực hiện việc này bằng cách chuyển đổi ngày tháng thành giá trị Julian, trường này yêu cầu trường hợp nhất rất phức tạp, giống như trường được hiển thị ở đây:
{IF {QUOTE {SET a{=INT((14-{MERGEFIELD BIRTHDATE \@ M})/12)}} {SET b{={MERGEFIELD BIRTHDATE \@ yyyy}+4800-a}} {SET c{={MERGEFIELD BIRTHDATE \@ M}+12a-3}} {SET d{MERGEFIELD BIRTHDATE \@ d}} {SET jd{=d+INT((153c+2)/5)+365*b+INT(b/4)-INT(b/100)+INT(b/400)-32045}} {jd \#,0}} > 2,443,056 "over 30" "under30"}
Cách tiếp cận như vậy trông có vẻ đáng sợ, nhưng chỉ là phương pháp vũ phu cần thiết cho một số trường hợp.
WordTips là nguồn của bạn để đào tạo Microsoft Word hiệu quả về chi phí.
(Microsoft Word là phần mềm xử lý văn bản phổ biến nhất trên thế giới.) Mẹo này (356) áp dụng cho Microsoft Word 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Word (Word 2007 và sau này) tại đây: