• ベストアンサー

Yes/No型のデータ抽出

Access97で出面管理(出勤簿)を作成しています。 レポートを印刷する際請求を出す都合上、自社社員分と応援社員分とを分けるため社員名と所属が自社か応援かを分けるためのテーブルを作成しました。 その分類方法はYes/No型(True=応援社員、False=自社社員)に設定しました。 その際、氏名を選択すると自動で自社/応援かが認識できるようにしました。 その後、必要なテーブル・クエリー等を設定し、フォームから入力してみると 自社社員としてしか認識しません。 そこで該当するテーブルから入力(氏名=テキスト型・自社/応援=Yes/No型 チェックボックスONで応援扱い)するとフォーム・レポートでも 認識してくれます。 しかしこの方法では毎日同じ応援社員がいた場合その都度チェックボックスを Onにしなければならず非常に厄介です。 しかもデータが毎日蓄積されるのでしばらく入力を忘れたりするとそれこそ手間がかかってしまいます。 どのように設定(テーブル・クエリー・リレーション等)を変更してやれば 良いのかアドバイスお待ちしております。 ちなみに現時点ではフォームから入力する際、氏名をコンボボックスで選択でき その後連動して所属が決定するようになってます。

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

  • ベストアンサー
回答No.2

neiさんの言うとおり、社員区分のマスターテーブルを作るのがいいと思います。 今お使いのテーブルの社員のフィールドを社員区分マスターの社員コードに置き換えてあげることで、いちいち自社社員・応援社員の区別を今お使いのテーブルで入力しなくても良くなります。 レポートやフォームでの出力も、社員区分マスターテーブルの社員区分が1のもの、2のものを取り出すクエリーをつくってあげれば簡単だと思いますよ。 あと、Accessのサポート掲示板なんかを利用するのもいいかもしれません。 検索すると色々出てきますよ。下記URLからリンクをたどっていくのもいいかもしれません。 がんばってください。

参考URL:
http://www.acc.gr.jp/kb/index.shtml
hidemon
質問者

お礼

回答有難うございました。 非常に分かりやすく、またHPも紹介していただき参考になりました。

その他の回答 (1)

noname#166310
noname#166310
回答No.1

ちょっと考え方は違うのですが、 社員区分マスター(テーブル)を作り、社員マスター(テーブル)とリレーションを組んではダメなのですか? 社員区分マスターで、1が自社社員、2が応援社員等にしておけばマスター管理が楽だと思うのですが・・。

hidemon
質問者

お礼

回答有難うございます。 非常に分かりやすい説明で何とかなりそうです。 早速トライしてみようと思います。

関連するQ&A

  • Accessで一致したデータを表示させたい

    Accessについて教えてください。 Accessで以下のようなテーブルを作っております。 (T1)テーブル1(社員データ) 社員NO オートナンバー 所属 テキスト型 氏名 テキスト型 (T2)テーブル2(面談データ) NO オートナンバー 日付 日付/時刻型 面談者氏名 テキスト型 面談者企業名 テキスト型 社員NO1 数値型 社員NO2 数値型 社員NO3 数値型 社員NO4 数値型 社員NO1,2,3,4はテーブル1の社員NOとリレーションでつながっています。 (T1)社員NO、(T2)NO以外のデータを最終的にレポートで表示します。 ここで、クエリ、フォーム、レポートをいづれでも作成するときですが、 日付(T2) 面談者氏名(T2) 面談者企業名(T2) 社員NO(T1)(非表示) 社員NO1の所属(T1) 社員NO1の氏名(T1) 社員NO(T1)(非表示) 社員NO2の所属(T1) 社員NO2の氏名(T1)・・・(社員NO3、4と続けて) という風に作りたいです。 クエリ、フォーム、レポートで作成すると、社員NO1(T2)の所属(T1)氏名(T1)、しか表示されません。(これでは当たり前かもしれませんが・・・) 社員NO2、3、4の所属、氏名も表示させたいです。 フォームやクエリ、レポートで社員NO2、3、4(T2)のデータと一致する社員NO(T1)の所属、氏名を表示させる方法はどのようにしたらよろしいでしょうか。 どうかよろしくお願い致します。

  • yes/no型 抽出について

    初めてメールさせていただきます。 よろしくお願いします。 個人情報をデータベース化にすることを考えています。 yes/no型で、施設情報1から6個の項目を該当する内容だけ チェックして、それぞれ集計したいと思います。 例えば Aさんは、1、4、6 Bさんは、1、4 をチェックして、 チェックボックスで、1と4をチェックするとAさんとBさんが集計され、6だけチェックするとAさんだけ集計されます。 テーブルはT_個人情報 ID,氏名,カナ,住所1,住所2,施設情報1,施設情報2,…施設情報6 です。 どのようにクエリを作成して抽出すればよいでしょう。 OSはXP アクアセスバーションは2000です。 よろしくお願いいたします。

  • Access2003でコンボボックスからデータを抽出したい

    自己啓発でAccess2003を勉強しています。 Access2003でコンボボックスで名前を選択して、データ(住所)を抽出したものをリストボックスに表示させたいのですがどこがまちがっているかわかりません。こんなことで3週間ぐらい悩んでいます。 回答またはアドバイスをお願いします。 もしくはもっと簡単なやりかたがあればお願いします。 (1)「氏名」、「住所」のテーブルを作成。テーブル名は「01データ」 (2)「氏名」、「住所」のクエリを作成。クエリ名は「クエリ1」 (3)フォームでコンボボックスとリストを作成。フォーム名は「印刷」 ⇒コンボボックスの名前は「検索」。 ⇒値集合ソースはSELECT [01データ].ID, [01データ].氏名 FROM 01データ; これで「氏名」が選択できた。 (4)クエリの「氏名」抽出条件にLike [forms]![印刷]![検索] (5)検索するマクロを作成。マクロ名「M検索」 アクションは 全レコードの表示 フィルタの実行 ⇒Where条件は[Forms]![印刷]![検索]=[クエリ1]![氏名] (6)マクロ「M検索」をコンボボックスのプロパティ「イベント」タブから変更時に設定する。 (7)フォーム「印刷」を開き、コンボボックスで氏名を選択すると『クエリ1!氏名』と表示されてしまいます。 (8)フォーム「印刷」のリストボックスは全レコードが表示されている。

  • データのコード化とは?

    Access97でデータベースを構築しているのですが、複数のテーブルで共有するデータをコード化する方法を教えてください。 簡単にいいますと テーブルAで名前と所属を記入(以後名前は選択できるようになり、同時に所属も連結して選択)つまり氏名・所属の登録的役割。 テーブルBはあるフォーム上で名前を選択する (本当はここで所属も自動で選択されるはず)が所属が正しくない。 ちなみに所属はYes/Noで分類してあります。 ここでテーブルBをフォーム上からではなくテーブル自体で選択すると フォーム・レポート上でも正しく認識します。 この問題を解決するためにコード化が必要だとアドバイスいただいたのですが 具体的にどうすればいいのか教えてください。

  • AccessクエリでYes/No型データの抽出

    AccessクエリでYes/No型データの抽出条件について教えてください。 フォーム上のオプショングループにオプションボタン 1:Yes 2:No 3:両方 の3つを作成し、選択したオプション値によって抽出条件を変えたいのですが、 Choose([Forms]![オプショングループ名],-1,0,-1 Or 0)とすると3:両方を選択した際に、Yesのデータしか抽出できませんでした。 ただ、-1 Or 0 を -1 Or 1 としたら、両方抽出されました。 処理的には解決できたのでOKなのですが、理由がわからずちょっと気持ち悪いので。。。 よろしくお願いいたします。

  • アクセスレポートの抽出表示

    アクセス初心者です。よろしくお願いします。 現在3つのテーブルデータをクエリで結合し、レポートに表示させています。(フォームは使ったことがありません) 内容をレポートで確認したりしたいのですが、その都度クエリで社員番号を抽出条件に入力し、レポートを表示させているのですが、社員番号を入力すると該当のレポートを表示させる方法は何かないでしょうか?

  • Accessでテーブルにあるレコードが、選択クエリで抽出されない

    Accessについての質問です。 社員名簿を作ろうと思い入力用のフォームを作成して、そこから新入社員の氏名や部署などを入力しました。 それで、テーブルの内容を見ると新入社員の氏名や部署などは入っているのですが、 選択クエリを使って、新入社員の氏名で検索をしても引っ掛かりません。 テーブルに存在しているレコードを検索しても、引っ掛からないのはなぜでしょう?

  • Access2000で複数の検索項目を作りたいのですが・・・

    こんにちわ。 今、Accessで社員録を作成しているんですが、複数の検索について教えて下さい。 ■テーブル テーブル名:社員録 フィールド名:ID・検索名・氏名・所属ID・所属 ■クエリ クエリ名:社員録クエリ フィールド名:ID・検索名・氏名・所属ID・所属 検索名抽出条件:検索名フィールド: Like [Forms]![社員録 縦]![けんさく]         所属フィールド: Like [Forms]![社員録 縦]![抽出検索名] ■フォーム フォーム名:社員録フォーム:テキスト1・テキスト2・ボタン1       社員録サブフォーム:データソース:社員録クエリ テキスト1:所属を入力 テキスト2:検索名を入力 ボタン1:マクロの再クエリを実行する ■ここからが質問です■ (1)テキスト1又は、2が空白のとき社員録全体から検索かフィルタ。 (2)テキスト1・2が、入力されてる時、両条件から検索かフィルタ。 をしたいのですが、何かいい方法がありましたら教えて下さい。 説明が、長くなってしまってスミマセン。。。

  • Access2010 更新データ反映のレポート印刷

    質問の仕方が悪かったようなので、もう一度質問いたします。 Access初心者です。 新規データを入力しても、レポートが更新されずに困っています。 エクセルデータをAccess2010にインポートして、元テーブルを作成しました。 元テーブルを元に、フォーム・レポート・検索クエリ(年度別・分類別)等を作成しました。 データが入力されているテーブルは、この元テーブルのみです。それ以外のテーブルはありません。従って、全てのクエリは、この元テーブルを元に作成しております。 フォームを作成しているときに、コンボボックスを作成し、コンボボックスのコントロールソースは、全て、その場で作成しました。(コンボボックス用のテーブルは作成していない) また、郵便番号から住所を入力できるように設定してあります。 ここまでの作業で、新規データの入力はありませんでした。 ところが・・・ 新規データをフォームに入力すると、元テーブルは更新されますが、元テーブルを元に既に作成しているレポートには、新規レコードが表示(反映)されません。 しかし、レポートフッターに設定してある「Count(*)」は、新規レコードを含んだ数字を返しています。 更新されている元テーブルを元に、もう一度レポートを作成しなおしても、新規レコードは表示されません。 ホームタブの「全て更新」ボタンをクリックしても、新規レコードはレポートには表示されません。 どうしたらよいのでしょうか??? どなたか、初心者でもわかるように、教えていただけないでしょうか? 宜しくお願いいたします。

  • クエリの抽出条件

    クエリの抽出条件に [担当者を選んでください] クエリを開いた際に、担当者をドロップダウン一覧から選べるようにしたいのですが [Forms]![フォーム名]![コンボ名]は分かるのですが・・・ フォーム名とは、何を入力すれば良いのでしょうか? コンボ名はコンボボックスを作成した担当者名だと思いますが・・・? 基本的に1つのテーブルに全部の項目を入力し、クエリーを作成しています フォームは作成していました。 しかし、フォーム名を入力しても、コンボボックス名を入力しても[担当者を選んでください] の場所の名前が変わるだけなんです?? ご回答の程、よろしくお願い致します。

専門家に質問してみよう