私の重要な他のものは、彼女の任務の遂行中にCrystal Reportsを使用し、私に助けを求めました。彼女は以下のようなマッピング関数を書いており、クライアントが複数のカードを持っているときに落ちる値を得ることに驚いています(図参照)。このモデルではマッピング関数からの予期しない結果
、クライアントはケアの訪問を持っている場合、クライアントのカードは、政府の報告の目的のために、クライアントの訪問レコードに示されることになっています。カードIDは概念的にオプションではありませんが、訪問の詳細がログに記録されているときにカードがファイルにない可能性が高いため、システムでは一時的に残しておくことができます。この状態は、以下のマッピング機能では「カードなし」の条件で表されます。
私の回答では、これは条件が満たされていないことを意味していますが、彼女は私に彼女の訴えを提出するように依頼しています。
以下は、彼女のマッピング機能のCrystal Basicコードです。彼女は最後の条件で未処理のケースがあることを認識しており、その場合は、ブランクが表示されますが、これは観測された動作ではありません。ダイアグラムのコードは、レポートから直接貼り付けられ、実際のフィールド名が含まれていますが、ダイアグラムの名前はマッピング関数コードの名前と一致しません。
if ({awt_temp.Service_code} = "DOM") and ({Card_Type.Card_Type_ID} = 21) then
{Card_Holder.Card_No}
else if ({awt_temp.Service_code} = "MANT") and ({Card_Type.Card_Type_ID} = 25) then
{Card_Holder.Card_No}
else if ({awt_temp.Service_code} = "PC") and ({Card_Type.Card_Type_ID} = 22) then
{Card_Holder.Card_No}
else if ({awt_temp.Service_code} = "RES") and ({Card_Type.Card_Type_ID} = 24) then
{Card_Holder.Card_No}
else if ({awt_temp.Service_code} = "SOC") and ({Card_Type.Card_Type_ID} = 23) then
{Card_Holder.Card_No}
else if not ({Card_Type.Description} startswith "vhc") then
"no card"
マッピング機能がルックアップテーブルへの結合で最も適切に処理されることには言及していません。彼女はスキーマを再設計する立場にいません。
レポート整数またはvarcharでCard_Type_IDのタイプがある:あなたは、常に式の開始時にヌルのためにテストする必要がありますか?これはよく問題である可能性があります –