Questione : Dichiarazione di caso basata sulla domanda

Sono spiacente che non ho codice per fornire un esempio di perché non sono sicuro dove cominciare. Qui è che cosa sto provando a fare. Ho una tabella con due colonne. Nome ed email. Ho circa 25 nomi in questa tabella. Ho un combobox su una forma che l'utente può selezionare un nome e colpire un tasto. Sulla base di quel nome allora faccio un sendobject e spedico un rapporto a quella persona. So farlo con una tonnellata di se allora dichiarazioni. class= " lineNumbers " >
1 del >

Se Me.Requestor.Value = “Barry Sanders„ allora
    acSendReport di DoCmd.SendObject, “WOEmailReport„, acFormatPDF, “[email protected]„, “ordine di lavoro„ & Me.WOID, falso
    acForm di DoCmd.Close, “ordini di lavoro„, acSaveNo
    DoCmd.OpenForm “ceppo di manutenzione„, acNormal

ElseIf Me.Requestor.Value = “Miguel Cabrera„ allora
    acSendReport di DoCmd.SendObject, “WOEmailReport„, acFormatPDF, “[email protected]„, “ordine di lavoro„ & Me.WOID, falso
    acForm di DoCmd.Close, “ordini di lavoro„, acSaveNo
    DoCmd.OpenForm “ceppo di manutenzione„, acNormal 

ecc….
Class= >

But che dell'estremità If
class= del

Risposta : Dichiarazione di caso basata sulla domanda

La lunghezza di campo non è determinata da IIF, ma la prima annotazione del risultato, se i primi risultati dell'annotazione “in SoftPak„ il campo di SystemType siano stati C (7), se la prima annotazione è “una torretta„ lo SystemType è C (5). Quello è il senso che il foxpro determina i tipi di campo di espressioni un campo computato.

Così getto al tipo di campo e legth che volete:
LANCIARE (IIF (...) come C (7)) come SystemType…

o RILIEVO:
PADR (IIF (…, “SoftPak„, “torretta„), 7) COME SystemType…

o aggiungere semplicemente i due spazi necessari “alla torretta„:
IIF (…, “SoftPak„, “torretta ") COME SystemType

Arrivederci, Olaf.
Altre soluzioni  
 
programming4us programming4us