• ベストアンサー

パラメータ入力ダイアログボックスについて

access2003を勉強中です。 先日会社で使用する勤務表に関して質問をさせて頂き親切な方の協力によりなんとか進むことができました。 そして情けない話、またつまってしまってまして、本やネットにて調べているのですが解決できていません。 どなたかアドバイス頂けないでしょうか? 内容は ユーザー名、日付、出社、退社、勤務内容を入力するフォームが ありまして、「登録」コマンドボタンで入力した内容を勤務表 テーブルに反映させるようになっています。 フォームの中で「検索」コマンドボタンを作成し、イベントで インプットボックスを表示し、入力月のデータを勤務表テーブルから 取り出しフォームのリストボックスに表示させようとしています。 Dim inputatai as integer inputatai = inputbox("検索したい月を入力して下さい。") if inputatai => 0 AND inputatai <= 12 Then ,,,, 1から12が入力されれば勤務表テーブルから該当データを取り出し、 それ以外は再度入力を促すMsgBoxを表示しようとしていたのですが、、、 この場合条件分岐にSQLのSELECT文が使用できないことは わかったので一度コードを削除して他の部分にとりかかっていたの ですが、それ以降フォームを開くとパラーメータの入力ダイアログ ボックスが出るようになってしまい、どうしても出ないように できません。どうすれば出ないようにできるのでしょうか? どなたかご存知のかたよろしくお願いします。

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

  • ベストアンサー
  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

質問内容からじゃ・・・「何を、どうすれば」は、まったく判りません^^; が・・・恐らくです パラメータと言うことは、フォームのレコードソースが、フォーム上のコントロールを参照してるが、コントロールの名称を、変更した、削除した可能性があるという話(もしくは、フォームの名称の変更) 疑うなら、フォームのレコードソースか、レコードソースに使用しているクエリを、探して、正しいものに変更してみましょう これが、違ったなら・・・なんだろう^^;

leadman
質問者

補足

さっそくのアドバイスありがとうございました。 >フォームのレコードソースか、レコードソースに使用しているクエリ を、探して、正しいものに変更してみましょう 今、確認してみたのですが、特に問題なさそうです。 ただ、なぜ消したはずのコードの中の変数からパラメータの入力を求め られるのでしょうか? もうちょっと調べてみます。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.5

#1です > ただ、なぜ消したはずのコードの中の変数からパラメータの入力を > 求められるのでしょうか? パラメータ名は、何で要求されてます? コードの変数から・・・って「検索したい月を入力して下さい。」が出てるわけじゃないでしょ? 後は、コントロールのコントロールソース・・・クエリ側で削除、名前の変更かな?

leadman
質問者

補足

アドバイスありがとうございました。 いろいろ試した結果クエリに原因があることがわかり問題が解決 しました。 本当に感謝しております。また、何かありましたらよろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。
noname#140971
noname#140971
回答No.4

だとすれば、ANo3 の回答で間違いないと思います。

全文を見る
すると、全ての回答が全文表示されます。
noname#110201
noname#110201
回答No.3

SQLを編集したときに何か間違えたのではないでしょうか。 変数名をミスタイプしたとか、まちがえて一文字消してしまったとか、ピリオドやカンマがよけいに入っているとか。 あるいは、不要だと思って削除した部分を別のクエリで参照していたとか。 フォームも問題というよりはクエリじゃないですかね。 クエリに謎の変数があると、パラメータと考えて、その入力を求められます。 わたし自身が良くそういうのをやりますんで。

leadman
質問者

補足

アドバイスありがとうございました。 いろいろ試した結果クエリに原因があることがわかり問題が解決 しました。 本当に感謝しております。また、何かありましたらよろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。
noname#140971
noname#140971
回答No.2

VBAエディタのオプションで[モジュール全体の連続表示]がオフになっているとか・・・。

leadman
質問者

補足

さっそくのアドバイスありがとうございます。 確認しましたがモジュール全体の連続表示はオンになっておりました。 もうちょっと調べてみます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • コンボボックスの入力表示の消去

    アドバイスをお願いします。 [知りたいこと] 検索ボックス(コンボボックス)で検索した値を合致フォーム(フォーム)で開くとき、一緒に検索ボックス(コンボボックス)の値(入力表示)もクリアにしたい。 [セット条件] ・コンボボックス名:検索ボックス ・検索結果フォーム名:合致フォーム ・合致フォームを開くコマンドボタン名:開くボタン [お願い] 現在は、コマンドボタンをイベントのマクロでフォームを開くで設定している。コマンドボタンでフォームを開く設定をコードビルダで記述するスキルがない為、マクロで可能でしたらマクロで教えていただけませんでしょうか。マクロがダメなときはコードビルダでお願いします。勉強しますので。 以上ですが、宜しくお願いします。

  • コンボボックスで

    コンボボックスで、あるテーブルを参照してリストを出す場合、リスト中になかった場合に、コマンドボタンを押せばテーブルの追加フォームが出てきて入力できるようにしています。この場合に、入力フォーム内で終了(保存)ボタンを押せば、自動的にコンボボックスの中に入り、かつもう一度選択しなくても表示されているような操作はできないものでしょうか?

  • Access パラメータの入力をフォームで入力

    いつもお世話になっております。 Accessにて躓いています。宜しくお願い致します。 2万件以上のデータがあります。 データの中から、処理番号(ダブり無し)・年月日・件名の項目のみをクエリで取り出し、処理番号と件名でフォームで検索して表示するという事を行いたいと思います。 以下の手順で一連のものを作成したのですが、検索用フォームに検索したい文字を入れても「パラメータの入力」が出てきてしまい、検索用フォームがうまく働いていない状態です。 理想では「F処理検索」で絞り込みたい文字を各テキストボックスへ入力→検索ボタンをクリック→「処理」で絞り込んだデータを表示 としたいのです。 ~現状~ テーブル ・処理メインデータ(2万件のデータが保管されています) クエリ ・Q処理検索 テーブル「処理メインデータ」を基に左から「処理番号」「年月日」「件名」を充て、抽出条件として、「処理番号」と「件名」にそれぞれ 「Like"*"&[Forms]![F処理検索]![処理番号]&"*"」 「Like"*"&[Forms]![F処理検索]![件名]&"*"」 充てています。 フォーム ・処理(フォームビューで「処理番号・年月日・件名」の結果を出します) ・F処理検索(検索用フォームです。) 処理番号と件名を入力するテキストと、検索を実行する為のボタンを設置しました。 検索ボタンには、 プロパティ内クリック時の対応にマクロを下記の設定でセットしました。 アクション:フォームを開く フォーム名:処理 ビュー:フォームビュー フィル為:Q処理検索 Where条件式:空欄 データモード:空欄 以上、宜しくお願い致します。

  • Access2000:[パラメータの入力]ダイアログを表示されないようにするには

    初心者です。よろしくお願いします。 フォームが完成したあとで、クエリ/テーブルから削除したいフィールドが発生してしまいました。 削除したいフィールドのコントロールをフォームから消した後に、クエリ/テーブルからフィールドを削除しました。 削除したあとにフォームを開いたところ、[パラメータの入力]ダイアログボックスが表示されてしまいました。(メッセージは"開こうとしているフォーム名" クエリ:"削除したフィールド名"です) このダイアログボックスが表示されないようにしたいのですが、どうすればよいでしょうか。 ちなみに削除したフィールドは単なるテキスト型で、選択クエリでも抽出条件等は設定していませんでした。 初歩的な質問ですみませんが、よろしくお願いします。

  • コンボボックスを使った入力の改善

    コンボボックスを使った入力を全てのデータベースで利用しています。しかし、各コンボボックスがそれぞれ独立「単体動作」しているので、コンボボックスの初段目「最初」はレコード数が少ないのですが、2段目3段目になると選択候補が累積表示されるので、候補の数も多くなり使いづらさを感じるデータベースも増えました。この状況を改善したいと思っていますので、宜しくお願いします。尚、データベースで設定しているコンボボックス全てに言えることでもありますので、以下のケースを紹介させていただきますので、アドバイスをお願いしたいと思います。 [現状でのやり方] コンボボックス参照オブジェクトは以下の構成にて、コンボボックスは独立していて連動していません。なお、参照データの追加作業は別途作成したフォームを、データ入力フォームに配したコマンドボタンで開いて行っています。 [コンボボックス関連オブジェクト(例)] コンボボックス名:都道府県(値集合ソースで都道府県のみ選択) テーブル名:都道府県テーブル フィールド名:ID、都道府県 フォーム名(参照データ追加):都道府県追加フォーム ※「新規追加後の入力フォームへの即反映はアドバイスにより完結済」 コンボボックス名:市町村(値集合ソースで市町村のみ選択) テーブル名:市町村 フィールド名:ID、市町村 フォーム名(参照データ追加):市町村追加フォーム ※「新規追加後の入力フォームへの即反映はアドバイスにより完結済」 [改善させたいこと] コンボボックス「都道府県」で東京都を選択したとき、次のコンボボックス「市町村」では東京都の市町村だけが次の候補として表示させたいと思っています。又、現在は蓄積データの絞り込み検索で設定していますが、選択コンボボックスの次のコンボボックスを自動プルダウンさせ、候補も同時に表示させ入力できればと考えています。 以上ですが、宜しくお願いします。

  • アクセスVBA テキストボックス入力値からの参照

    マイクロソフトアクセス初心者です。 現在、アクセスでデータベースを作成しています。 2つのフォーム(フォーム(1)、フォーム(2))、2つのテーブル(入力情報、マスタ)、2つのテーブルをもとにした1つのレポートを作成しています。 『フォーム(1)』のテキストボックスAに入力された値を、Dlookup関数で『フォーム(2)』のテキストボックスBに数値を参照しています。 『フォーム(2)』のテキストボックスに表示された値を、『フォーム(2)』に設置されたコマンドボタンをクリックすると、VBAで『テーブル入力情報』のフィールドAに入力されるようにしています。フィールドAについてのマスタとなるテーブルが『テーブルマスタ』です。 リレーションシップを設定せず、ただ単に値を入力することは出来るのですが、レポートを作成するにあたって、『テーブル入力情報』と『テーブルマスタ』のフィールドAに1(テーブルマスタ)対多(テーブル入力情報)のリレーションシップを設定したいと思っています。 リレーションシップを設定し、テキストボックスBに表示された数値を『テーブル入力情報』に入力する際、『テーブルマスタ』から該当するデータを選択して『テーブル入力情報』に入力されるようにしたいと思うのですが、現状では、リレーションシップを設定すると、入力値が真っ白になってしまい、レポートにも入力したデータが反映されません。 ちなみに、入力する際はフィールドA=Me.テキストボックスBのようにしています。 何か良い解決策がありましたら、是非教えていただけませんでしょうか? 分かり難い文章かと思いますが、どうぞ宜しくお願い申し上げます。

  • ACCESS2002の入力値からフィルタをかける

    はじめまして 会社で商品マスタという、データベースのテーブルを持っています。 テーブルから、フォームフィルタを使って特定の番号・データを持ったものだけ抽出して表示する方法をよく使っていてわかるのですが、テーブルを直接触るので危険と思っています。 そこで、次のようなフォーム画面を作って誰でも抽出できるように運用しようとしています。 (抽出クエリを個々に作ってもらう案もありましたが・・実用的ではないので却下されてしまいました。) まず、フォーム画面に非連結のテキストボックス5個とコマンドボックス1個を設置して テキストボックスの5個の内、1個でも入力がある状態で[cmd]を押すと テキストボックスの内容で抽出したクエリを表示するという物を作りたいと思っています。 (テキストボックス5個全て入力した場合は、入力があるごとにandにしようと思っています。) ま た、5個全て入力がない状態で[cmd]を押したら、エラーメッセージを出したいと考えています。 フォームのデータ テキストボックス:[Tx1],[Tx2],[Tx3 ],[Tx4],[Tx5] コマンドスイッチ:[cmd] テーブルのデータ テーブル:[tb1],[tb2],[tb3],[tb4],[tb5],[tb6],[tb7],[tb8],[tb9] ボタンは、フォームの実行を選択しています。が、うまくいきません。 いろいろググっているのですが、ACCESS初心者ですので、『これが参考になる』過去ログとか、 『このHPが』とかもわかりません。 どなたかご教授願えないでしょうか? 細かく教えていただければ幸いです。

  • Access テキストボックスとコンボボックス

    Access初心者で、勉強がてらデータ登録フォームを作成しています。 フォーム上にコンボボックスを設置し、 テーブルに保存されているデータを検索できるようにしたのち、 テキストボックスのコントロールソースには簡単に 「=[コンボボックス].[column](2)」としています。(それぞれの名前は仮称です) 後から、テキストボックスひとつで 「コンボボックスからの検索結果を表示させる」と 「テキスト入力も可能とする」 を共存させたいと思い始めたのですが、可能になりますでしょうか。 ただし「コンボボックスからの検索結果表示」をしたテキストボックスに対し、 その情報をフォーム上で書き換えたとしても、テーブル側のデータ書き換えは行いたくありません。 よろしくお願いいたします。

  • Access2003 DateSerial関数について教えて頂けないでしょうか?

    いつも助けていただき感謝しています。 また、わからないことがでてしまいまして、どなたかアドバイス 頂けないでしょうか? 現在access2003にて勤務表を作成中です。 作成中に様々なアドバイス頂き大分進んだのですが今回は、、、 勤務表テーブルとフォーム1フォームがあります。 フォームにはユーザーを選択するコンボボックスと年月を検索する コマンドボックス(例えば2008年04月分の勤務を検索したい場合に押します。) があります。(他のコントロールもあるのですが今回は影響ないと思いますので省略します。) 検索コマンドボックスを押した際、ユーザーコマンドボックスにて選択されている ユーザーを使用。空白ならインプットボックスを表示させ検索したいユーザーを入力してもらい、 そのユーザーを使用します。 その後、さらにインプットボックスを表示し検索したい月を入力してもらい ユーザーの検索したい月の勤務をフォーム内のリストボックスに表示させたいのですが、、、 インプットボックスに入力された月をどのように勤務表テーブルの日付フィールドと比較 すればよいのかわかりません。 SQL文でユーザー名から勤務表テーブルのデータを検索selectできるところまでいったのですが 条件にインプットボックスの値を使用するようにためしてもうまくいきません。 DateSerial関数を使用するなどやってはみたのですが、、、どなたかアドバイスよろしく お願いします。 Private Sub コマンド90_Click() Dim user Dim userkensaku3 Dim username Dim userkensaku2 Dim kensaku Dim tukisuu Dim saisyouti Dim gennzai If IsNull(コンボ56) = True Then user = InputBox("検索したいユーザー名を入力して下さい。 " ) userkensaku3 = DCount("*", "ユーザー", "ユーザー名='" & user & "'") Else username = コンボ56 userkensaku2 = DCount("*", "ユーザー", "ユーザー名='" & username & "'") End If kensaku = userkensaku2 Or userkensaku3 If kensaku = 0 Then MsgBox ("検索したいユーザーは登録されていません。登録をするか、入力をやり直して下さい。") Else tukisuu = InputBox("検索したい年、月を入力して下さい。" & vbCrLf & vbCrLf & "例 2008/06", "検索年月入力画面") saisyouti = Format(DMin("[日付]", "勤務表"), "yyyy/mm") gennzai = Format(Date, "yyyy/mm") End If If tukisuu = "" Then MsgBox ("値が入力されていません。") ElseIf tukisuu < saisyouti Then MsgBox ("検索対象外です。入力をやりなおして下さい。") ElseIf tukisuu > gennzai Then MsgBox ("検索対象外です。入力をやりなおして下さい。") ElseIf user = "" Then リスト42.RowSourceType = "Table/Query" リスト42.RowSource = "select ユーザー名,日付,出社,出社属性,退社,退社属性,作業時間,作業内容 from 勤務表 " & _ "where ユーザー名 ='" & username & "' ;" End If End Sub

  • フォームでパラメーターを求められます

    フォームにコンボボックスを作りました。 コンボボックス(年指定)の中は、 2005 2006 2007 ・・・・・・・・・・・ といったような年度の位置づけです。 さらにコマンドボタンを作ってクリック時にマクロを指定しました。 マクロには、 アクションが「クエリを開く」があり、 クエリは普通の選択クエリで、 実績年フィールドの抽出条件に、 =[Forms]![フォーム1]![年指定]としました。 これでコンボボックスで選んだ年度のデータが抽出されて表示されるのかと思っておるのですが、 コマンドボタンを押すと、 パラメーターの入力を聞いてきます。(Forms!フォーム1!年指定) どこが間違っているのでしょうか? 情報不足かもしれませんが、ご指導ください。