意図しないパラメータの入力が表示される

このQ&Aのポイント
  • 既存データベースにある顧客情報をaccessで検索や登録を行おうとしています。検索後は帳票フォームで一覧を表示していてその後に詳細情報を開くようにしたいです。パラメータの入力には利用者のIDが表示され、パラメータにその表示されているIDを入力すると詳細情報が表示されますが、空欄のままOKを押すと何も書かれていない詳細情報が表示されます。このパラメータの入力を表示しないですぐ詳細情報のコマンドボタンを押すと詳細情報を開きたいのですが・・・
  • 顧客情報をaccessで検索や登録したいが、パラメータの入力が意図しないタイミングで表示される問題が発生しています。パラメータに利用者のIDを入力すると詳細情報が表示されますが、空欄のままOKを押すと詳細情報が表示されません。パラメータの入力を表示せずに詳細情報を開くためのコマンドボタンを作成したいです。
  • accessで顧客情報を検索や登録する際にパラメータの入力が意図しないタイミングで表示される問題が発生しています。パラメータに利用者のIDを入力すると詳細情報が表示されますが、空欄のままOKを押すと詳細情報が表示されません。パラメータの入力を表示せずに直接詳細情報を開くためのコマンドボタンを作成したいです。
回答を見る
  • ベストアンサー

意図しないパラメータの入力が表示される

既存データベースにある顧客情報をaccessで検索や登録を行おうとしています。 検索後は帳票フォームで一覧を表示していてその後に詳細情報を開くようにしたいです。 1度ここで質問をして解決したのですが、今回なぜか その「詳細情報を開くためのコマンドボタンを押す」とパラメータの入力という検索クエリなどを使った時のようなものがでてきます こちらが詳細情報を開くためのコマンドボタンに入れているイベントプロシージャです Private Sub コマンド60_Click() On Error GoTo Err_コマンド60_Click  Dim stDocName As String  Dim stLinkCriteria As String  stDocName = "詳細情報(利用者名)"  stLinkCriteria = "[riyou_id]=" & Me![riyou_infotb_riyou_id]  DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_コマンド60_Click:  Exit Sub Err_コマンド60_Click:  MsgBox Err.Description  Resume Exit_コマンド60_Click End Sub パラメータの入力には利用者のIDが表示され パラメータにその表示されているIDを入力すると詳細情報がでるのですが 空欄のままOKを押すと何も書かれていない詳細情報が表示されます。 このパラメータの入力を表示しないですぐ詳細情報のコマンドボタンを押すと詳細情報を開きたいのですが・・・ 知恵をお貸しくださいお願いします。

noname#135452
noname#135452

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

パラメータの仕組みはAccessにとって不明なものがあると 入力を要求すると言うだけのものです すなわち、パラメータを聞いてくるということは そこに書かれているものがAccessにとって不明なものだからです >利用者のIDが表示され 利用者IDのデータ型は何でしょう? テキスト型なら stLinkCriteria = "[riyou_id]='" & Me![riyou_infotb_riyou_id] & "'" 値を渡すようにしなければAccessは利用者IDをフィールド名だと勘違いしてしまいますよ

noname#135452
質問者

お礼

ありがとうございます! 解決できました^^ たすかりましたぁ~~

関連するQ&A

  • 帳票フォーム後のレコード指定

    利用者名と利用者IDと電話番号で検索ができるアクセスを作っています。 以前質問した内容で利用者名での検索のみ、検索後の帳票フォームで開いた後開きたいレコードを直接「詳細情報」のボタンを押すことで別のフォーム(詳細情報)を表示できるのです。 利用者IDも電話番号も利用者名と同じ構成で書いているのに検索後の帳票フォームで表示されたあとレコードを選んでも検索後の1番最初のレコードが詳細情報として出てきてしまいます。 たとえば検索して4件が帳票フォームに表示出たとして、3件目を選んだとします、ですが詳細情報の最初に出てくるのは1件目なのです。 3件目を選んだら3件目が詳細情報として表示してほしいのですが・・・ なぜか利用者名だけできて他ではできません。 これちらがそのイベントプロシージャです。 Private Sub コマンド59_Click() On Error GoTo Err_コマンド59_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "詳細情報" stLinkCriteria = "[riyou_id]='" & Me![riyou_infotb_riyou_id] & "'" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_コマンド59_Click: Exit Sub Err_コマンド59_Click: MsgBox Err.Description Resume Exit_コマンド59_Click End Sub 帳票フォームは3つありそれを1つの詳細情報のフォームへ繋げてます。 3つのイベントプロシージャの変更点はボタンの名前しか変えていません。 回答よろしくお願いします。 下手な質問の仕方で申し訳ないです・・・

  • アクセスのイベント記述について。

    あるフォーム(患者IDで検索した結果を表示した表形式のフォーム)でコマンド30をクリックしたら、別の入力画面が開くように設定したのですが、患者IDのみ一致したフォームが開くようにはなったのですが、これプラス、依頼日も一致したフォームが開くようにしたいです。以下の記述に変更を加えるとしたら、どのようにしたらよいのでしょうか?よろしくお願いいたします。 Private Sub コマンド30_Click() On Error GoTo Err_コマンド30_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = ChrW(81) & ChrW(58) & ChrW(26908) & ChrW(20307) & ChrW(21029) & ChrW(20837) & ChrW(21147) & ChrW(-238) stLinkCriteria = "[患者ID]=" & Me![患者ID] DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_コマンド30_Click: Exit Sub Err_コマンド30_Click: MsgBox Err.Description Resume Exit_コマンド30_Click End Sub

  • アクセスのイベント記述について追加質問です。(その2)。

    大変恐縮なのですが、先ほど締め切ったばかりの質問に追加質問です。あるフォーム(患者IDで検索した結果を表示した表形式のフォーム)でコマンド30をクリックしたら、別の入力画面が開くように設定して、患者IDと依頼日が一致したフォームが開くようにはなったのですが、これプラス、検体名も一致したフォームが開くようにしたいです。以下の記述に変更を加えるとしたら、どのようにしたらよいのでしょうか?何度もすみませんが、よろしくお願いいたします。 Private Sub コマンド30_Click() On Error GoTo Err_コマンド30_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = ChrW(81) & ChrW(58) & ChrW(26908) & ChrW(20307) & ChrW(21029) & ChrW(20837) & ChrW(21147) & ChrW(-238) stLinkCriteria = "[患者ID]=" & Me![患者ID] stLinkCriteria = stLinkCriteria & " AND [依頼日]=#" & Me![依頼日] & "#" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_コマンド30_Click: Exit Sub Err_コマンド30_Click: MsgBox Err.Description Resume Exit_コマンド30_Click End Sub

  • 検索時のみデータの変更を不可

    検索条件を入力するフォームA、検索でヒットしたレコードを表形式で表示するフォームB、フォームBにて詳細ボタンをクリックすると、単票形式のフォームCを表示する設定にしてあります。 このうち、フォームCはデータを入力するときに使用しています。 検索でヒットさせた場合のみ、フォームCのデータを変更できないようにするにはどうしたらいいでしょうか? よろしくお願いします。 下記のVBAが、フォームBの詳細ボタンをクリックしたときに、フォームCを開くためのコードです。 このVBAのどこに入れたらいいでしょうか? よろしくお願いします。 なお、このVBAはウィザードで作成されたものです。 Private Sub cmd詳細_Click() On Error GoTo Err_cmd詳細_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = ChrW(102) & ChrW(114) & ChrW(109) & ChrW(-28982) & ChrW(20001) & ChrW(12487) & ChrW(12540) & ChrW(12479) stLinkCriteria = "[ID]=" & Me![ID] DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_cmd詳細_Click: Exit Sub Err_cmd詳細_Click: MsgBox Err.Description Resume Exit_cmd詳細_Click End Sub

  • アクセスのイベント記述について。

    アクセスのあるフォームA上にある詳細ボタンをクリックすると別のフォームCが開くようにしてあるのですが、クリックすると同時にAフォームを閉じるにはどのように記述したらよいでしょうか? 詳細ボタンの記述は下記のとおりです。よろしくお願いいたします。 Private Sub 詳細_Click() On Error GoTo Err_詳細_Click Dim stDocName As String Dim stLinkCriteria As String DoCmd.Close stDocName = ChrW(12513) & ChrW(12531) & ChrW(12486) & ChrW(12490) & ChrW(12531) & ChrW(12473) stLinkCriteria = "[管理番号]=" & Me![管理番号] DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_詳細_Click: Exit Sub Err_詳細_Click: MsgBox Err.Description Resume Exit_詳細_Click End Sub

  • Access2002:コマンドボタンがうまく設定できません

    使い始めてから2週間目の初心者です。よろしくお願いします。 コマンドボタンウィザードでフォーム上にコマンドボタンを作成したのですが、クリックしても反応しません。 初めは問題なく作成できたのですが、突如としてうまく動作するボタンが作成できなくなってしまいました。 ウィザードで作成した「レコードの検索」ボタンですら無反応です。 あるフォームのイベントプロージャ(?)は以下のようになっています。 (★はコメントです) Option Compare Database Private Sub テスト15:09_Click() End Sub Private Sub 部番一覧→部番詳細フォーム_Click()★←正しく動作しているボタン★ On Error GoTo Err_部番一覧→部番詳細フォーム_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "部番詳細表示" stLinkCriteria = "[部番]=" & "'" & Me![部番] & "'" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_部番一覧→部番詳細フォーム_Click: Exit Sub Err_部番一覧→部番詳細フォーム_Click: MsgBox Err.Description Resume Exit_部番一覧→部番詳細フォーム_Click End Sub←★この下に区切り線が表示されません★ Private Sub テスト15:09_Click()★←無反応のボタン。文字色赤になっています★ On Error GoTo Err_テスト15:09_Click Screen.PreviousControl.SetFocus DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70 Exit_テスト15:09_Click: Exit Sub Err_テスト15:09_Click: MsgBox Err.Description Resume Exit_テスト15:09_Click End Sub 単純ミスだと思うのですが、原因がわかりません。 どなたかわかりやすく教えいただけないでしょうか。ちなみにVBの知識は皆無です。よろしくお願いします。

  • アクセスにて検索フォームを作りたい

    お世話になります。 アクセス初心者です。 会社名検索フォームに会社名を入力して表示コマンドをクリックすると 会社フォームの入力した会社が表示されるようにしたいのです。 現在は、表示コマンドをクリックすると会社フォームが開きます。 どの会社名を打ち込んでもNo.1のレコードしか開きません。 つまり会社フォームが開く という指示をしているだけです。 コードなど全く分かりません。 ただ、本を見て真似て下記の通り入力してみました。 間違っているor足りない ということはわかっていますが、 どう入力すれば良いのかわかりません。 教えて下さい。よろしくお願いいたします。 Private Sub cmd表示_Click() On Error GoTo Err_cmd表示_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "会社フォーム" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_cmd表示_Click: Exit Sub Err_cmd表示_Click: MsgBox Err.Description Resume Exit_cmd表示_Click End Sub

  • access2000で作成のプログラムソースが2003で書き換わってしまう

    初めて質問させていただくバイク好きのおじさんです。 環境はOS:Windows7(Ultimate) ソフトウエア:Office2003(pro) ソフトウエア:Office2007(Ultimate) access2000で作成されたプログラムをaccess2003で今まで問題なく利用していたのですが、パソコンを変えてWindows7で利用するようになってから どのコマンドボタンをクリックしても 「イベント プロパティに指定した式 クリック時でエラーが発生しました:名前が適切ではありません:コマン_Click」というエラーで動かなくなってしまいました。 ビューモードでコマンド割り当てのソースをみてみると access2007(エラーが出ない方)抜粋では Private Sub コマンド5_Click() On Error GoTo Err_コマンド5_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "F_選手練習(メイン)" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_コマンド5_Click: Exit Sub Err_コマンド5_Click: MsgBox Err.Description Resume Exit_コマンド5_Click End Sub access2003 (エラーの起きる)抜粋では Private Sub コマン_Click() On Error GoTo Err_コマン_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "F_会員管理(参照用)" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_コマン_Click: Exit Sub Err_コマン_Click: MsgBox Err.Description Resume Exit_コマン_Click End Sub のようにソースのコマンドの割り当ての「 ド5 」が抜けてしまい、正しい方からコピーペースとしても内容が正しく書き換わりません。(全てのコマンドボタンの ド○ ) 対処法がさっぱりわからず困っております。 どなたか解決方法を知って見える方、アドバイスをいただけたらうれしいです。よろしくお願いいたします。

  • accessで、フォームの検索をしたいのです。

    今ACCESSで、データ管理をしているのですが、どうしてもうまくいかなくて、困っています。 毎日の出来事を記述するテーブル用のフォームを作って、記述していて、そのデータがたまってきています。 他のフォームに、検索用のテキストボックスとコマンドボックスを作って検索したいのです。 コントロールウィザードを使うと、完全一致のデータしかでてこないのですが、部分一致のレコードを表示させるにはどうすればいいのですか? 教えていただけるとうれしいです。 コントロールウィザードを使うと以下のようになります。多分少しどこかを変えるといいのではないかと思うのです。どうか、よろしくお願いします。 Private Sub コマンド144_Click() On Error GoTo Err_コマンド144_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = ChrW(21839) & ChrW(12356) & ChrW(21512) & ChrW(12431) & ChrW(12379) & ChrW(12513) & ChrW(12514) stLinkCriteria = "[内容]=" & "'" & Me![テキスト105] & "'" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_コマンド144_Click: Exit Sub Err_コマンド144_Click: MsgBox Err.Description Resume Exit_コマンド144_Click End Sub もしかして。。と思い、以下の部分、 stLinkCriteria = "[内容]=" & "'" & Me![テキスト105] & "'" を次のように変えてみたけれど、やっぱりうまくいきませんでした。 stLinkCriteria = "[内容]=" & "'" & "*" & Me![テキスト105] & "*" & "'" よろしくお願いします。

  • フォームの検索で一致データが無い場合の表示

    簡単なシステムを作成している初心者です。 エクセル2003を使用しています。 コマンドウィザードを使用してVBAに入力されている状態です。 検索用のフォーム(F_番号検索)で番号を入力し(テキストボックス[番号入力欄])、検索コマンドを押し 一致した番号の情報のみ別フォーム(F_情報)に表示されます 一致した番号の情報がなくても F_情報のフォームが開いてしまうのですが、 これを別フォームでもしくはメッセージボックスで「一致する番号はありません」等の表示 をしたいのですが上手くいきません。 どうすればいいでしょうか・・・? Private Sub 検索_Click() On Error GoTo Err_検索_Click Dim stDocName As String Dim stLinkCriteria As String stLinkCriteria = "[番号]=" & "'" & Me![番号入力欄] & "'" DoCmd.OpenForm "F_情報", , , stLinkCriteria [Forms]![F_番号検索].Visible = True Exit_検索_Click: Exit Sub Err_検索_Click: MsgBox Err.Description Resume Exit_検索_Click End Sub

専門家に質問してみよう