2011-12-22 7 views
0

私はアクセスしているテーブルにメモフィールドがあり、いつでもそのフィールドに追加することができます。私が使用してきた:AccessデータベースでSQLテキストフィールドに追加する

UPDATE Incident_Reports SET Incident_Note = Incident_Note + '%s' WHERE Incident_ID=%s", NoteText, IncidentID 

これは、データが事件のノートに存在する場合にのみ何もでない場合、それは単に何もしません動作します。

これについての洞察はありますか?それは有り難いです!

これが役立つ場合は、.mdbファイルにアクセスしています。

答えて

1

問題は、Jet SQLの文字列連結子が&ではなく+です。 +を使用すると便利な場合もありますが、通常は問題につながります。

UPDATE Incident_Reports 
SET Incident_Note = Incident_Note & '%s' 
WHERE Incident_ID=%s 
+0

それはトリックでした!ありがとうございました! – kogh

1
UPDATE 
    Incident_Reports 
SET 
    Incident_Note = Nz(Incident_Note, '') + '%s' 
WHERE 
    Incident_ID=%s 

問題はNULL + aの値が常にNULLに等しいことです。 Nz()関数は2つのパラメータをとり、NULLでない場合は最初のパラメータを返し、それ以外の場合は2番目のパラメータを返します。この場合、追加することができるnullではなく空の文字列を返すことができます。

+0

正しい連結子でNzを必要としません。 – Fionnuala

関連する問題