- ベストアンサー
アクセスにて
アクセスでカレンダーを表記させて その日付をチェックすると テーブルにその日付を入力できるようにしたいんですができますでしょうか? カレンダーもウィンドウズのカレンダーのように1wで改行して表記させたいのですができますでしょうかね?? 当月だけでなく月を変えると半年ぐらい先まで表記させたいのですが カレンダーのテーブルは作ります あと氏名 月 時間を入力させたいのですが 同じ氏名で数テーブル月と時間を入力していきます 普通に作れば氏名 月 時間を入力し次テーブルに移動させると 氏名が消えますが 前に打った内容を残すのはできますでしょうか
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>テーブルにその日付を入力できるようにしたいんですができますでしょうか フォームにActiveXコントロールからカレンダーコントロールを配置します。 イベントで更新時でもなんでも良いですがコードビルダーを表示させます。Private Subで表示された部分を下記に書き直します。(またはコピー) フォームに配置したカレンダーコントロール名がCalendar1としてテーブルの日付の入力に使うコントロール名を日付とした場合。 Private Sub Calendar1_Click() Me![日付] = Calendar1.Value End Sub これでカレンダーの日付をクリックすると日付コントロールにクリックした日付が代入されます。 >時間を入力し次テーブルに移動させると氏名が消えますが前に打った内容を残すのはできますでしょうか フォームの氏名の既定値に代入してしまえば出来ます。 氏名のプロパティでイベントの更新後処理に Private Sub 氏名_AfterUpdate() Me!氏名.DefaultValue = Me!氏名 End Sub とすれば氏名に名前を入力して次のレコードに移動すれば前のレコードに入力した名前が既定値として氏名コントロールに代入されます。入力等で更新された名前を表示できます。
その他の回答 (2)
プログラムのプロではありませんが、全て出来ると思います。 一般的に、プログラマの方の「そんなことは出来ない」は、「そんなことはする気がない」ということみたいです。 なお、 <カレンダーのテーブルは作る> <次テーブルに移動> などが、少し、気になる発想、表現です。 カレンダーのことはさておき後段について多少のアドバイスを... 1、既定値(DefaultValue)を利用も一つの手です。 2、ショートカットキーを送出するのも面白いアイデアです。 Public Const conDefaultValue = "^(%({ }))" Public Const conPreviousValue = "^("")" 下の働きは、[Ctrl][Shift][2] の3つのキーを押すと判ります。 <前レコードの値を代入する>が、働きです。
- imogasi
- ベストアンサー率27% (4737/17069)
http://www.geocities.jp/cbc_vbnet/cnntrol/activex.html などに例があります。 私はコントロールツールボックスの金槌アイコンをクリックして、Microsoftカレンダーコントロール10.0があったので それをフォームに貼り付け Private Sub Calendar8_Click() Me.テキスト9.SetFocus テキスト9.Text = CStr(Me.Calendar8.Value) MsgBox CStr(Me.Calendar8.Value) End Sub をコードに作ると、カレンダーの日をクリックすると、テキスト9に日付がセットできました。年月は独立して別途クリックで変えられます。 日付セットのところで、アクセスVBAをわずかですが使わないとできないのではないかと思います。勉強してください。
お礼
参照URLありがとうございました カレンダーを選択するとできました。 選択した日付をフォーム上のテキストには表記できました それをテーブルのデータに落とす場合はどうすればいいのでしょうか? 素人で申し訳ありません。
お礼
ありがとうございます。 現在氏名はコンボボックスを使用してテーブルの氏名一覧と連動させてるんですが その場合は上記コードは使えないでしょうか? テキストにした場合上記コードで前回の入力値がそのままでたのですが・・・ あと入力後次レコードに移動させ入力結果のテーブルを見ると 空白となっているのですが わかりますでしょうか??