• ベストアンサー

access2000で名簿を作っているのですが・・・

アクセス自体の初心者です。よろしくお願いします。 テーブル:団体名      個人名簿      地区名      住所一覧  を作ってあります。 (1)団体名のサブデータシートに個人名簿をつける。 (2)地区名のサブデータシートに住所一覧をつける。 (1)、(2)まではできました。 ここからが質問です。 a)個人名簿の地区名フィールドで地区名を選択すると、住所フィールドで地区名のサブデータシートを見られるようにしたい。  今現在の設定では、住所フィールドに住所一覧のすべてのデータが表示される状態です。 b)さらに、住所を選択すると郵便番号が自動的に入力されるようにしたい。  住所を手打ち入力すれば郵便番号は入力されるし、郵便番号を入力すれば住所も出るのだけど、今のまま住所を選択しても郵便番号は自動入力されない。 c)団体名のサブデータシートを一枚ずつ表示して、印刷できるようにしたい。(団体名ごとに個人名簿を表示印刷したい。)  以上、質問自体をわかっていただけるかどうか不安ながらも、ご指導よろしくお願いします。

  • mk114
  • お礼率39% (21/53)

質問者が選んだベストアンサー

  • ベストアンサー
  • fbc
  • ベストアンサー率100% (1/1)
回答No.3

再び答えさせていただきます。 さて、「パラメータの入力」と表示されるとのことですが、これは要するにクエリの抽出条件欄に記述した、[Forms]![個人名簿]![地区名]が見つかりませんということです。 このクエリが機能するためにはまず、個人名簿フォームが「開いて」いなければなりません。 ですので、「個人名簿」フォームを開いた状態で、作成した「Q_住所一覧」クエリを開いてみて下さい。 これで、「パラメータの入力」が表示されなければ、次の作業に進んでいただいて大丈夫ですので、これ以下の文は全くお読みにならなくて結構です。 状況変わらず、「パラメータの入力」が表示されるようなら、フォーム名あるいはテキストボックス名が違います。 以下のことを確認してください。 (1)フォーム名が正しいか?・・・「データベースウィンドウ」の「フォーム」タブをクリックすると、フォームの一覧が表示されますので、該当するフォームに「個人名簿」という名前が表示されているかどうか確認します。 (mk114さんが質問 "a)"でおっしゃっているフォームです) (2)テキストボックス名が正しいか?・・・上記が正しければ、「個人名簿」フォームをデザインビューで開き、該当するテキストボックスをダブルクリックして、プロパティ内の「すべて」タブをクリック(「その他」タブでも可)、 項目の一番上にある「名前」が「地区名」になっているかどうか確認します。 (同じくmk114さんが質問 "a)"でおっしゃっているフィールドです。また、私はテキストボックスと書きましたがコンボボックスでも問題ありません。) もし、(1)(2)で名前が違っていて、既に他とリレーションさせているから名前を変えたくない(普通そうでしょうから)という場合は、クエリの抽出条件欄の記述を変更します。 [Forms]![個人名簿]![地区名」の場合、[Forms]は固定で構いません(参照するオブジェクトの種類がフォームであるということを意味しています)。 続く[個人名簿]がフォーム名ですので(1)で確認した名前と一致させます。 最後の[地区名]がテキストボックス名です。これは(2)で確認した名前と一致させます。 例えば、(1)でのフォーム名が「F_個人名簿」、(2)でのテキストボックス名が「txt地区名」などとしていた場合は、クエリの記述は[Forms]![F_個人名簿]![txt地区名]となります。 上記は半角か全角かなども含めて、一字一句間違えていても機能しませんのでご注意ください。 なお、ミニ技として、参照の際の [ ] は省略して入力しても、自動的に記述されます。 上記をすべて確認した上で、まだうまくいかないようでしたら、さらにフォーム名やフィールド名など正確にお教えくだされば、また、お答えできると思いますので、とりあえず試してご覧になってください。

mk114
質問者

お礼

せっかく教えていただいたのに、仕事を長期で休んでしまい結局解決していません。 一旦自分なりにやり直してみて、また改めて質問しようと思います。 ありがとうございました。

その他の回答 (2)

  • fbc
  • ベストアンサー率100% (1/1)
回答No.2

ご質問の(a)について答えさせていただきます。 サプデータシート作成済みということですので、住所一覧テーブルに[地区コード]のようなものが入力されているものとしてご説明いたします。 まず、下記のような選択クエリを作成します。 表示テーブルは[住所一覧テーブル]。 フィールドには[地区コード][住所]を選択。 [地区コード]フィールドの「集計」を「where条件]、 抽出条件を[forms]![個人名簿]![地区名]にします。 (※対象フォーム名が「個人名簿」、テキストボックス名が「地区名」の場合) [住所]フィールドの方は変更ありません。 クエリー名は「Q_住所一覧」としておきます。 次に個人名簿フォームの方ですが,、サブフォーム名を「住所一覧」とさせていただいた上で説明いたします。 といっても大した手順はありません。 まず、「住所一覧」サブフォームの「ソースオブジェクト」(プロパティの「データ」タブ)に上記の「Q_住所一覧」を選択します。 あとは「地区名」テキストボックスの「更新後処理」に、[Me.住所一覧.Requery]と、コードを1行記述するだけです。 初心者の方ということですので、一応コード記述の手順を説明いたします。 ・「地区名」テキストボックスをダブルクリック ・プロパティが表示されていない場合は「表示」→「プロパティ」をクリック ・「イベント」タブをクリック ・「更新後処理」の右端の「・・・」ボタンをクリック。 ・「コードビルダ」を選択して「OK」ボタンをクリック Private Sub 地区_AfterUpdate() | End Sub ・上記のようにコードが表示され、間の空白行に入力カーソルが点滅しますので、そのまま Me.住所一覧.Requery と入力します。 結果、最終的に記述コードは Private Sub 地区_AfterUpdate() Me.住所一覧.Requery End Sub となります。以上です。 「地区名」テキストボックスに数字を入力してEnterキーを押せば自動的にサブフォームの表示も変わるはずです。 (c)についてはフォームと同じ手順でそのままレポートで作ってみていただければ、似たようなものができるはずです。ですので、あとはグループ化、改ページなどを試行錯誤すれば、イメージどおりのものに仕上がると思います。

mk114
質問者

補足

すごくわかりやすく教えていただいて、ありがとうございました。(c)については、考えていたものに近いものを作ることができました。 でも・・・。 選択クエリで、 表示テーブルは[住所一覧テーブル]。 フィールドには[地区コード][住所]を選択。 [地区コード]フィールドの「集計」を「where条件]、 抽出条件を[forms]![個人名簿]![地区名]にします。 と、教えていただいたとおり入力すると「パラメータの入力」と表示され、ヘルプを参照しても恥ずかしながらよくわからないので、未だ滞ったままで悩んでいます。そのことについて教えていただければ非常にうれしいのですが…。

noname#1296
noname#1296
回答No.1

わかる点だけ・・・ b)住所関連は、Accessの機能でやってるんですよね?あれだと、融通が利かないし、辞書自体古いので、自分は、郵政省が発行している郵便番号データをテーブルに取り込んで(40MB近くになりますが)このデータを利用しています。住所をコンボボックスにして選択しても自動的に郵便番号を入れる仕様にしています。 http://www.moug.net/のフリーソフトの所にある「郵便番号辞書変換ツール」のサンプルを参照して下さい。

参考URL:
http://www.moug.net/
mk114
質問者

お礼

ありがとうございました。 郵便番号の件については、参考にさせて戴きました。 その他の質問に関する件についても、もしわかりましたら教えていただければ幸いです。よろしくお願いします。

関連するQ&A

  • アクセス2000のテーブルで・・・

    よろしくお願いします。 住所録を作っています。 テーブルには、「個人名簿」「地区一覧」「住所一覧」があります。 個人名簿のテーブルで、住所を入力するとき、地区と住所をそれぞれコンボボックスで入力できるようにしているのですが、、、 ここから質問です。 ある地区を選択すれば、その地区に含まれる特定の住所のみが住所のコンボボックスに現れるように出来ませんか? またその反対に、ある住所をコンボボックスから選択すれば、自動的にその住所が属する地区が表示されたり・・・。 わかりやすく教えてください。

  • アクセスのレポートで

    アクセス2000を使って、名簿管理をしています。 このたび、その名簿を使って宛名を印刷する事になりました。 しかし、「住所」というフィールドはあるのですが、「郵便番号」というフィールドがなく、「住所」のフィールドの中に一緒に打ち込んであるのです。 住所 064-XXXX△△札幌市中央区xxxx こんなイメージです。 これをなんとか郵便番号と住所に分けて、葉書の所定の場所に印刷したいのですが、良い方法はありませんか? 宜しくお願いします。

  • ACCESSで社員名簿作成。

    かなりの初心者です。社員名簿を作成しているのですが、新規社員のデータ入力時に自動的に社員番号を振る方法がありましたら教えてください。 社員番号は「入社年-その年に入社した順番」の形で、例えば「04-014」です。既に1500名ほどの社員に番号が付いてるのですが、新しく入社した方のデータを入力するフォームの社員番号のフィールドに「○○-○○○」と自動表示することは出来ますか? 分かる範囲で補足しますので、よろしくお願い致します。

  • はじめまして。質問させて頂きます。accessの入門者です。

    はじめまして。質問させて頂きます。accessの入門者です。 基本的は操作だとは思うのですが・・ アクセスで名簿一覧を作成しています。テーブルのひとつの項目は「氏名」「郵便番号」「住所」「住所コード」です。 もうひとつは「住所コード」「郵便番号」「住所」が一覧となってないっています。 そしてフォーム入力画面で、各個人の情報を入れて行くのですが、毎回住所を入力がめんどくさいので 「住所コード」を入力すればテーブルの一覧にある「住所」が出てくる!・・と言う事をしたいのですが、どなたかやり方をおしえていただけないでしょうか??

  • 名簿のデータを自動的に宛名ラベルにリンクさせる

    エクセルで名簿のデータを入力しています。(個人・団体・賛助・・・と複数の名簿データがあります。) 宛名ラベルはワードで差込印刷をしていて、それを保存させ毎年異動がある度に書き換えているみたいです。 この作業が面倒で、時間がかかって仕方ないです。 元データの名簿を入力したら自動的にラベルの方も変わるようにできないでしょうか?アクセスが一番いいみたいなのですが、職場のパソコンにはアクセスはありませんし、自分自身使ったことないので・・・。 出来れば関数かマクロ等でできれば・・・と思うのですが 一応自分なりに試作してみたのですが 名簿 a1:番号 b1:名前  C1:郵便番号 D1:住所 E1:住所2 宛名ラベルのb1にIF(ISERROR(VLOOKUP(A1,参加者名簿!$B$2:$G$105,3,FALSE)),"",VLOOKUP(A1,参加者名簿!$B$2:$G$105,3,FALSE)) a1に番号を入力すると名簿のデータが入るという感じにしたのですが、今の私にはこれがいっぱいいっぱいです。 住所2があるのとないのがあるので、セルの数が3つでいいのと4つ必要になる部分があるのですが、同じ形にすると4つで合わせるしかないので元データの入力されてない部分に番号を入れると()()()と表示されます。入力してない部分は表示しないようにできないのでしょうか? 他にもっといい方法がありましたら教えて下さい。 宛名ラベルは a1           b1→郵便番号   a2それぞれに番号入力  b2→住所 a3           b3→名前  をFまで同じように3×7列 パソコンは詳しくないので出来れば解りやすく教えていただけると助かります。 解り辛い説明で申し訳ないですが宜しくお願いします。  

  • Access]2つのテーブルを比較してフィールドの一部が一致したデータを抽出

    2つの名簿テーブルを比較してどちらのテーブルにも含まれている個人を抽出したいと考えております。 テーブル名とフィールドは以下のとおりです。 ==================== テーブル名「名簿A」 氏名 電話番号 住所 メールアドレス ==================== テーブル名「名簿B」 姓 名 電話番号 住所 メールアドレス ==================== たとえば、この2つの名簿をメールアドレスで一致したものを抽出する場合は選択クエリのデザインビューで「名簿A」のフィールドを読み込ませ、 メールアドレスフィールドの抽出条件として Like [名簿B].[メールアドレス] を入れれば抽出ができたのですが、メールアドレスは、名簿ごとに記入されていたりしなかったりするので、名前での一致を行いたいと思っています。 ここで問題なのが、名簿Aは「氏名」で入力されているのに対し、名簿Bでは「姓」と「名」が別フィールドになっております。 そこで自分なりにやってみたのが、選択クエリのデザインビューで「氏名」のフィールドの抽出条件として Like (*[名簿B].[姓]*) を設定するものでした。 これがうまくいけば最終的には Like (*[名簿B].[姓]*) And Like (*[名簿B].[名]*) という風にして、名簿Aの「氏名」フィールドに名簿Bの「姓」も「名」も入っているものを抽出できるかな?と考えたのですが、上記のように入力すると、自動的に Like ("*[名簿B].[姓]*") となってしまい、何も抽出されなくなってしまいました。 このような方法では希望する抽出は行えないのでしょうか? お分かりのかた、よろしくお願いいたします。

  • Access2007 です。

    大阪府の生徒マスターを作っています。郵便番号を入力した時点では正常に住所が表示されているのですがふと気が付くと、「北海道」に変わってしまっています。 全てではありませんがどうしてなんでしょうか? ちなみに郵便番号は、569-1029、569-0046、567-0023、などと入力しています。 同じ「569-0046」なのに、帯広市だったり、北見市だったりします。 何がいけないのでしょうか? フィールドは、郵便番号、住所、電話番号、等で、携帯番号フィールドはありません 『フリガナウィザード、住所入力支援、電話番号の入力規則』ありです。 ご指導のほどどうかよろしくお願いいたします。

  • 名簿の作成について

    Excelで名簿等を作成する際に、郵便番号から住所を表示したいのですが、どうすれば良いのか教えてください。

  • アクセス 定型入力について。

    アクセスで定型入力のルールについて困っています。 フィールド名が郵便番号とあり、定型入力プロパティで一覧から、郵便番号を選択しました。 このとき定型入力ウィザードに 「000¥-0000」 代替文字「*」としました。 まず、この代替文字がわからないということと。 定型入力プロパティが「000¥-0000;0;0*」になりました。この意味が理解できません。

  • Access入力済の郵便番号から自動的に住所入力

    Access2013 テーブルのフィールドにすでに入力してある郵便番号から、都道府県と住所の2分割に自動的に入力する方法を教えて下さい。 住所入力支援ウイザードで、個々に郵便番号を打ち込み入力し、都道府県と住所を自動入力することはできたのですが。 宜しくお願いします。