プロが教えるわが家の防犯対策術!

閲覧いただき、ありがとうございます。

ACCESS 2007
テーブル名: tbl_room
フィールド名: 賃料

実は設計のミスで、テキスト型になっているフィールド(賃料)を通貨型に変更したいのですが、いままでテキスト型になっていたため、「応相談」という文字を入れてしまっており、変更すると、このデータが(一行丸々)消えてしまうという問題があります。
そこで、「応相談」の部分を空欄(もしくは0)に変換したいのですが、データが数万件あるため、手作業では納品日までに処理できません(._.)
そこで、VBAなどを使用して、変換出来ないものかと考えているのですが、どなたかお知恵をお貸し願えませんでしょうか。
(EXCEL VBAはわかりますが、ACCESS VBAは利用したことはありません。)

<スキル>
VBA:初心者
SQL:初級者

よろしくお願いします。

A 回答 (3件)

1.テーブルで行う場合


「編集」「置換」で「応相談」を0またはNullに置換する。

2.更新クエリで行う場合
クエリの種類を更新に変更して、賃料のフィールドを選択
更新する内容を0またはNullをセット
条件に"応相談"をセットで実行

3.コピーを作成して追加クエリを行う場合
テーブルをコピーして貼り付け(名称は変更、テーブル構造のみを選択)
コピーしたテーブルの賃料フィールドのデータ形式を通貨型に変更
元のテーブルでクエリの種類を追加に変更(追加先はコピーしたテーブル)
賃料の部分のみ
式1:Iif([賃料]="応相談",0,[賃料])
※空欄の場合は0の所をNullにしてください
として実行
追加したコピー先のテーブル内容を確認後にテーブルの名前をtbl_roomに変更(元のテーブルを上書き)
    • good
    • 0

SQlビューです



UPDATE tbl_room SET tbl_room.賃料 = Null
WHERE tbl_room.賃料="応相談";

ご参考に。
    • good
    • 0

2通りのやり方を。



 1.SQLを作成し、賃料を「0」にUPDATEする。

 2.数万件(エクセルに収まる範囲であれば)のデータをコピーし、
   エクセルに貼り付け、「応相談」を「0」に全置換後、
   再び、アクセスのテーブルに貼り付ける。

どうでしょう。
    • good
    • 0

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