- ベストアンサー
アクセスのフォームでカレンダーをクリックすると別画面の新規レコードがすぐに開くようにするには?
こんばんは。いつも大変お世話になってます。 アクセスのメインメニューフォームでカレンダーをクリックすると別画面(検体別入力画面)の新規レコードがすぐに開くようにするにはどうしたらよいのでしょうか?(おかげさまで、カレンダーの日付は新規レコードの依頼日というコントロールに代入できるようにはなりました。) また、カレンダーの日付をクリックしたらその日の新規レコードが開いて、そのフォーム内にはその日のレコードのみが表示されるようにしたいのですが、どのようにしたらよいのでしょうか?よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こちらでも検証してレスしてますので間違いは無いとおもいますけど・・ 新規レコードにはなるのですが、パラメータ入力?がでてきたり ↑「パラメータ入力?」の内容は? 多くは何かの名前が間違っているか、存在しないものを指定している場合が 多いのですが・・ 新規レコードから他へ移動できなかった ↑フォームのプロパティにデータ入力用に設定してあるとか・・ 入力済みのレコードは表示されていますか? 最初のご質問で「そのフォーム内にはその日のレコードのみが表示」 されるようにFilter設定したレスをしましたが、 その事では無いですよね? 単に検体別入力のコントロールをクリックすると 検体別入力画面の新規レコードが開くようにするにはどうするのでしょうか? ↑コントロールとは何を指していますか? コマンドボタンだとして、クリック時のイベントなどに前回回答の DoCmd.GoToRecord acDataForm, "フォーム名", acNewRec (私は自分で使うものはキーボードショートカットで Ctrl + + Ctrl を押しながら + で済ませています)
その他の回答 (2)
- nicotinism
- ベストアンサー率70% (1019/1452)
Private Sub Form_Load() Me!Calendar1.Value = Date End Sub を記述したモジュール内にコピペです。 フォーム名は検体別入力画面でしたね。見過ごしてました。 モジュールウィンドウの上に二個プルダウンボタンがあると思いますが 左の方でオブジェクトを、 右のほうでそのオブジェクトで拾えるイベントが選択できます。 当方ACC2002では、カレンダーの場合、14個ありました。 フォームのカレンダーのプロパティでは、一覧になぜか出てきません。
補足
ありがとうございます。でも、なかなかうまくいきません。新規レコードにはなるのですが、パラメータ入力?がでてきたり、新規レコードから他へ移動できなかったたりとどこかがおかしいみたいです。原因がわからないので、単に検体別入力のコントロールをクリックすると検体別入力画面の新規レコードが開くようにするにはどうするのでしょうか?(カレンダーをクリックするとすでに検体別入力画面が開くようにはしてあります。)ややこしくて申し訳ありません。。。
- nicotinism
- ベストアンサー率70% (1019/1452)
Private Sub Calendar1_Click() Dim strFilter As String strFilter = "日付 = #" & Me!Calendar1.Value & "#" If CurrentProject.AllForms("フォーム名").IsLoaded = False Then DoCmd.OpenForm "フォーム名", acNormal, , strFilter Else Forms("フォーム名").Filter = strFilter Forms("フォーム名").FilterOn = True End If DoCmd.GoToRecord acDataForm, "フォーム名", acNewRec Forms("フォーム名")!日付 = Calendar1.Value End Sub こんな感じでは? カレンダー名・フィールド名も適宜改変を
補足
大変申し訳ないのですが、上記をどの部分に入力したらよいのか詳しく教えていただけないでしょうか。初心者ですみません。。。
お礼
いろいろ検討しましたが、やはりできませんでした。初心者なのでもう少し勉強したいと思います。丁寧にご回答いただき、本当にありがとうございました。これからもよろしくお願いいたします。