アプリ版:「スタンプのみでお礼する」機能のリリースについて

ACCESS初心者です。

ACCESS2003を使用しています。

スペースで区切られた住所を分割し、表示しようとしているのですが行き詰まっています。
皆さんのお力をお借りしたく質問させていただきます。

現状は次の通りです。

テーブルのフィールドに2通りの住所が混在しています。

【パターン1】 ○○○○○ △△△△ とマンション名などがスペースで区切られたもの。
【パターン2】 ○○○○○ とマンション名などがないもの

クエリを使って「住所1」と「住所2」に分割しようと思い、演算フィールドにそれぞれ下記のように記入をしました。

住所1: Left([住所],InStr(1,[住所]," ")-1)
住所2: Mid([住所],InStr(1,[住所]," ")+1)

上記のように設定をしましたが、「住所1」と「住所2」にはそれぞれ下記の通り表示をされます。

【パターン1】 「住所1」に○○○○、「住所2」に△△△△ と正常に表示
【パターン2】 「住所1」には#エラー、「住所2」に○○○○ と表示

いろいろと試行錯誤しましたが、どうしてもうまくいきません。
VBAを使ったことがないので、出来れば使わずに設定できる方法をご教示いただければと思います。

よろしくお願い致します。

A 回答 (2件)

> 住所1: Left([住所],InStr(1,[住所]," ")-1)


> 住所2: Mid([住所],InStr(1,[住所]," ")+1)



住所1: Left([住所],InStr(1,[住所] & " "," ")-1)
住所2: Mid([住所],InStr(1,[住所] & " "," ")+1)


とするとどうなりますか?
つまり、InStr する時には、必ず " " (空白)が存在するようにします。

※ 上記は LEFT のエラーをなくすもので、
Mid の場合は文字数以降のところから全部・・・・しても、エラーにはならないようです。


※ 不都合あれば修正してください。
    • good
    • 0
この回答へのお礼

ありがとうございました。
解決しました。
ACCESSは敷居が高く、これまであまり活用していませんでしたが、これを機にチャレンジしてみようと思います。
重ねて御礼申し上げます。

お礼日時:2013/05/08 21:57

演算フィールドで、IIF使って[住所]に半角スペースが含まれるか判断させる。


含まれないなら[住所]をそのまま返せば良いし、含まれるなら分割すれば良い。
    • good
    • 0
この回答へのお礼

早速の回答をありがとうございます。
エクセルと違い、IIFを使ったことはありませんがトライしてみます。

お礼日時:2013/05/08 21:54

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