
初めて質問させていただきます。宜しくお願いします。
アクセスで、
===フォーム上にある非連結テキストボックスに、日付を入力し、コマンドボタンをクリックすると、テーブルにある日付のデータをクリアし、その後フォーム上のテキストボックスに入力した日付を挿入===の方法を教えていただきたいと思います。
CurrentDb.Execute "DELETE * FROM T_設定日;"
CurrentDb.Execute "INSERT INTO T_設定日(設定日) VALUES ('Me![年月日]');"
上記でやってみたところ、データのクリアはされるのですが、その後、テキストボックスに入れた日付は入りません。エラーは出ません。
アクセス初心者で、分かりにくい説明と思いますが、宜しくお願いします。
No.3ベストアンサー
- 回答日時:
こんばんは。
再びです。先ほどは、]が二つついていたりしたのでそのままコピーしたらコンパイルエラーになってしまったかもしれません。ごめんなさい。
あと、"!"ではなく、"."でやってみてください。
たぶんですが、Me.と、"."までうつと、その横にぴろっとその続きに入力することができる入力候補がでてくるのではないかと思います。(この場合は、候補の中を↓ボタンでたどっていくと"年月日"というのがでてくると思います)
あと、日付型の場合は"#"を前後に設定してあげる方がよいようです。
CurrentDb.Execute "INSERT INTO T_設定日(日付) VALUES (#" & CDate(Format(Me.年月日.Value, "yyyy/mm/dd")) & "#);"
こんな感じ↑。
これを実行すると、たとえば2005/09/22とテキストボックスに指定した場合、
"INSERT INTO T_設定日(日付) VALUES (#2005/09/22#)"
というSQLが発行されます。
#というのは、ここからここまでが日付ですよと認識させてあげるものだそうです。
#ではなく、'でも動くとは思いますが、せっかくなので#で覚えたほうがよいかと思われます。
私にとってもいい勉強になりました。
もし、それでもだめだったらまた結果を教えてください。
それではよろしくお願いします。
yoyo h8様
大変ありがとうございました。出来ました!!
何度やっても、「Meキーワードの使用方法が不正です」が出てしまい、色々調べたところ、標準モジュールに作成していたためで、フォームモジュールに記述ところ、成功しました。
結局、自分の基本的なミスでyoyo h8様にご迷惑をおかけしました。No.3はもちろん、No.2 でも大丈夫でした。
本当にありがとうございました。
No.2
- 回答日時:
さきほど回答したものです。
追加で補足します。
テーブルの設定日のデータ型を日付/時刻型にして、テキストボックスに、"2005/08/20"という形で日付を指定した例です。
CurrentDb.Execute "INSERT INTO T_設定日(日付) VALUES ('" & CDate(Format(Me![年月日]].Value, "yyyy/mm/dd")) & "');"
でいけると思います。
No.1
- 回答日時:
こんにちは。
まずは1箇所。
>CurrentDb.Execute "INSERT INTO T_設定日(設定日) VALUES ('Me![年月日]');"
この書き方だと、
"INSERT INTO T_設定日(設定日) VALUES ('Me![年月日]');"
というSQL文を実行することになります。
このとき、T_設定日の設定日という項目にセットしに行く値は'Me![年月日]'という文字列を設定しにいこうとします。
それは、'(シングルクォート)でかこまれた値は文字列と認識するので、そのままのを設定しに行きます。
なので、フォームのテキストボックスに設定している値をいれたいのであれば、
"INSERT INTO T_設定日(設定日) VALUES (" & Me![年月日].Value & ");"
と変えてあげる必要があると思います。
あとは、テーブルの設定日という項目のデータ型と、入力する日付の指定方法などを考慮して、型変換が必要になるかもしれません。
(そこに関しては、質問に書かれていなかったのでこれ以上は回答できません。ごめんなさい)
では、がんばってください。
参考URL:http://www.accessclub.jp//vbakaisetu/19.html
早速のご回答ありがとうございます。
分かりやすく説明していただき、シングルクォートの意味など良く分かりました。
ただ、No.1とNo.2のどちらで実行しても、
コンパイルエラー:Meキーワードの使用方法が不正です。と出てしまいます。
設定日テーブルの設定日フィールド、フォームの年月日テキストボックスの書式は、ともに日付/時刻型(日付S)になっています。
引き続き、よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ボタンが2つだけのデジタル時...
-
wifiが繋がらないときの設定
-
AndroidのAPN設定をいじってい...
-
Googleナビで高速に乗って遠出...
-
エアコンのタイマーについて
-
honeyviewの質問
-
APNがApplicationになっている
-
A4判40文字×35行、フォントサイ...
-
31日に初海外旅行へ行くので...
-
PC9801で拡張232C(PC-9801-101)...
-
ペルソナ1と2の時代設定を教え...
-
固定電話の留守電設定について
-
mbstring.http_outputとoutput_...
-
host process for setting sync...
-
Phenix Bios設定での32bit I/O...
-
VLCのホットキーの設定が有効に...
-
iPhone SIMカード
-
叶姉妹って本当に金持ちなんで...
-
Webプラウザ
-
「設定してほしい」と「設定さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
wifiが繋がらないときの設定
-
エアコンのタイマーについて
-
ボタンが2つだけのデジタル時...
-
AndroidのAPN設定をいじってい...
-
31日に初海外旅行へ行くので...
-
Googleナビで高速に乗って遠出...
-
「設定してほしい」と「設定さ...
-
振動試験の掃引の条件設定について
-
A4判40文字×35行、フォントサイ...
-
APNがApplicationになっている
-
JCOM利用で、TVを買い替えする...
-
固定電話の留守電設定について
-
WAKWAKメールのIMAP設定方法を...
-
honeyviewの質問
-
ペイントのページ設定を保存したい
-
バンダイ プリモプエル コプ...
-
OLYMPUSの日付について教えて欲...
-
時刻を自動で設定するができない
-
無線LANルーターはリチウム電池...
-
OMRON PLC CP2Eのプログラム
おすすめ情報