質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

コンボボックス

GUIの要素のひとつです。Listboxと同様にいくつかのうちひとつを選択する機能だが、Comboboxの場合は選択されたもののみがデフォルトとして表示される。

リストボックス

ユーザーがリストから1つ以上のアイテムを選択できるようにするGUI要素です。

Q&A

解決済

2回答

7031閲覧

access 日付選択カレンダー 自動的に表示

yama0131

総合スコア16

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

コンボボックス

GUIの要素のひとつです。Listboxと同様にいくつかのうちひとつを選択する機能だが、Comboboxの場合は選択されたもののみがデフォルトとして表示される。

リストボックス

ユーザーがリストから1つ以上のアイテムを選択できるようにするGUI要素です。

0グッド

0クリップ

投稿2020/03/02 02:04

編集2020/03/02 02:05

前提・実現したいこと

accessで日付選択カレンダーを常に表示したいと考えています。
自分で調べたところ、
Private Sub 日付_GotFocus()
DoCmd.RunCommand acCmdShowDatePicker
End Sub
で日付のテキストボックスにフォーカスが来た時にカレンダーが自動的に出るやり方がありました。
他のコンボボックスやテキストボックスから日付のテキストボックスにフォーカスを移動させると自動的に出るのですが、
日付を日付選択カレンダーから入力して、日付のテキストボックスにフォーカスを置いても自動的に表示がされません。

何か方法はありますでしょうか。

追記
また、日付選択カレンダーのサイズを変えられる方法がありましたら、併せてお答えいただけますと幸いです。

発生している問題・エラーメッセージ

VBA

1Private Sub 日付_change() 2 DoCmd.SetWarnings False 3 4 Dim s As String 5 s = Me.日付.Text 6 If Not IsDate(s) Then Exit Sub 7 8 Me![年] = Format(s, "yyyy") 9 Me![月] = Format(s, "mm") 10 Me![日] = Format(s, "dd") 11 12 nengappi = Me![日付] 13 Me!日付.SetFocus 14 Me!日付.Value = [Forms]![日報入力画面]![年] & "/" & [Forms]![日報入力画面]![月] & "/" & [Forms]![日報入力画面]![日] 15 16 Me![作業日報サブ].Requery 17 18 Me!日付.SetFocus 19 20 End If 21 22 DoCmd.SetWarnings True 23End Sub

VBA

1 2 Private Sub 日付_GotFocus() 3 DoCmd.RunCommand acCmdShowDatePicker 4 End Sub 5

該当のソースコード

ソースコード

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

accessで日付選択カレンダーを常に表示したいと考えています。

日付テキストボックスにフォーカスがあるとき以外も常に表示させておきたいということでしょうか。
だとしたら無理だと思います。

フォーム上にコマンドボタン、ラベルなどのコントロールを組み合わせてカレンダーを作成することになります。
下記でカレンダーフォームのサンプルがありますので、参考にして作成してみては。

カレンダー形式のスケジュール管理フォーム作成 その1 - hatena chips

カレンダーダイアログ日付入力関数 祝日表示対応版 - hatena chips

投稿2020/03/02 02:45

hatena19

総合スコア33715

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yama0131

2020/03/02 05:48

フォームでカレンダーを作る場合であれば、常に表示せることは可能なのでしょうか?
hatena19

2020/03/02 05:53

はい、自分で作成するのですから、設計次第で自由自在です。
yama0131

2020/03/06 02:48

頂いたURLを参考にやってみます! ありがとうございました。
guest

0

日付を日付選択カレンダーから入力して、日付のテキストボックスにフォーカスを置いても自動的に表示

カレンダーで選択して、選択しなおすのにカレンダーボタンを押下する動作は自然だと思うのですが、テキストボックスにフォーカスがある間は常にカレンダーが表示されているような事を希望されているのでしょうか?

もしそうなら、そのコントロールにフォーカスがいる事を監視する必要があるので、結構ハードルが高い気がします。

投稿2020/03/02 02:24

sazi

総合スコア25195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yama0131

2020/03/02 02:35

access2003までにあった、カレンダーコントロールと同じような動作にしたいと考えています。 なので、一回一回マウスで日付を選択してカレンダーを出す動作が手間と感じてしまいます。 常に出しておく方法があればと思ったのですが、難しいのですね。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問