2016-05-27 14 views
0

SQLを使用しているAccess 2016。 "Customer"という新しい列を追加する必要があります。この値は、「グループ名」にデータがある場合に基づいて、「グループ名」を使用します。 「グループ名」が空白の場合は、「説明」のデータを使用します。それ以外の場合は既存の列の値を返す

これは私が使用しようとしているもので、動作しません。

SELECT iIf(ISempty([group name])= FALSE,[Group name],[Description]) as Customer 

解決策は、他のソフトウェアで使用されているAccessで動作するようにSQLを使用する必要があります。私はこれにかなり新しいですので、どんな助けも大歓迎です。これは、2つのUPDATE文で行うことができますANSI SQLで

+0

すべてのデータベースエンジンは、独自のSQLの風味をサポートしており、アクセスはこの良い例であるあなたに[Description]を与えるためにこれを使用します。したがって、Accessで動作するようになっても、変更を加えずに他のデータベースで動作することは期待しないでください。 – sstan

+0

「動作していない」とはどういう意味ですか?エラーメッセージ? – HansUp

+0

どのテーブルからですか?テーブル名がありません.. –

答えて

0

-- First replace empty [Customer] with [Group Name] 
Update [TargetTable] Set [Customer] = [Group Name] 
Where [Customer] IS NULL OR [Customer] = ''; 

-- Then replace still empty [Customer] with [Description] 
Update [TargetTable] Set [Customer] = [Description] 
Where [Customer] IS NULL OR [Customer] = ''; 
1

IsEmpty Functionは、「変数が初期化されているかどうかを示すブール値を返します。」

あなた[Group name]フィールドにその関数を適用すると、それは常にこのIIf()式は常にあなたの[Group name]を与える意味し、Falseを返します...

SELECT IIf(ISempty([group name])= FALSE,[Group name],[Description]) as Customer 

あなたは、あなたが実際にIIf()をしたいと説明Nullでない場合は[Group name]、そうでない場合は[Description]となります。これを行うには、あなたはIsEmpty()ためIsNull()に置き換えることができます。

SELECT IIf([Group name] Is Null, [Description], [Group name]) As Customer 
SELECT Nz([Group name], [Description]) As Customer 

おっと:ここ

SELECT IIf(IsNull([Group name])=False, [Group name], [Description]) As Customer 

は、同じことを達成するために夫婦他の方法があります!あなたは実際に"空白"と言っていましたが、それはNullを意味すると解釈しました。ブランクはまた、空の文字列を意味することができれば、[Group name]がnullまたは空の文字列のいずれかが含まれている場合...

SELECT IIf(Len([Group name] & '') = 0, [Description], [Group name]) As Customer 
+0

これを使用すると、パラメータ値、グループ名を入力するというポップアップボックスが表示されます。私はテーブル名を追加する必要がある他の応答から推測していますか?あなたのお手伝いをしていただきありがとうございます。 – JordanCA57

+0

あなたの質問に私たちが示したことは、全体の質問だったのですか?私はそれが単なる質問の一部だと思った。しかし、はい、少なくともFROMのために何かが必要です...データがどこから来るのかをAccessに伝えます。 – HansUp

+0

私はこれを動作させることができたら、私が追加するいくつかの他のものを持っています。私はこれにまったく新しいものであり、助けを求められています。私はこの1つのことを働かせてそこから行くことを望んでいました。私が必要とするコード全体を私に送ることは可能でしょうか?本当に本当に感謝しています。 – JordanCA57

関連する問題