アクセス自体の初心者です。よろしくお願いします。

テーブル:団体名
     個人名簿
     地区名
     住所一覧  を作ってあります。
(1)団体名のサブデータシートに個人名簿をつける。
(2)地区名のサブデータシートに住所一覧をつける。
(1)、(2)まではできました。

ここからが質問です。
a)個人名簿の地区名フィールドで地区名を選択すると、住所フィールドで地区名のサブデータシートを見られるようにしたい。
 今現在の設定では、住所フィールドに住所一覧のすべてのデータが表示される状態です。
b)さらに、住所を選択すると郵便番号が自動的に入力されるようにしたい。
 住所を手打ち入力すれば郵便番号は入力されるし、郵便番号を入力すれば住所も出るのだけど、今のまま住所を選択しても郵便番号は自動入力されない。
c)団体名のサブデータシートを一枚ずつ表示して、印刷できるようにしたい。(団体名ごとに個人名簿を表示印刷したい。)

 以上、質問自体をわかっていただけるかどうか不安ながらも、ご指導よろしくお願いします。

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

A 回答 (3件)

再び答えさせていただきます。


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

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

お礼日時:2001/12/21 11:10

ご質問の(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)についてはフォームと同じ手順でそのままレポートで作ってみていただければ、似たようなものができるはずです。ですので、あとはグループ化、改ページなどを試行錯誤すれば、イメージどおりのものに仕上がると思います。

この回答への補足

すごくわかりやすく教えていただいて、ありがとうございました。(c)については、考えていたものに近いものを作ることができました。
でも・・・。
選択クエリで、

表示テーブルは[住所一覧テーブル]。
フィールドには[地区コード][住所]を選択。
[地区コード]フィールドの「集計」を「where条件]、
抽出条件を[forms]![個人名簿]![地区名]にします。

と、教えていただいたとおり入力すると「パラメータの入力」と表示され、ヘルプを参照しても恥ずかしながらよくわからないので、未だ滞ったままで悩んでいます。そのことについて教えていただければ非常にうれしいのですが…。

補足日時:2001/11/21 09:22
    • good
    • 0

わかる点だけ・・・


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

参考URL:http://www.moug.net/
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/11/13 15:42

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

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

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

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

Qaccess2003 クロス集計クエリに抽出条件を設定する

QNo.3495024にて、「取引先ごとの月次売上(部品別および合計)」をフォーム形式で表示する方法を質問した者です。
1)クロス集計クエリの抽出条件としてこのコンボを設定
2)フォームに置いたボタンでクロス集計クエリまたはそれをソースにした別フォームを開く
という方法を教えていただきました。

昨夜から自分なりに調べましたが、1)のクロス集計クエリに抽出条件を設定する方法がわかりません。 昨日の今日で再質問も気が引けますが、時間がないので質問させてください! ご存知の方、よろしくお願いいたします。

Aベストアンサー

>クロス集計クエリに抽出条件を設定する方法がわかりません。
クロス集計クエリでもデザインビューは同じですよ
異なるのはクロス集計クエリではパラメータのデータ型指定を省略できないという点だけです

[クエリ][パラメータ]でパラメータ名とデータ型を指定してください

QAccessで郵便番号から住所を自動的に入力させるとき、常に最新の住所と郵便番号を組み合わせる方法を教えてください。

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

Aベストアンサー

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

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

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

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

Q住所録から2つ以上の条件で抽出する関数について

Windows Excel 2003で住所録から2つ以上の条件で抽出するにはどんな関数を使えばいいですか?

例えば住所録で『TELとFAXが異なっている番号の別々のセル』と『TELとFAXが同じ番号のセル(TELとFAXが同じなのでFAXのセルは空欄)』尚且つ『Eメールのある会社名』を抽出する関数はありますか?

Aベストアンサー

どういうレベルで要っているのかわかりませんが
>関数はありますか?
単独関数ではありません。2つ以上の関数を組み合わせたり、作業列を使ったりすれば出来るといえます。
単独の関数はあるとも無いとも言えるが、該当分行がつめたカタチでは単独の関数ではありません。
該当が飛び飛びで出てよいなら、IF関数で簡単に出来ます。これわかりますね。
A1 TELNO,B1 FAXNOとして
C1に =IF(A1<>B1,A1,"") D1に=IF(A1<>B1,B1,"")  でよいわけです。
 ここの質問に出るレベルは、ほとんど関数の組み合わせが必要です。
ーー
Googleで「imogasi方式」で照会してください。条件をかけて、抜き出す課題が相当数出てきます。
回答は
A.関数の組み合わせー作業列なし
B.関数の組み合わせー作業列を使うー>Imogasi方式など
などの回答が見られます。
もちろんフィルタやフィルタオプションの設定のお勧めの回答もあるでしょう。
私見では、A.の式が理解できたら、関数は9割5分は卒業です。
関数に拘らず、データ^フィルターフィルタオプションの設定
をお勧めします。(データーフィルタではないですよ)

どういうレベルで要っているのかわかりませんが
>関数はありますか?
単独関数ではありません。2つ以上の関数を組み合わせたり、作業列を使ったりすれば出来るといえます。
単独の関数はあるとも無いとも言えるが、該当分行がつめたカタチでは単独の関数ではありません。
該当が飛び飛びで出てよいなら、IF関数で簡単に出来ます。これわかりますね。
A1 TELNO,B1 FAXNOとして
C1に =IF(A1<>B1,A1,"") D1に=IF(A1<>B1,B1,"")  でよいわけです。
 ここの質問に出るレベルは、ほとんど関数の組み合わ...続きを読む

Q郵便番号→住所→住所のふりがな、のやり方教えてください。

WIN98、エクセル2000を使っています。

アンケートの入力の雛型を作っていますが、
セルAに郵便番号を入れてセルBに住所を一発で出し、さらにセルCにその住所のふりがなも同時に出せるようにはできないのでしょうか?
もちろんセルの順番はどうでもいいです。できればこの順番がいいけれど・・・。
LEFTとPHONETICを使って、住所欄から郵便番号は出せるようにしたのですが、どうも下4桁に該当がない場合など、郵便番号自体不正確になったりします。
何か良い方法はないでしょうか。

また、日付を入れる時、例えば、「0720」という入力だけで「07/20」と表示できる方法もあったら、あわせて教えてください。
どうもいろいろやったのですが、結局入力時に/を叩かないと、正しく表示されません。単にスラを入れるのが苦手なだけで、丁寧に入れればそう手間的に変らないのでいいのですが・・・。

よろしくお願いします。特にフリガナの方・・・。

エクセルは初心者なので、申し訳ない、詳しく優しくお願いしまーす!
(初心者のクセに仕事受けてはいけません、って言わないで~!)

WIN98、エクセル2000を使っています。

アンケートの入力の雛型を作っていますが、
セルAに郵便番号を入れてセルBに住所を一発で出し、さらにセルCにその住所のふりがなも同時に出せるようにはできないのでしょうか?
もちろんセルの順番はどうでもいいです。できればこの順番がいいけれど・・・。
LEFTとPHONETICを使って、住所欄から郵便番号は出せるようにしたのですが、どうも下4桁に該当がない場合など、郵便番号自体不正確になったりします。
何か良い方法はないでしょうか。

また...続きを読む

Aベストアンサー

こんばんは。#1です。

>添付ファイル、フロッピーなどにこの設定でシートを入れて、 そこに入力して貰う)生きているのですか

生きてます。

>日付として認識してくれるのでしょうか?

えいと、日付として考えてしまうと、へんちくりんな日付として認識されてしまいます。(たとえば、明治何年とか。)
どうすればいーんだろう?
我慢して「/」を入れるしかないのでしょうか?

中途半端な知識ですいませんです。

Q別シートに複数条件を選択すると抽出され合計値がでてくるような関数はありますか

毎日、以下のような作業内容が手元にくるのですが今までは手でノートに振り分け管理していたのですが、エクセルの関数で別シートに複数条件を選択すると抽出され合計値がでてくるような関数はありますか。
よろしくお願いします。

↓毎日くる作業内容です。
ex)これを日ごとにシートに入力して、別シートに項目の班替え選択→内訳選択→班長を選択→形を選択→該当する全日付から時間が抽出され合計時間がでてくる

Aベストアンサー

条件をかけるとして、条件該当の明細を必要としているのか、合計だけでよいのか、質問ではっきりしない。添付画像通常は小さくなり見にくい。
質問文に簡略化した1例(10行以内でよい)を挙げて質問すべきだ。要点を掴む能力と思考力が鍛えられる。
>ex)これを日ごとにシートに入力して、別シートに項目の班替え選択→内訳選択→班長を選択→形を選択→該当する全日付から時間が抽出され合計時間がでてくる、の部分。
4条件で加算の例か。
====
条件該当分の明細を出すなら
データーフィルタオプションの設定で出来るはず。
関数関数と言うが、エクセルは第1的には、操作の体系のソフトですよ。他シートにデータを出すのは、他シート側で操作を始めてください。
ーー
関数なら、自称「imogasi方式」で出来ると思います。
Googleで「imogasi方式」で照会すれば数百の例が出ると思います。
現データシート(Sheet1)条件該当分の行にだけ、上の行から順に連番をフリ(式の複写を使う)、他シート(Sheet2)で
Sheet2の行1に-->Sheet1の連番1の行をINDEX関数で持ってくる。
Sheet2の行2に-->Sheet1の連番2の行をINDEX関数で持ってくる。
・・以下同じ。
これを式の複写で自動で行える。
=====
合計だけで良いのなら、多分、条件が多数のものに対する合計をほしい、になり、条件値の組み合わせを手作業でセルにセットするのか、操作関数で出すのかも質問に書いてない。合計を出すより、この条件データを揃える方が、いつも言っているが、難しい。
>複数条件を選択すると抽出され合計値がでてくるような関数
これが文字通り合計計数だけでよいなら、毎日ここに質問が出る
SUMPRODUCT、SUMIFSのどちらかをつかえだけ。質問にエクセルバー順が書いてないのは、エクセルの勉強経験不足。
2007で便利な関数が出来たのは有名な話。

条件をかけるとして、条件該当の明細を必要としているのか、合計だけでよいのか、質問ではっきりしない。添付画像通常は小さくなり見にくい。
質問文に簡略化した1例(10行以内でよい)を挙げて質問すべきだ。要点を掴む能力と思考力が鍛えられる。
>ex)これを日ごとにシートに入力して、別シートに項目の班替え選択→内訳選択→班長を選択→形を選択→該当する全日付から時間が抽出され合計時間がでてくる、の部分。
4条件で加算の例か。
====
条件該当分の明細を出すなら
データーフィルタオプション...続きを読む

Q郵便番号と住所について。

Access2000で住所録をつくっています。

郵便番号を入力して変換すると住所になる、というIMEの機能はわかったのですが、郵便番号と住所を別の欄につくったので、郵便番号を入力したら自動で住所欄に住所が入るようにしようと思い、郵政省のところから住所録(全国版)を持ってきました。

これを「住所録」というテーブルにしました。
フィールドとしては
・郵便番号
・都道府県
・市町村
・町名
の4つです。

これを使い自動で入力を行うような状態にしたいのです。
郵便番号を入れると自動で入力されるようにする、というのはなんとかできそうなのですが、逆のパターンの場合にどうしたらいいか考えています。
(例えば同じ町名でも番地によって郵便番号が違うのはどうしたらいいか・・・など。)

また、「北海道」と都道府県に入力したら市町村のところには北海道の市町村しか出ないようにするにはどうしたらよいでしょうか?(町名もおなじく。)
やはり都道府県別にテーブルを作ったりする必要が出てきますか?

よろしくお願いします。

Aベストアンサー

くちをはさんですいません。

郵便番号の逆引き住所入力支援でできると思いますが。

Qエクセルにおいて複数の条件から抽出することができる関数(式)を教えてください。

皆さんどうか教えてください

エクセルにおいて複数の条件から抽出することができる関数(式)を教えてください。

400  70円  ad   6個
700  60円  da 7個  
100  30円 ad   9個
400  50円  ad   10個


などの表で、400で70円でadなものの数を求める
条件で数値を求めるにはどうすればいいのでしょうか

また条件にあったデータに6個などの数値をかけて合計した数値を求めるにはどうすればいいのでしょうか

関数でできる方法をお願いします。


あと”なおかつ”などの条件を行う関数も教えてください

どうかヨロシクお願いします。

Aベストアンサー

#4さんの回答で解決しませんか?

1行に複数のデータが入力されており、全ての列を満たす行数をカウントしたいということですか?
カウント対象が1万行あるとすると
=SUM((A1:A10000=A列の条件)*(B1:B10000=B列の条件)*(C1:C10000=C列の条件)*(D1:D10000=D列の条件)・・・)
と必要なだけ入力し、ctrlキーとshiftキーを押しながら
enterキーで式を確定して下さい。そうすると式が
{=SUM((A1:A10000=A列の条件)*(B1:B10000=B列の条件)*(C1:C10000=C列の条件)*(D1:D10000=D列の条件)・・・)}
という風な括弧で括られます。(配列数式になる)

列の条件は、数値ならそのまま、文字列なら""で囲います。
セルを指定しても構いません。
(1行目と同じ場合のみカウントという事であれば=A$1等となる)

もし、例の場合でいう400でadの場合の金額*個数を求めたいなら
(例では70円*6個+50円*10個で920円)
=SUM((A1:A10000=400)*(C1:C10000="ad")*(B1:B10000)*(D1:D10000))
をctrlキーとshiftキーを押しながらenterキーです。

後は応用です。

#4さんの回答で解決しませんか?

1行に複数のデータが入力されており、全ての列を満たす行数をカウントしたいということですか?
カウント対象が1万行あるとすると
=SUM((A1:A10000=A列の条件)*(B1:B10000=B列の条件)*(C1:C10000=C列の条件)*(D1:D10000=D列の条件)・・・)
と必要なだけ入力し、ctrlキーとshiftキーを押しながら
enterキーで式を確定して下さい。そうすると式が
{=SUM((A1:A10000=A列の条件)*(B1:B10000=B列の条件)*(C1:C10000=C列の条件)*(D1:D10000=D列の条件)・・・)}
という風な括弧...続きを読む

Q住所から郵便番号を入力したい

現在、顧客マスタがありますが郵便番号は入っていません。
これに簡単に郵便番号を加える方法はありますか。

#顧客IDはオートナンバーでこれは変更はしない方法希望。
#VBAは未経験。
#住所のフィールドはあります。

Aベストアンサー

> VBAは未経験
とありますので、Accessであると判断します。

まず、下記、郵政公社のページより、郵便番号と住所の一覧をダウンロードします
http://www.post.yusei.go.jp/zipcode/dl/kogaki.html
一覧のCSVをインポートし、新たに郵便番号用のテーブルを作成し、
顧客マスタと関連付けてクエリを作ればできると思います。

不明点があればなんなりと再質問してください。

Q条件に合うデータを抽出する関数

EXCELで、条件に合うデータを抽出し個数を表示させたいと思っています。
ただしSUMPRODUCTなどの『複数条件の設定』ではなく、『特定の文字列を除く』
という形で設定したいのですが、そのような関数はありますか?

Aベストアンサー

=COUNTIF(範囲,"<>*文字列*")
で出来ませんか?
=SUMPRODUCT(ISERROR(FIND("文字列",範囲))*1)
でも同じに出来ますけど...

Q住所から郵便番号を付与するには?

はじめましてBOLTSです。
現在ACCESS2000を使用しているんですが、業務上、住所データを管理しています。クライアントによっては住所のみが
入っていて郵便番号が入ってないものがあります。
以前はAISOFTの「GoGo Seven」を使って郵便番号を付与していたんですが、最近そのデータも古くなってきて変換効率が落ちてきました。
AISOFTでは今後「GoGo Seven」の開発を行わないらしくバージョンアップは期待できないので困っております。
これに似たようなソフトをどなたかご存知ですか?有償無償は問いませんが、業務で使うものなのである程度の信頼性のあるものを捜しています。

またそういうソフト以外に他に郵便番号を付加できる方法があれば教えてください。
お願いします。

Aベストアンサー

>郵便番号が入ってない住所データにフィールドを指定してあげるだけで一括で付与できたりします。

ほほぉ、それをAccess上でできるわけですね。なるほどぉ、勉強になりました。ありがとうございます。
(って、これは回答だったっけ。)

重要な点は pmmaohmさんの回答で解決したみたいなので、Access派からひとつ・・・

住所->郵便番号の変換は、
>「~が丘」とか「~ヶ丘」
や、空白有/無、英大文字/小文字、数字/漢数字などの表現の違いを吸収するため表現を統一したフィールドを作成し、いったん、空白なし、英数字大文字、「ヶ丘」などにあわせてから、変換するという2段階でできます。


人気Q&Aランキング