推しミネラルウォーターはありますか?

宜しくお願いします。

たとえば、Aというフィールドに入っている内容が
aaaaaa?feohknkjew
jibs?1193jdf
などとある場合、?以降の文字を全て削除するには、
何か方法がありますか?
教えてください。

A 回答 (4件)

更新クエリでできます。


クエリのSQL次の通り

UPDATE テーブル名 SET テーブル名.フィールド名 = Left([フィールド名],InStr([フィールド名],"?")-1)
WHERE (((InStr([フィールド名],"?"))<>0));

としてください。
これでフィールド名のデータの「?」の位置を調べて「0」以外のデータについて
「?」より前の文字に更新してくれます。
念のためテーブルのコピーして下さい。テーブルを更新します。
お試しください。
    • good
    • 0

(補足)


あくまでも表示する場合の方法です。
実際に更新するのであれば、1バイト目に「?」が有る場合に「Null」となりますのでデータベースが「Null」不可の場合は考慮しなければいけません。

アクセスですので、クエリ画面で該当データを抽出した後、そのデータのみ変更する事もできます。
その場合は、IIf(条件、真、偽)の条件は不要になります。

実データを更新される場合は、必ずバックアップしてからテストし、そのデータを実データへ戻す様にして下さい。

※抽出条件は Like '*?*' か '%?%' ですが「?」が特殊文字ですので[]か何かでくくらないといけないかもしれません。ヘルプも参考にして下さいネ
    • good
    • 0

更新クエリなら


Aフィールドの更新欄に aaaaaa 抽出条件欄に Like "aaaaaa?feohknkjew"
で「!(実行)」ですかね。
?をワイルドカードとして使わない場合は抽出条件を Like "aaaaaa[?]feohknkjew" にしてください。
    • good
    • 0

IIf(InStr(1,A_Field,"?")>0,


Left(A_Field,InStr(1,A_Field,"?")), A_Field)

こんな感じでしょうかネ!
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!