• ベストアンサー

Access2003でのDateAddの使い方

Access2003でのDateAddの使い方について 選択クエリで以下のSQLを実行しようとすると select DateAdd("m",1,[カラム名]) from テーブル名 以下のエラーとなります。 クエリ式'DateAdd("m",1,[カラム名])'の関数で使用されている引数の数が正しくありません。 原因わからず対処できずにいます。誤りなど指摘していただけないでしょうか。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

ひょっとして、DateAdd という名前のユーザー定義関数を作成していると言うことはないですか。

satoh_san
質問者

お礼

ありがとうございます。 月曜朝一で確認してみます!

satoh_san
質問者

補足

標準モジュールにPublic Function DateAdd(引数 x, ・・・・)として定義されていました。 ご指摘がなければ気がつかなかったと思われます。 まことにありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

> select DateAdd("m",1,[カラム名]) from テーブル名 このSQLで誤りはないです。 念のために下記のSQLも試してみてください。 SELECT DateAdd("m",1,[テーブル名].[カラム名]) AS F1 FROM [テーブル名]; これでダメなら、実際のSQL文をそのままコピーして貼り付けてください。

satoh_san
質問者

お礼

ありがとうございます。 SELECT DateAdd("m",1,[テーブル名].[カラム名]) AS F1 FROM [テーブル名];で 再確認してみましたが、やはり以下のエラーとなってしまいました。 クエリ式'SELECT DateAdd("m",1,[テーブル名].[カラム名]) AS F1 FROM [テーブル名]'の関数で使用されている引数の数が正しくありません。 実際のSQL文については、月曜日に管理者に確認のうえ、問題ないようでしたら、貼らせていただきたいと思います (なお、カラム名、テーブル名は日本語となっています)。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • DATEADD 関数の引数の省略形の書き方

    SQL Server+SQL クエリアナライザ上で実行するSQLのスクリプトを書いていて、DATEADD 関数の書き方で困りました。 現在の日時から1ヶ月後を表示するには、 (1)  select DATEADD(Month, 1, GetDate()) でできますが、このときの日付要素の引数 Month には省略形が使えることになっています。 (2)  select DATEADD(mm, 1, GetDate()) (3)  select DATEADD(m, 1, GetDate()) で、このときに、ASPの癖で、ダブルクォートで囲って (4)  select DATEADD("m", 1, GetDate()) とやってしまったんんですが。 上記(4)の記述方法でも、開発環境では文法エラーにもならず、実行結果も期待した値が表示されました。 ところがそれを運用環境のSQL クエリアナライザで文法チェックしたら、 「パラメータ1はdateaddでは指定できません」 というメッセージがでてしまいました。 (1)の記述方法に変えたら、運用環境でも問題なく実行するようになったのですが、まったく納得いきません。 例えば実行させるクエリアナライザのバージョンによって、日付要素の引数の書き方が違うというような事があるのでしょうか? MSのサイトで検索しても見つからなかったのですが、捜しかたが悪いでしょうか。 同じようなことを他でもやってる可能性もあり、原因を特定させないととても怖いです。 開発環境は   SQL Server Standard Edition 7.00.1063   SQLクエリアナライザ Version SQL 8.00.760   OSは…確認しそびれました。 運用環境は  すぐには判らないのですが、SQL Server7.0ではあるでしょう。

  • SQLクエリ1年前のデータを削除できない

    現在このクエリを作成したのですがデータが削除されなくて、データ全件が抽出されてしまいます。 以下の構文で試したのですが・・・・もし、ご指摘、アドバイス等ございましたらよろしくお願いします。 select * from テーブル名 delete from テーブル名 where 日付 < = (select DATEADD(year,(-1),(日付))) ちなみに、日付はDATETIMEです   バージョン:SQL management studio 10.50.25.000

  • 複数のテーブルからデータを取得したい

    1つのテーブルから重複したデータを取り除いて表示するときに使う 【select distinct カラム名 from テーブル名;】 がありますよね。 それと同じようなことを複数のテーブルをまたいで行いたいのですがうまくいきません。 ちなみに両方のテーブルのカラム名は同じです。 【select distinct カラム名 from テーブル1 union select distinct カラム名 from テーブル2;】 としても重複を取り除いた後にテーブルを結合してるので結果的に両テーブルの重複した値を取り除くことができず。 そこで 【select distinct T1.カラム名, T2.カラム名 from テーブル1 T1. テーブル2 T2;】 としてみたのですが、クエリを実行中のまま反応がないので悩んでます。 ちなみに2つのテーブルのデータはそれぞれ2万件ほどです。 こういう時どういうsql文を組むのが正しいのでしょうか?

    • ベストアンサー
    • MySQL
  • Accessの内部結合

    こんにちは。 Accessでcateテーブルとgoodsテーブルがあります。 select * from goods inner join cate on goods.cateid = cate.id; クエリデザインで、テーブルとテーブルを結合して上記のようなSQLができました。 これは動作することを確認しました。 SQLビューで下記のようなSQLを書きました。 select * from goods inner join cate on left(goods.cateid,5) = cate.id; しかしながら、動きませんでした。 VBAを使わずに、Accessの標準のクエリデザインから上記のようなSQLを実行させることは可能でしょうか? クエリデザインでselect left(cateid,5) as cateid from goodsというTESTクエリをつくり、TESTクエリとcateテーブルとジョインさせれば解決しそうなことはわかるのですが・・・ 宜しくお願いします。

  • アクセス:クロス集計の抽出条件

    添付のようなテーブルがあり下記のSQLを実行するとクエリ1になるのですが、合計数に抽出条件を入れてクエリ2のように10個以下のものは表示しないようしたいと思います。 下記SQLをどのように直したらよいでしょうか。一つのクエリで行う方法を教えて下さい。 TRANSFORM Sum([テーブル1].個数) AS 個数の合計 SELECT [テーブル1].[くだもの], Sum([テーブル1].個数) AS 合計 FROM テーブル1 GROUP BY [テーブル1].[くだもの] PIVOT [テーブル1].月;

  • PostgreSQLのカラムに"user"という名前のカラムがある場合のデータ表示について

    PostgreSQLを使い始めたのですが、わからないことがあるので知恵をおかしください。 ユーザー名を管理するテーブルを以下のように作成しました。 テーブル:table  |No|user|from |  |1 |Atom|tokyo|  |2 |Boss|izu |  |3 |Cat |chiba| このテーブルのデータをuser部分のみ表示するに以下のSQL文を作成しました。  SELECT user FROM table 上記のSQLを実行したのですが、userのカラム部分がcurrent_userとテーブルのカラムではなくセッションの情報を取得してきてしまいます。 試しに  SELECT * FROM table で実行するとテーブルのデータを取得でき、  SELECT table.user FROM table で実行するとsyntax errorとエラー表示されデータが結果が表示されません。 userをセッション情報としてではなく、テーブル(table)のデータとして取得したい場合はどのようにしたらいいのでしょうか? よろしくお願いします。

  • SQL Developerでクエリ実行

    select * from テーブルA where カラムA2 = :バインド変数 select * from テーブルB where カラムB2 = :バインド変数 SQL Developerでエディタに記述した複数のSQLを一度に実行する際に ①同じ名前のバインド変数であっても何度も値を聞いてくるのを1回で済ませたい ②SQLごとにひらく問い合せ結果について名前が問い合せ結果1、問い合せ結果2だとわかりづらいので、固有の名前をクエリ実行時に自動でつけるようにしたい よろしくお願いします。

  • ACCESSクエリーで特定の項目を更新したい

    ACCESSでテーブルから抽出したクエリーの特定の列だけに 1という数字をふりたいのですが、 update 抽出元のテーブル set 任意のセル = 1 where クエリー名 更新クエリーで上記SQLを設定しても、クエリー実行時に、 バラメータを要求され、 全てのテーブル列に1がふられます。 式が違うのでしょうか。 デザインビューにしてSQLビューに切るかえる。 select 列 from 抽出元のテーブル where 抽出の条件 ; みたいなデータです。 where の前を書き換えます。 select 列 from 抽出元のテーブル の部分を update 抽出元のテーブル set 任意のセル = 1 としてください。 最終的には以下のイメージ update 抽出元のテーブル set 任意のセル = 1 where 抽出の条件 ;

  • テーブル名をカラムとして取得する方法

    テーブル名をカラムとして取得する方法はありますでしょうか? オラクル8とVB6でプログラムを組んでいます。 例 TABLE Aの内容 カラム1 1 2 3 TABLE B カラム1の内容 4 5 6 SQLは簡略化してかきます。下記のSQLを実行した場合、 select A.カラム1 from A union select b.カラム1 from b 1 2 3 4 5 6 を取得できます。 例えば、上記で、SQL実行後、 下記のような値を取得したいです。 1 ,Aのテーブルだよ 2 ,Aのテーブルだよ 3 ,Aのテーブルだよ 4 ,Bのテーブルだよ 5 ,Bのテーブルだよ 6 ,Bのテーブルだよ それぞれのテーブルの名前を別名で結果に格納したいのです。 何か方法はありますでしょうか? なければ、unionせずに、2回SQLを発行し、それぞれに、 プログラム上で、「Aのテーブルだよ」を後で挿入したいと思っています。

  • WHERE カラム名 <> ''の意味

    $result = $db->query("SELECT カラム名 FROM テーブル名 WHERE カラム名 <> ''"); PHPでSQL文を作成しているサンプルがあるのですが、「WHERE カラム名 <> ''」の意味が分かりません。カンマ二つで空文字? これはどういう意味でしょうか? また、<>は何と読むのでしょうか?(検索したいので)

    • ベストアンサー
    • MySQL