【質問】フォームで複数人の作業時間を入力する方法

このQ&Aのポイント
  • 複数の人数の作業時間を入力するフォームを作成しました。誤って入力したものをフォーム上で訂正したいので非連結のテキストボックスを2つ作成しました。
  • フォームの2つのテキストボックスに「日付」と「社員番号」を入力すると1レコードが表示されます。間違いを探すのに1日1日入力するのは手間なので、例えばAさんの1年分のレコードから1月1日から1月31までの31レコードをフォームに表示させるにはどうすればよいのでしょうか?
  • うまく説明できませんが、どうすれば解決できるでしょうか。
回答を見る
  • ベストアンサー

フォームに表示したいんですが・・・

複数の人数の作業時間を入力するフォームを作成しました。 誤って入力したものをフォーム上で訂正したいので非連結のテキストボックスを 2つ作成しクエリーの「作業日」と「社員番号」のフィールドの抽出条件をforms![フォーム名]![テキストボックス名]としました。 フォームの2つのテキストボックスに「日付」と「社員番号」を入力すると1レコードが表示されました。 間違いを探すのに1日1日入力するのは手間なので、例えばAさんの1年分の レコードから1月1日から1月31までの31レコードをフォームに表示させるにはどうすればよいのでしょうか? いろいろやってみたんですがうまく出来ませんでした。 うまく説明できませんがよろしくお願いいたします。

  • nazal
  • お礼率86% (20/23)

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

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

フィルターを作成して、それを、コマンドボタンで動作させれば出来ますよ フィルターを選択クエリーで作成し、パラメーターを設定します。 例えば、between[検索開始日付を指定]and[検索完了日付を指定]こんなパラメーターを、日付フィールドの抽出条件に指定して、[社員番号を指定]と言うパラメーターを、社員番号フィールドに設定して、名前を付けて保存します。 後は、マクロで、フィルターの実行を作成して、フォームにコマンドボタンを配置したら、そのコマンドボタンにマクロを割り当てれば、動作しますよ。

nazal
質問者

お礼

回答ありがとうございます。 「フィルタ」の作成方法なんですけど、クエリーのフォームビューの時に 「右クリック」→「フォームフィルタ」→「フィールド」にパラメータを入力して、 「名前を付けてクエリーとして保存」でよいのでしょうか? それからマクロを新規作成し「フィルタの実行」を指定して下の方の 「フィルタ名」に先ほど名前を付けて保存した「クエリー名」を入力、 そして「Where 条件式」にもなにか入力しなきゃいけないんですよね? 素人なもんでその辺がさっぱりなんですが、どんな事を入力すればいいの でしょうか? それともやり方全然違いますか?? すみませんが教えていただけないでしょうか、よろしくお願い致します。

関連するQ&A

  • 2段階の絞込み

    クエリ-を使って作業日と作業者の2つを絞り込んでフォームに 表示させようとしています。 作業者の抽出条件はForms![フォーム名]![テキストボックス名]にして 作業日も同じようにForms![フォーム名]![テキストボックス名]すると 作業日と作業者がきちんと表示されました。 これだと1レコードのみの表示になってしまうので「1人の作業者が200204月に作業した日全部」を表示するには作業日の抽出条件をどのように入力したらいいのでしょうか? いろいろやってみたんですが出来ませんでした。 このやりかただと出来ないのでしょうか? すみませんがよろしくお願いいたします。

  • access クエリ 検索フォームの作り方

    よろしくお願いします。 やりたいこと: フォーム上で、テキストボックスに入力した値を検索して表示したい。 本やウェブで調べて、なんとか一度はやっと出来たのですが、 誤って何かを変更してしまい、使えなくなってしまいました。 今となってはどの資料を見て作れたのかわからなくなりました。 やったこと: クエリ :クエリA   条件にforms!フォームA!txt0を入力 フォーム:フォームA ヘッダーに非連結のテキストボックスtxt0を作成 txt0の更新後処理:docmd.requeryを入力 しかし、txt0に入力しても検索されません。 フォームのプロパティのレコードソース欄にクエリAを選択するようですが、 選択するクエリ名が表示されないので、クエリ名を入力しましたがダメでした。 どこか間違っているのでしょうか。VBAまでは勉強できないので上記範囲内でお願いします!

  • Access2003でフォームにあるコマンドボタンで更にフォームを開く

    Access2003でフォームにあるコマンドボタンで更にフォームを開くときのVBA記述で困っています。 Access2003で社員情報管理のデータベースを作成中です。 社員の情報を入力するにあたり、【基本情報】と【詳細情報】とでフォームを分けてあり、【詳細情報】を入力したい場合は、"基本情報フォーム"にあるコマンドボタンをクリックして"詳細情報フォーム"を開くようになっています。 この際、"基本情報フォーム"で開いている社員の【社員番号】を"詳細情報フォーム"の【社員番号】欄にも自動的に表示させるため、以下のようなVBAを記述しました。 Private Sub コマンドボタン_Click() DoCmd.OpenForm "詳細情報フォーム" Forms![詳細情報フォーム![社員番号].DefaultValue = Me![社員番号] End Sub 【社員番号】は7ケタの半角英数で、社員によって、数字だけの場合と、英数混じっている場合とがあります(データ型はテキスト型にしてあります)。 困っているのは、 1.上記を実行した際に、数字だけの社員番号は問題ないのですが、英数混じりの場合だと"社員番号"テキストボックスが「#Name?」という表示になってしまう 2."基本情報フォーム"のコマンドボタンをクリックして新規の"詳細情報フォーム"を開き(社員番号のみが反映され、他の項目は空欄の状態)、詳細情報を入力→保存したあと、別の社員番号で"基本情報フォーム"を開き、コマンドボタンで"詳細情報フォーム"を開くと、前に入力した社員の情報が出てきてしまう。 (つまり、"詳細情報フォーム"のもととなるテーブルに、1行でもレコードがあると、それが出てきてしまう。) 【詳細情報】は、 1.データを入力する社員としない社員とがいる 2.新規でレコードを作成する場合と、既存のレコードを上書きする場合とがある ので、もととなる"詳細情報テーブル"にその【社員番号の】レコードがなければ新規入力画面を、レコードがあればそのレコードを呼び出す形にしたいのですが、英数混じりの表示の件も含め、どうすれば、正しく表示されるか教えていただきたいです。 ぜひぜひよろしくお願いします。

  • Accessであいまい検索するフォームをつくってみたんですが?

    Accessの初心者です。 本などをみながらあいまい検索ができるようなフォームをつくってみましたがフォームを開いた時、全レコードが表示されてしまいます。 クエリーの抽出条件はLike "*" & Forms!フォーム1!テキスト0 & "*"にしてテキストボックスプロパティの更新後処理でDoCmd.Requeryとしました。(意味がよくわからないんですけど) フォームを開いた時やテキストボックスになにも入力されていない時、全レコードが表示されないようにするにはどうすればいいのでしょうか? よろしくお願いします。

  • アクセスのフォーム上のテキストボックスについて

    アクセスのフォーム上のテキストボックスについて フォーム上のテキストボックスに直接数字を入力しようとしています。ただ、このテキストボックスのコントロールソースはフォームのレコードソースと違うものです。 この状況でテキストボックスに数値を直接入力しようとすると、『コントロールソースに連結しているので、編集できません。』と表示され、入力出来ません。 どうすれば、解決できるのかご存知の方、教えて下さい。宜しくお願いします。

  • ACCESS2003でクエリを使った検索フォームを作っています。

    ACCESS2003でクエリを使った検索フォームを作っています。 クエリは以下の様になっています。 ----------  番号   タイプ   品名  1111   AA     商品1  2222   AA     しょうひん2  3333   BB     商品しょうひん3 ---------- 品名のフィールドの抽出条件に ---------- Like "*" & [Forms]![品名検索フォーム]![品名検索] & "*" ---------- と入れています。 品名検索フォームは帳票タイプで、フォームヘッダーにテキストボックスを設け 「品名検索」と名前をつけています。 テキストボックスに【商品】と入力すれば番号1111と3333が、【しょうひん】と入力すれば 番号2222と3333が抽出されるように設定し、ここはうまく動きました。 ただ、このフォームを開いた際、テキストボックスは空欄になっているため、全レコードが 表示されてしまいます。テキストボックスが空欄の際は、何も表示したくないのですが どこを触ればいいのでしょうか? どうかよろしくお願いいたします。

  • フォームで検索画面を作成しましたがうまくいきません。

    社員マスタ(社員NO,社員氏名、生年月日、・・・)を元に、 社員の情報を検索できるフォームを作成したいと思い、本を片手に以下のように作成してみました。 (1)社員マスタを元に選択クエリ(Q_社員検索)を作成。 社員番号の抽出条件 [Forms]![Q社員検索]![社員番号検索]  または(抽出条件は二段に分けてます) 社員氏名の抽出条件 Like [Forms]![Q社員検索]![社員氏名検索] & "" & "*" フォーム(F_社員検索)には、社員番号検索と社員氏名検索のテキストボックスを配置し、コマンドボタン(検索ボタン)をテキストボックスの横に配置。 マクロ(M_社員検索)はアクションがフィルタの実行、フィルタはQ社員検索としています。 コマンドボタンのクリック時イベントにこのM_社員検索を指定。 F_社員検索からは、「社員番号」または「氏名」から社員の情報を表示させたいと思っています。 が、、実際に作成してみると下記のような不備が発生しています。 (1)社員氏名を社員氏名検索のテキストボックスに入力して、検索ボタンを押す→正しく結果が表示される。 (2)社員番号を社員番号検索のテキストボックスに入力して、検索ボタンを押す→結果が正しく表示されない (3)(1)の後に、続けて(2)を実行した場合、フォームには、2レコード表示されてくる。 になってしまいます。 原因がよく分からず、四苦八苦しています。 当方アクセス初心者レベルですので、簡単な解決があれば教えていただきたく思います。

  • 「非連結」=「フォームのレコードソースがカラ」

    アクセスについて質問です。 フォームを新規で作成し、テキストボックスを設置すると 「非連結」となりますが、 これは、「フォームのレコードソースがカラ」 と言う意思表示なのでしょうか?

  • フォーム上での絞り込みについて

    フォーム上での絞り込みについて 皆様、こんにちは。アクセス初心者です。 フォーム上での絞り込みを設定したいのですが、絞り込みのテキストボックスに データを入力してもQueryのデータが反映されません。 (1)クエリに[forms]![フォーム名]![絞り込みのテキストボックス名]と入力 (2)フォームのレコードソースへ上記のクエリ名、かつ絞り込みのテキストの更新後処理 DoCmd.Requery と記載しています。 この設定で他に何が足りないのかわからずここ何日か前に進めません。 大変初歩的な質問で恐れ入りますが、どなたかご教示いただけませんでしょうか? 何卒、よろしくお願いいたします。

  • Accessのフォームにて顧客番号を検索して無ければ新規作成したい

    Access2003のフォームで社員管理システムを作ろうとしていますが、VBAの記述でわからないことがあるので、教えてください。 まず、テキストボックス「txt_検索」に社員番号を入力し「cmd_検索」ボタンを押すと、社員管理テーブルの社員番号フィールドより検索をします。 社員管理テーブルに該当するレコードがある場合は、レコードの編集となり、社員番号がない場合はテキストボックス「txt_社員番号」に「txt_検索」の値を入れた新規レコードの作成としたいのです。 入力した値でレコードの検索をして、無いなら新規作成といったコードは どのような記述になるのか教えてください。 よろしくお願いいたします。