TableAのフィールド 年月日 は日付型(s)でデータは06/10/30などYy/Mm/Ddフォーマットで入っています。
Access2002 クエリーウイザードで作らせると
年月日 = #06/10/30# となりますがSQLビューは
"Select * From TableA where 年月日=#10/30/2006#;"と、Mm/Dd/Yyフォーマットになってしまいます。
何が原因なのでしょうか。ちなみに以前は問題なく年月日 = #06/10/30# でしたし、Access2003でも問題は出ません。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>#20" & Me![txt年月日] & "#"でOKでした。
これがAccess2003では"日付構文エラー"2000以降では日付は4桁で管理しているはずなんですが・・
なので2003で#20" & Me![txt年月日] & "#"
とすると#202006/04/15#で日付構文エラー。
Me![txt年月日] ="06/04/15"でも##でくくられれば日付と判断し2006/04/15と取得しているので#20&で前に20を付けなくても良い。
2002でも2003でも2000でもフォームの抽出条件のコントロールtxt年月日に定型入力で 9999\/99\/99;0;_ か 0000/00/00;0;_ にして西暦を4桁で入力するようにすれば#20" & Me![txt年月日] & "#"などとしなくても
"[年月日] = #" & Me![txt年月日] & "#"
だけで良いのでは。
フォームのtxt年月日の修正だけで済むので。
TableAのフィールド[年月日]は日付型(s)でyyyy/mm/ddで管理と思いますが。フォーム上などの表示だけならyy/mm/ddで良いですが。
>各Accessの環境設定が悪いのでしょうか
環境等詳細は不明ですが各バージョンが混在する環境では共通で使えるような記述にします。
日付は西暦4桁でテーブルから全て管理する。抽出等も全て4桁で行えば1つのSQLで済みます。2000で通るSQLで(各バージョン共通の)作り、上のバージョンに入れチェックすれば良いと思います。ADO等同じバージョンなら問題ないかと。
No.1
- 回答日時:
ウイザードで作成したような場合Jetの影響で#10/30/2006#となると思いますが。
例えばOpenFormでstDocName = "データ入力"としたはずなのにstDocName = ChrW(12487) & ChrW(12540) & ChrW(12479) & ChrW(20837) & ChrW(21147)のように変換されたりするのと一緒だと思いますけど。
>TableAのフィールド年月日は日付型(s)でデータは06/10/30などYy/Mm/Ddフォーマットで入っています。
yy/mm/ddと書式設定されているだけで実際はyyyy/mm/ddとして持っていますので正しくは#2006/10/30#と抽出条件に書くのが普通です。
SQLビューに変換時に#10/30/2006#となるだけです。
SQLビューでwhere 年月日=#10/30/2006#となっていてもデザインビューでは=#2006/10/30#となっていて問題はないと思いますが。
この回答への補足
ご回答感謝します。
Me![txt年月日] ="06/04/15"の時
Access2002で
rs.FindFirst "[年月日] = #20" & Me![txt年月日] & "#"でOKでした。
これがAccess2003では"日付構文エラー"になります。
Access2003では
rs.FindFirst "[年月日] = #" & Me![txt年月日] & "#"
でOKとなります。
このアプリはAccess2000,2002,2003が混在した環境で利用しますので、それぞれのAccess用に別々に作らねばならないのでしょうか。それとも各Accessの環境設定が悪いのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL SQLについて質問です。 SELECT TO_CHAR(TO_DATE('90-10-08.'YY- 4 2022/05/13 20:55
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Access(アクセス) Accessのデータ型の日付/時刻型について 1 2023/04/02 17:03
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
- MySQL SQLについて教えて下さい。 SELECT分で、あるカラムにある日付の 半年先のデータを取って来たい 3 2022/12/07 22:28
- Excel(エクセル) 年月表示を取り出すには 5 2023/02/23 22:51
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Excel(エクセル) Excel 数行を1組とする300組ほどあるデータの項目を揃えたいです。 3 2023/01/26 19:38
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/12/23 14:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
Excleピボットでデータのない部...
-
Excel→Accessへの日付データの...
-
BCPでCSV内の文字列をテーブル...
-
Accessの日付時刻型から日付、...
-
指定日付を起点にして最新日付...
-
アクセス97のVBAで日付項目をヌ...
-
VBA 別シートの同じ日付の欄に...
-
【vba】日付の形式が勝手に変わ...
-
Access:フォームのデータの並び順
-
アクセスで月単位の抽出
-
Accessのデータ型の日付/時刻型...
-
Access クエリで、レコードの無...
-
【Accessで困っています...
-
Accessでnow()で取り出した日付...
-
accessの時間更新方法(フォーム)
-
クロス集計のユニオンクエリー...
-
SQL Server2005のクエリで「今...
-
【エクセル】指定した日付に一...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
Excleピボットでデータのない部...
-
アクセスで月単位の抽出
-
BCPでCSV内の文字列をテーブル...
-
Accessの日付時刻型から日付、...
-
VBA 別シートの同じ日付の欄に...
-
Excel→Accessへの日付データの...
-
Access クエリで、レコードの無...
-
指定日付を起点にして最新日付...
-
アクセス:既定値に土日含まず...
-
【エクセル】指定した日付に一...
-
ACCESSの空白をカウントする
-
Accessで日付の比較がうまくい...
-
【vba】日付の形式が勝手に変わ...
-
前のレコードの合計に現レコー...
-
エクセル-過去6カ月分の合計を...
-
Accessのデータ型の日付/時刻型...
-
【Accessで困っています...
-
アクセス97のVBAで日付項目をヌ...
おすすめ情報