【先着1,000名様!】1,000円分をプレゼント!

アクセスで郵便番号から住所を自動的に入力させる機能を使っています。
ところが、アクセスが読み取っている郵便番号が古いのか、正しい番号をもってきてくれません。
そこで手打ちで住所を直そうとすると、今度は郵便番号が違う番号に変わってしまいます。
もう一度、郵便番号を手打ちで直すと住所が変わってしまうといった堂堂巡りを繰り返すだけで、正しい組み合わせを入力することができません。
この現象を解決する方法をどなかた教えてください。
よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

No1です。


> 最初は自動入力を行って、そのあと組み合わせが違っている場合のみ手直しで行いたいのです。

これは、
郵便番号 → 住所
の変換はするが
住所 → 郵便番号
は変換しない
ということでしょうか?

そうであれば
No1 の回答でそうなりますが。

郵便番号 → 住所
住所 → 郵便番号
両方とも変換して、かつ矛盾する場合に修正というのはかなり面倒な処理ですね。
できないことはないでしょうけど、
滅多にないことで、そこまでやるか?ということです。
ちなみに、キーボードから入力せず、
コピーしたものを貼り付ければ、変換は行われません。
    • good
    • 0
この回答へのお礼

一番目のご回答は、一度入力してから、住所支援入力の設定を外しても他のデータには影響しないから、手打ちで修正したいデータのときのみ住所支援入力の設定を外すという意味だったんですね。
そのとおりで出来ました。
ニ番目のやり方のほうが単純なので、そちらで対応することにしました。
ありがとうございました!

お礼日時:2007/10/22 13:10

住所入力支援を使う限り そうなりますね。


(郵便辞書が古くなっている)
基本的には、郵便辞書を新しくすればよいのですが
マイクロソフトでUP分がが公開されるタイミングは、どうしても時間がかかります。
それまでは、同様の状態が発生します。
一応、最新がないか MSサイトを探されてはいかがでしょう。
一番良いのは、自前で郵便辞書機能を作ることです。
最新は、ここで入手できます。
http://www.post.japanpost.jp/zipcode/download.html
後は、管理しやすいようにデータベース化して
住所入力支援ではなく、自前で検索処理を作れば 最新が管理できます。
    • good
    • 0

「住所」フィールドの「住所入力支援」プロパティの内容を削除してください。

この回答への補足

ご回答ありがとうございます。
最初は自動入力を行って、そのあと組み合わせが違っている場合のみ手直しで行いたいのです。
それは不可能なのでしょうか?
組み合わせが違っていることのほうがまれなので、
自動入力は活かしつつ、VBAなどで対応できないかなと思っていたのです。
言葉足らずな質問で申し訳ありませんでした。

補足日時:2007/10/19 10:01
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QAccess 住所入力支援が機能しません

現在、データ入力作業をしていて、この住所入力支援機能を設定しているのですが、
設定時にチェックするときは自動で住所が出てくるのに、
いざテーブルやフォームで入れようとすると出てきません。
テーブル、フォームいずれでも、プロパティから設定をしているのですが。。。
氏名→フリガナはうまく出来ているのに、何がいけないのか分かりません。

大変申し訳ありませんが、教えていただければと思います。

Accessは2003で、最近データベースとして使い始めたばかりです。

Aベストアンサー

>「所属先1〒」のフィールドの定型入力が000\-0000;;_
「住所1」のフィールドの住所入力支援に「所属先1〒」
となってはいるのですが・・・。

設定されてますか・・。ちなみに[住所1]のフィールドの住所入力支援は[所属先1〒;;;]です。;が3つですよね。
使っているAccessがランタイム版とかではないですよね。ランタイムでは住所入力支援が使えないので・・。
すいません。分からないですね。不明です。
mdbを最適化/修復してもダメですか?他のmdbでも使えないのでしょうか?
Accessの全てのmdbで使用できないのであればAccessの再インストールが必要かもしれません??
下記は住所入力支援のプロパティのURLです。ウィザードで設定しているのなら合っていると思いますが念のため書いておきます。

参考URL:http://www.microsoft.com/JAPAN/developer/library/vbaac10/acpropostaladdress.htm

Qaccessに内蔵の郵便番号辞書を新しくするには?

MS-IMEの郵便番号辞書は、最新のものをMSのホームページからダウンしてインストールすればWORD,EXCEL,ACCESSなどで使えます。accessで郵便番号フィールドに入力すると住所フィ-ルドに住所が入力される機能は、残念ながら、MS-IMEを使っているのではなく、accessに内蔵の郵便番号辞書を使っているようです(推測ですが)。私のaccessは2002ですが、大宮市と表示されます。さいたま市と入力されるMS-IMEのように、accessに内蔵の郵便番号辞書を新しくする方法はないでしょうか?

Aベストアンサー

#3です。補足です。

私が提示したURLは「IME 2002 アップデート: 郵便番号辞書 (2003 年 2 月版)」ではなく、「Officeアップデート: 郵便番号辞書 (2002年7月版)」のほうです。

説明が中途半端だったようで申し訳ありませんでした。

下記のURLのOfficeダウンロードセンターで、

製品:Access
バージョン:2002/XP
表示の種類:アップデートにチェック

「一覧を更新」をクリックして表示されるアップデートの上から2番目にあります。

これでどうでしょうか?

参考URL:http://office.microsoft.com/japan/downloads/Default.aspx

Qアクセスで郵便番号にハイフンをつけて印刷したい

アクセスの得意な方、教えてください。
データベースの実データはハイフン無しの7桁の
半角数字の郵便番号を印刷する時、
「999-9999」と、3桁目と4桁目の間にハイフンを
入れタイのですが、どうやったらいいか分かりません。
レポートの郵便番号のプロパティの何処でどのように
設定すればハイフン入りで印刷できるのでしょうか??
教えてください!!

Aベストアンサー

一番てっとり早い方法としてオススメです。

1.レポートの郵便番号のプロパティ
2.[データ]タブの[定型入力]で右端のボタンをクリック
 (こんな形のボタンです。 [・・・] )
3.ウィザードで、「郵便番号」を選んで、「次へ」
4.ずっと「次へ」で「完了」

あっという間に簡単にできますよ。

QAccessのRefresh・Requery・Repaintの違い

Requeryはもう一度ソースレコード(テーブル)を読み込むようです。このとき、テーブルの先頭レコードに移動してしまいます。
Refreshは最新のレコード(テーブル)を再表示するような気がします。レコードの移動は起こらない気がします。
Repaintは、VBAでキャプションなどを変更したとき使っています。
でも、よくわかっていません。
どんなときにどんなメソッドを使えばいいのでしょうか?
詳しい方、よろしくお願いいたします。

Aベストアンサー

たびたびすみません。
調べてたらこんなのがでてきました。
http://www.nurs.or.jp/~ppoy/access/access/acF007.html

参考URL:http://www.nurs.or.jp/~ppoy/access/access/acF007.html

QACCESSでフォームを使って、テーブルを参照、データ入力、データ更新をしたいのです

フォームを使って、テーブルを参照、データ入力、データ更新をしたいのです。

売上テーブル

 ID   商品コード  日付    金額 
 1    G1     20080101  532153
 2    G1     20080101  564281
 3    G1     20080301  538123
 4    J4     20080301  124531
 5    J4     20080302  125483

ID:オートナンバー 商品コード:数値型 日付:数値型 金額:数値型

これを使い、
フォームではまず

レコードナンバーを入力画面
       ↓
レコード番号を入れると、そのレコードのデーターが画面に表示され、
その画面で修正可能
       ↓
 保存 ボタンで保存

という流れです。

レコードナンバーはIDを使おうと思っています。

データの量が莫大な為、コンポボックスなどは使えません。

できるだけ、VBAなどは使わずに作りたいです。

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

フォームを使って、テーブルを参照、データ入力、データ更新をしたいのです。

売上テーブル

 ID   商品コード  日付    金額 
 1    G1     20080101  532153
 2    G1     20080101  564281
 3    G1     20080301  538123
 4    J4     20080301  124531
 5    J4     20080302  125483

ID:オートナンバー 商品コード:数値型 日付:数値型 金額:数値型

これを使い、
フォームではまず

レコードナンバーを入...続きを読む

Aベストアンサー

まずそのテーブルを基にしてフォームを作成します。
そのフォームのヘッダー部分にテキストボックスを配置後、一旦
上書き保存。
フォームのレコードソースを
SELECT *
FROM テーブル名 WHERE ID=[Forms]![フォーム名]![テキストボックス名]
とします。
次にテキストボックスの更新後処理に
Me.Requery
とすれば完成です。
フォームを開いてテキストボックスにID入力後エンターしてください。

保存に関しては、コマンドボタン作成後クリック時イベントに
DoCmd.RunCommand acCmdSaveRecord
とすれば良いでしょう。

この手のモノは検索すれば相当数ヒットするので、そちらを参考にされるのもよろしいかと。

Q住所に変換されない郵便番号

印刷物に書いてある郵便番号を入力しても、住所に変換できないものがあるみたいです。IME2003で使用している郵便番号辞書は最新の物です。

例えば「日経PC21」は発売が「日経出版社センター」となっており、同センターの郵便番号は「108-8646」ですが、これは住所に変換できません。ちなみに同センターの住所は「東京都港区白金」です。これを「ゆうびんホームページの番号検索」で調べると「108-0072」になります。「108-0072」はちゃんと住所に変換できます。先の「108-8646」なる郵便番号は存在してさえいないようなのです。

IME2003の最新版郵便番号辞書でも変換されない郵便番号というのも変なものですが、変換されない郵便番号「108-8646」は大量の郵便物が届くための事業所用の特定郵便番号とでもいうものなのでしょうか。

ここで、何軒かそういう郵便番号に出くわしてしまい、IMEがおかしくなっちゃったのかなと思った次第ですが、そういった郵便番号は「ゆうびんホームページの番号検索」で調べても出てこないので、変換できない郵便番号の意味というか、これについてなにかお分かりの方は教えてください。変換できない郵便番号が気分的に面白くないです(笑)

印刷物に書いてある郵便番号を入力しても、住所に変換できないものがあるみたいです。IME2003で使用している郵便番号辞書は最新の物です。

例えば「日経PC21」は発売が「日経出版社センター」となっており、同センターの郵便番号は「108-8646」ですが、これは住所に変換できません。ちなみに同センターの住所は「東京都港区白金」です。これを「ゆうびんホームページの番号検索」で調べると「108-0072」になります。「108-0072」はちゃんと住所に変換できます。先の「108-8646」なる郵便番号は存在してさえいな...続きを読む

Aベストアンサー

>大量の郵便物が届くための事業所用の特定郵便番号とでもいうものなのでしょうか
だいたいおっしゃる通りです。以下のページに「大口事業所等個別番号データ」ということで解説があります。
http://www.post.japanpost.jp/zipcode/dl/jigyosyo/readme.html
この郵便番号を入れると、住所を書かなくても届きます(部署名等は別として)。

データベースとして配布はされていますが、IME2003では無視している、というところなのでしょうか。更新が頻繁なのでどうせ対応しきれないからなのかもしれません。

Qアクセス2010 住所入力支援機能をVBから制御し

郵便番号を入力すると指定されたフィールドに住所が表示される機能。
この機能のオン・オフをVBコードから制御できないでしょうか?

Aベストアンサー

> この機能のオン・オフをVBコードから制御できないでしょうか?

ご質問の制御の対象がフォーム上ということでよろしければ、
郵便番号・住所の入力/表示に使用しているテキストボックスの
「PostalAddress」プロパティの値を切り替えてやればOkのようです。
(普段この機能は使用しないので(汗)、今試してみました:Acc2007)

既にウィザードなどで機能を設定済みのテキストボックスがある
ことを前提に、式を例示します。

『郵便番号欄』『住所欄』の2つのテキストボックスがあって、
それぞれの『住所入力支援』プロパティ(→テキストボックスの
プロパティシートの『その他』タブにあります)の値が、それぞれ
  『郵便番号欄』テキストボックス → プロパティ値=「住所欄」
  『住所欄』テキストボックス → プロパティ値=「郵便番号欄;;;」
となっている場合は、
  Forms!フォーム名!郵便番号欄.PostalAddress = "住所欄"
  Forms!フォーム名!住所欄.PostalAddress = "郵便番号欄;;;"
 または、同じフォーム上なら
  Me!郵便番号欄.PostalAddress = "住所欄"
  Me!住所欄.PostalAddress = "郵便番号欄;;;"
と、プロパティ値を「"」ダブルクォーテーションで括って代入すればオンに、
  Forms!フォーム名!郵便番号欄.PostalAddress = ""
  Forms!フォーム名!住所欄.PostalAddress = ""
 また、上と同様に同じフォーム上なら
  Me!郵便番号欄.PostalAddress = ""
  Me!住所欄.PostalAddress = ""
と、空文字("")を設定してやればオフに、それぞれできます。

住所を『都道府県』と『市区町村』などに分割している場合も、
基本的には上記と同様にプロパティ値の代入で切り替え可能です。
(郵便番号系・住所系で使用しているテキストボックスの数だけ、
 代入式が必要になります:
 上の例では郵便番号欄/住所欄の2つなので、2つの代入式、と)


・・・以上、参考まで。

> この機能のオン・オフをVBコードから制御できないでしょうか?

ご質問の制御の対象がフォーム上ということでよろしければ、
郵便番号・住所の入力/表示に使用しているテキストボックスの
「PostalAddress」プロパティの値を切り替えてやればOkのようです。
(普段この機能は使用しないので(汗)、今試してみました:Acc2007)

既にウィザードなどで機能を設定済みのテキストボックスがある
ことを前提に、式を例示します。

『郵便番号欄』『住所欄』の2つのテキストボックスがあって、
それぞれの『住所入力支...続きを読む

QACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ

ACCESSで空白のデーターをクエリで判定/識別する方法を教えてください。
EXCELでは空白を""で判定/識別表していますがACCESSではどうなるのでしょうか。

下の例はフィールドに試験番号があればその番号を、空白なら”欠席”と表示しようとしています。
IIf(([試験番号]="空白の場合何を入れる?"),[試験番号],"欠席")

Aベストアンサー

もうひとつの書き方は
式1: IIf([試験番号] Is Not Null,[試験番号],"欠席")
第2、第3引数の、質問の順序にあわせるとこうなる。

QAccessのフォームのみ表示させたい

Accessを起動した際、フォームのみ表示するにはどうすればよいのでしょうか?
(Accessを起動すると、オブジェクトメニュー?(テーブルやクエリ等のオブジクトを選択するウィンドウ)を表示させないで、フォームのみを表示させるには?)
また、上記と同じようにして、なおかつAccessを起動させないでフォームで起動や終了といったことが出来るのでしょうか?
やはりこれはVB等プログラミングでないと出来ないのでしょうか?ちなみに私はプログラミングは全く出来ません。
わかる方、教えて下さい。宜しくお願いします。

Aベストアンサー

ツールメニュー
”起動時の設定”を開き

フォーム/ページの表示にて起動時に表示させたいフォームを選択すれば、そのMDBを開いた時に、該当のフォームが表示されます。

メニュー画面等を作り、各処理のフォームを開いたり、アクセスを終了するマクロを呼び出すボタンを作ればフォームからの終了等も可能です。

また、データベースウィンドウの表示のチェックボックスを外せば、質問者様の言われているオブジェクトメニューは表示されなくなります。

メンテナンス等を行いたい時はshiftキーを押下しながら立ち上げればデータベースウィンドウが表示できます。

Qアクセエスのレコードの更新をVBAでするには?

アクセスで、一覧表のフォームにボタンを取りつけています。レコードの内容を変更したら、ペンの形のマークが現れますね。これは変更中ということですが、そこでボタンを押しても変更は確定されないから、更新確定させたいのです。

それで、DoCmd.Requery を最初の行に入れてみたら、元の一覧表は最初のレコードに飛んでしまう。

元の一覧表の位置を動かさないために、Ctrl+Enter キーを押して更新確定させたような状態をVBAで実現する方法あるのでしょうか?

よろしくお願いします。

Aベストアンサー

No1 です。
今回の場合には
Docmd.RunCommand acCmdSaveRecord の方が良かったですね
文字通りレコードを保存します。
Requery に引きづられてしまいました (^_^;)

Recalc、Refresh、Requery の使い分けは下記が参考にはなりますか?
http://www.nurs.or.jp/~ppoy/access/access/acF007.html


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング