• ベストアンサー

アクセスのフォーム画面で入力

アクセス2002のフォームで文字を入力(選択)させてボタンを押すと 別の画面でその入力(選択)した文字が表示させるイベントプロシージャをつくりたいのですがPub sub~End sub内にどういう記述が必要なのでしょうか?

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

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.3

Private Sub ボタン名_Click() Dim strForm As String Dim ctl As Control strForm = "別フォーム" DoCmd.OpenForm strForm 'フォームが開いている場合はこの行削除 Set ctl = Forms(strForm).Controls("別フォームのコントロール") With ctl Select Case .ControlType Case acTextBox, acComboBox .Value = Me.テキスト Case acLabel .Caption = Me.テキスト Case Else End Select End With End Sub

DINO-PIE
質問者

お礼

ありがとうございました。

その他の回答 (2)

  • miwaharu
  • ベストアンサー率25% (29/112)
回答No.2

イベントプロシージャを使わない方法だと、 後から開くフォームのテキストボックスの既定値プロパティに、=forms!入力フォーム名!テキストボックス名 でもいいと思います。

DINO-PIE
質問者

お礼

ありがとうございました。

  • nnfuji
  • ベストアンサー率28% (200/701)
回答No.1

ボタンの「クリック時」のイベントに Forms!表示フォーム名!表示ラベルかテキストボックス名 = Forms!入力フォーム名!テキストボックス名 とすれば、入力した文字を別のフォームへ表示できます。

DINO-PIE
質問者

お礼

ありがとうございました。

関連するQ&A

  • ユーザーフォームから

    お世話になります。 ユーザーフォームにて、 オプションボタンでどれかを選択出来るようにし、 コマンドボタンで決定する様にしてあります。 選択した内容によりcallで別の標準モジュールに あるsubプロシージャに飛ばしたいのですが、 その記述方法が分かりません。 良くByvalの記述方法は見つかるのですが、 単純にsubプロシージャを実行したいだけなのです。 フォームの中に記述しても良いのですが、結構長くなって しまうので・・。 こういうやり方はおかしいのでしょうか。

  • Access 2003 でフォームフィルターがかかりません。

    Access 2003 でフォームフィルターがかかりません。 どなたか助けてください。 アクセス初心者です。 フォームの詳細欄にチェックボックス(フィールド名:伝票チェック)を配置しております。 チェックの入っていないものを表示させたいです。 フォームヘッダーのオプショングループ(フレーム67)に オプションボタン0-オプション値0と オプションボタン2-オプション値2 の2個のオプションボタンを配置してあります。 クリック時のイベントプロシージャに以下のコードを書きました。 Private Sub フレーム67_Click() If Me!フレーム67 = 0 Then Me.Filter = 伝票チェック = 0 Me.FilterOn = True Else Me.Filter = "" Me.FilterOn = True End If End Sub 実行時エラーは出ませんが、データが何も表示されません。 どうすればいいのでしょう??? どなたかお願いします。

  • ACCESSでフォーム入力→レポート出力したい

    ACCESSでフォーム入力→レポート出力したい OS:XP,ACCESS2000 フォームのテキストボックスに入力した文字をレポートのテキストボックスに表示したい。 フォーム: ファイル名は「フォーム1」で、その中に作ったテキストボックス名は「入力データ」 コマンドボタン名は「レポート出力」 レポート: ファイル名は「レポート1」で、その中に作ったテキストボックス名は「出力データ」 フォーム1とレポート1を立ち上げてフォームのテキストボックスにデータを入力した後、 コマンドボタンを押してもレポート1のテキストボックスに入力したデータが表示されません。 レポート1を選択した後にデザインボタンを押し、その後にもう一度立ち上げると、 なぜかデータが書き込まれています。 コマンドボタンを押したのと同時にレポート1にデータが表示されるようにするには どうすれば良いですか? プログラムは以下の様になっております。 (1)クラスオブジェクト下 Private Sub コマンドボタン_Click() Call レポート書き出し() End Sub (2)標準モジュール下 Public Function レポート書き出し() Dim F As Form Dim R As Report Set F = Forms![フォーム1] Set R = Reports![レポート1] R![出力データ] = F![入力データ] End Function

  • ACCESS非表示でフォームのみ表示して起動したい

    ACCESS2010のオプションのカレントデータベースのフォームの表示を(表示しない)にして、AutoExecマクロから以下のMain()プロシージャを呼び出して 起動時にフォーム(メイン画面)を表示しています。 ----------------------------------------------- Function Main() As Integer 'メイン画面の表示 DoCmd.OpenForm "メイン画面", acNormal Main = 1 End Function ----------------------------------------------- このままでは、ACCESSファイル(.accdb)をダブルクリックして実行するとメイン画面とその背後にACCESSアプリケーション自体が表示されてしまいます。 そこで、Form_Openイベントプロシージャに ----------------------------------------------- Dim rc As Long rc = ShowWindow(Application.hWndAccessApp, SW_SHOWMINIMIZED) ----------------------------------------------- を記述したのですが、ACCESSアプリケーションは表示されなくなったのですが、フォーム(メイン画面)も表示されなくなってしまいました。 フォーム(メイン画面)だけ表示してACCESSアプリケーションは表示されないようにしたいのですがどのようにすればよいのでしょうか。 よろしくお願いします。

  • Access2000でフォームを開くときに常に新規レコードで開きたいのですが

    Access2000で、あるイベントに参加した人のデータベースを作りました。 検索用フォームで「氏名」と「生年月日」で検索し、その人の情報を別の フォームで見ることができるようになっています。 該当者がいない場合は、新しいレコードにそのデータを追加します。 検索結果を表示するフォームに個人情報を表示・書き込みできる画面を開く ためのボタンがあるのですが、このボタンをクリックした時に、常に新規 レコードで開きたいのですが、コードはどのように記述すればよろしいの でしょうか? ちなみに、いまは下記のようなコードになっています。 「新規登録ボタン」は個人情報を表示・書き込みできる画面を開くためのボタン 「応募者」は個人情報を表示・書き込みできるフォーム です。 Private Sub 新規登録ボタン_Click() On Error GoTo Err_新規登録ボタン_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "応募者" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_新規登録ボタン_Click: Exit Sub Err_新規登録ボタン_Click: MsgBox Err.Description Resume Exit_新規登録ボタン_Click End Sub

  • アクセスフォームのサイズの調整について

    一つは全画面表示(Maximize)で開きもう一つは普通の表示(Restore)で開くには? フォーム1とフォーム2があります。画像をご覧ください。 フォーム1は Private Sub Form_Load() DoCmd.Maximize End Sub で、 フォーム2は Private Sub Form_Load() DoCmd.Restore End Sub としてます。 フォーム1にコマンドボタンを設置して、 Private Sub フォーム2を開く_Click() DoCmd.OpenForm "フォーム2" End Sub として、フォーム2を開くのですが、 フォーム2が開くとフォーム1まで、元の大きさに戻ってしまいます。 行いたいことは、 フォーム1は全画面表示、フォーム2は、ノーマルな表示(全画面でも最小化でもない) にしたいのですが、不可能なのでしょうか?

  • Access VBAで

    VBAの超初心者です。 Accessのフォームでコマンドボタンを押すと、決まった文字が入力できるフォームを作りたいと思っています。 クリック時のイベントプロシージャーはどのように記入すればよいのでしょうか。 ど素人な質問ですみません。

  • Accessの動作がおかしい?

    Accessのフォームで、メインフォーム/サブフォームを作りました。 メインフォームには、伝票番号や日付などの情報、サブフォームは、伝票番号でリンクし、その伝票に記載されている製品名・数量等の詳細情報がデータシートビューで表示されるようになっています。 さらのこのフォームを開く時にパスワードを設定してあります。 フォームをデザインビューで開き、「開くとき」のイベントにイベントプロシージャを選択。 Private Sub Form_Open(Cancel As Integer) If InputBox("パスワードを入力してください") <> "25b0" Then MsgBox "パスワードが違います" Cancel = True End If End Sub ↑このように表記しています。 さらに、別のフォームにメニュー画面を作り、メニューボタンを押すと、このフォームが開くようになっています。 当然、パスワードを聞いてきます。パスワードを入力すると無事、OPENするのですが・・・ 開いたフォームで、レコードの操作ができません。 「新規作成」や「レコードの削除」といったレコード操作ができません。(?_?) その状態から、一度、フォームをデザインビューに切り替えて、再度、通常のビューに切り替えると、もう一度パスワードを聞いてきます。 パスワードを入力すると、今度は通常通り使えるようになります。 どうしてこのようなことが起こるのでしょうか? 何か設定の方法などに間違いなどがあるのでしょうか??? いつもお手数おかけしてすみません。m(_ _)m よろしくお願いします。

  • ACCESS 固定した条件でフォームを開く

    商品テーブルを元に、在庫一覧というフォームを開こうとしています。 商品テーブルの、「在庫状況」という欄の、「欠品」と「在庫」という2種のデータだけを表示させたいのですが、うまくいきません。 ためしに、まず条件を「在庫」だけにしてみたのですが、それでもできませんでした。 フォームを開くのイベントプロシージャに、下記のように記述しています。 Private Sub Form_Open(Cancel As Integer) Me.Filter = "在庫状況 = '在庫'" Me.FilterOn = False End Sub よろしくお願いいたします。

  • Accessのフォームを閉じるのではなく、非表示にする

    Accessのフォームにおいて、 ボタンをクリックすると、そのフォームが閉じる、 というイベントをつけております。 そのイベントを、フォームが閉じるのではなく、 フォームを非表示にし、メモリ上では開いたまま というイベントに直したいのですが、 Form_F003.Visible = False というような記述をするという 解釈でよろしいのでしょうか?? その解釈でないとしたら、 フォームのソース上で、 フォームを非表示にし、メモリ上では開いたまま というプロパティを設定できるでしょうか?? どなたか、ご指導くださいませ。

専門家に質問してみよう