• 締切済み

アクセスのデータ型を変更するにあたり、データが消える問題を解決したい。

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

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

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

  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.2

SQlビューです UPDATE tbl_room SET tbl_room.賃料 = Null WHERE tbl_room.賃料="応相談"; ご参考に。

  • ipsum11
  • ベストアンサー率21% (55/251)
回答No.1

2通りのやり方を。  1.SQLを作成し、賃料を「0」にUPDATEする。  2.数万件(エクセルに収まる範囲であれば)のデータをコピーし、    エクセルに貼り付け、「応相談」を「0」に全置換後、    再び、アクセスのテーブルに貼り付ける。 どうでしょう。

関連するQ&A

  • Accessにてデータの更新

    Accessにて、フォームにボタンを作成し、クリックすると フォームのテキストボックスのデータを取得し、 テーブルのデータを更新するVBAを作りたいのですが、 mySQL = "UPDATE テーブル名 SET フィールド名 = '1234'" このようにすると、フィールドが1234のデータに更新されるのですが、 これを namae =Me!テキストボックス名 mySQL = "UPDATE テーブル名 SET フィールド名 = namae" とするとうまくいきません。 正しい書き方をお願いします。

  • ACCESSでデータ変更箇所が分かるようにする方法

    ACCESS初心者です。 顧客住所録管理をしていて、フォームで既存レコードのどこかのフィールドを変更したら、”変更日時”のフィールドに日時が入るように指定しました。 (全てのフィールドのプロパティ更新後処理に           Me![更新日時].Value = Now()     と設定。) 変更日時で抽出をかければ特定の日以後に変更のあったデータを抽出してくれるの ですが、どのフィールドが変更になったかは分かりません。 そこで、変更があったフィールドに色をつけるということはできないものかと考えました。 フォームの条件付書式で条件が真のときに色を塗るっていうのがありましたよね。 あんな感じのことがしたいのですが・・・。 各フィールドの更新後処理になにかVBAを付け加えればいいのでしょうか? 初心者なもので質問が的を得ていないのかもしれませんが、どなたかご教授頂ける方、よろしくお願いします。

  • ExcelデータをAccessに取得させる方法

           エクセル           Access    A列   B列  C列      フェールド名  人 りんご みかん ばなな キャベツ    リンゴ  3   木村               木村  3    2    みかん  2   木村             小林             4    ばなな  4  小林               青木                   2    キャベツ 2  青木 のようにエクセルのデータでA列をAccessのフィールド名にし、もし無ければ、その項目名(りんご等)をフィールド名に追加させ、上の右図のようにAccessにデータを取得させるコードを作りたいと考えてます。  取得させる場合はExcellではなく、Access VBAで取得させたいです。  どんなコードを書いたらよろしいのですか?  分かる方がおられましたら、よろしくご指導くだされとうれしいです。  私のVBAのレベルですが、Access VBAは今回初めてで、Excel VBAは中級くらいかと思います。  よろしくお願いします。

  • ExcelからAccessデータを検索するマクロ

    ExcelのA1セルにある値をAccessのデータベース (ファイル名:abc.mdb、テーブル名:Tbl_a)の フィールド1から検索し、対応するレコードの フィールド2の値をExcelのB1セルに書き込む というマクロはどのように書けばよいのでしょうか? Excel, Accessともに2000です。 よろしくご教授お願いします。

  • Accessのテーブルのフィールド名のフォントについて

    Access初心者ですが、テーブルでデザインビューでフィールド名を 入力し、データシートビューに替えると、フィールド名のフォントが 明朝体のように表示されてしまいます。 以前まではゴシック体でデータシートビューでも表示されていたのですが・・・ いろいろなテキストを見ましたが、フィールド名のフォントの変更方法に ついて載っている物がありません。再起動したら直ると書いてるものはありましたが。 再起動してもやっぱり直りません。 このようなご経験がある方、フィールド名のフォントを変更する方法 ご存知であれば教えて頂けますか<m(__)m>

  • ACCESSのデータ型変更について

    クエリを利用してテーブルを新規作成する時に formatで書式を変換すると日付/時刻型のデータが テキスト型のデータに変わってしまったのですが 新規作成したテーブルのデータも日付/時刻型に直すには どのようにすれば出来ますか 宜しくお願いします 日時 (日付/時刻型) ―――――――――― 2002/05/31 13:54:28 2002/05/31 15:09:55 2002/06/01 10:40:06 2002/06/01 10:40:08 ――――――――――  ↓ テーブルの日時データを 日時:Format(日時,"日付 (L)")で書式を変換して テーブルを新規作成する  ↓ 日時 ―――――――――― 2002年5月31日 2002年6月1日 ――――――――――  ↓ テーブルの日時がテキスト型になってしまいます テキスト型を日付/時刻型に変更したい

  • アクセスのデータ取り込みについて

    UTF8のテキストデータを取り込みする際 データが10フィールドあるとします。 1レコード目の1フィールド目から9フィールド目までデータがあり、10フィールド目はNULL 2レコード目の1フィールド目から10フィールド目までデータがある場合 テキストデータ自体9フィールド目までしか取り込めない場合がございます。 こういったレコード終端がNULLの場合とNULLでない場合に取り込む際 注意することはありますでしょうか?? 因みにデータを取り込む際、文字コードを指定しフィールドの データ型を変更する際 存在するフィールドに比べアクセス上ではフィールド数が足らなくなるのですが・・・ どうぞよろしくお願いします。

  • AccessのデータをVBを使って置換する

    (1)VisualBasic6.0を用いて、Access2000のデータベースに接続します。 (2)データベースの中のテーブル(テーブル名:T-カレンダー)にあるフィールド(フィールド名:コード)に保存されているデータの一部分を置換したい。(⇒途中のアルファベットを変更したい。)(例;置換前:123FFF789 置換後:123III789)  テーブルを直接開いて、フィールドにカーソルをあわせて、”編集メニュー”の『検索と置換』から行っても出来るのですが、Accessを触らないでVBから作ったフォームから変更(置換)をさせたい。  ◇フォームに2つテキストボックスを作って、「検索する文字列」と「置換後の文字列」を入力し、『変換』ボタンを押したら、データが置換される、という流れ。   一回きりの置換でなくて、何回でも同じフィールド内のデータを置換したい。   SQLのREPLACE関数を用いて出来るかな、とは思っているのですが、どのように作成すればよろしいのでしょうか。  また他のやり方でシンプルな方法があればお教えください。

  • accessのフォームで参照しながら入力

    access初心者です。教えてください。 今、以下のようなテーブルがあるとします。 TBL_A ID,名前,TEL,FAX TBL_B ID,顧客ID,年月日,メモ 新規でTBL_Bのデータを追加するときにリストボックスから顧客を選び、年月日とメモを入力するフォームを作成しています。 このときにリストボックスより選択後、年月日とメモを入力するテキストボックス等の横に該当顧客の直近(TBL_Bの該当顧客の年月日が最新のもの)のデータを表示したいです。 要するに前回のデータを見ながら入力したいです。 表示はテキストボックスでもラベルでもかまいません。 実際には項目数は20個程度あります。 VBAでもかまいません。どのような方法があるでしょうか? 教えて頂きたいです。

  • アクセスでデータを分配するには

    フォームにテキストボックスが3つあり 企業名を入力するテキストボックスと 駅名を入力するテキストボックスが2つあり登録ボタンを 押下すればテーブルに2つレコードが作成されるようにしたいのですが どうすればいいのでしょうか? 例えばテキスト1の企業名に ●●商事 テキスト2の駅名に銀座 テキスト3の駅名に有楽町と入力し登録ボタンを押下すればテーブル のフィールド名、企業名に●●商事フィール名 駅名に銀座というデータともうひとつ とフィールド名、企業名に●●商事フィール名 駅名に有楽町というデータの2つのデータが テーブルに作成されるようにしたいのですが。。

専門家に質問してみよう