Confronti corretti per le date nei campi unione (Microsoft Word)
Volker ha problemi a confrontare le date in un campo di unione. Il suo database contiene un campo Data di nascita, che (ovviamente) contiene una data di nascita per ogni persona nel database. Mentre unisce ogni record, desidera confrontare il campo Data di nascita con una data di riferimento, quindi intraprendere un’azione in base al risultato. La logica che sta tentando di usare assomiglia a questa:
{IF {MERGEFIELD Birthdate} > "02/26/1981" "Under 30" "Over 30"}
Il problema è che il confronto non funziona correttamente; non restituisce risultati coerenti. Una possibile soluzione è usare un cambio di formato nel campo unione, nel modo seguente:
{IF {MERGEFIELD Birthdate\@"MM/DD/YYYY"} > "02/26/1981" "Under 30" "Over 30"}
Questo mette le informazioni in arrivo in un formato comparabile. I risultati ottenuti da questo approccio possono tuttavia dipendere dalle caratteristiche dell’origine dati, indipendentemente da Word. Potresti anche provare a inserire le date in un formato primo anno, come il seguente:
{IF {MERGEFIELD Birthdate\@"YYYY/MM/DD"} > "2011/02/26" "Under 30" "Over 30"}
Se il confronto produce ancora risultati incoerenti, l’unica soluzione potrebbe essere quella di eseguire una conversione matematica sulla data (in realtà, sia sulla data di nascita che sulla data di riferimento) in modo da avere un confronto numerico effettivo. Puoi farlo convertendo la data in un valore giuliano, che richiede un campo di unione molto complesso, come quello mostrato qui:
{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"}
Un tale approccio può sembrare intimidatorio, ma in alcuni casi è solo il metodo della forza bruta necessario.
WordTips è la tua fonte di formazione economica su Microsoft Word.
(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (356) si applica a Microsoft Word 97, 2000, 2002 e 2003. È possibile trovare una versione di questo suggerimento per l’interfaccia a nastro di Word (Word 2007 e più tardi) qui: