以下に示すように、アクセステーブル列内の「テキスト」を見つけて新しいデータに置き換えようとしています。
これは列データ内のテキストです
Update table set column = Replace(column, 'some text', 'new data')
これはアクセス データベースでは機能しません。同じアクションを実行する別の方法はありますか?
以下に示すように、アクセステーブル列内の「テキスト」を見つけて新しいデータに置き換えようとしています。
これは列データ内のテキストです
Update table set column = Replace(column, 'some text', 'new data')
これはアクセス データベースでは機能しません。同じアクションを実行する別の方法はありますか?
VBA では機能しますが、SQL では WHERE 句を使用する必要がある場合があります。つまり、テキストが見つからない場合に Replace() を使用しようとしません。
Update table set column = Replace(column, 'some text', 'new data')
WHERE column Like '*some text*'
ただし、これをテストする機会はありませんでした。
field-name を角括弧で囲むことも価値があるかもしれませんがReplace([column],
、これは実際には必要ではありません。
追加あなたが発見したように、C# から Replace を使用することはできません。他の関数 (Left、Right、Mid、Trim) を使用できますが、これは非常に単純な置換 (おそらく左から) でない限り役に立ちません。それ以外の場合は、更新可能なものを取得してループし、RecordSet
C# で置換を実行する必要があります。
または、Access 内からデータベースにアクセスできる場合は、クエリを作成して保存し、Access-Automation を使用してこのクエリを実行 (開く) することができます。更新可能なレコードセットを取得することをお勧めします。