• ベストアンサー

DateAdd関数について質問があります

DateAdd関数ですが、コンパイルすると、「error C2065: 'DateAdd' : 定義されていない識別子です。」 と出ますが、ヘルプにも関数として堂々と載っているので、自分にはなぜ定義されていないかわかりません。 どなたかご存知の方、教えてください。

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

  • ベストアンサー
  • itohh
  • ベストアンサー率45% (210/459)
回答No.2

こんにちは。itohhといいます。 やっぱり、VBでしたか!(^^; VC++の場合は、CTimeクラス、CTimeSpanクラスを使います。 例。 CTime Date1(2001, 1, 1, 0, 0, 0); // 2001年7月3日 CTimeSpan Date2(0, 1, 0, 0, 0, 0); // 1ヶ月 CTime Date = Date1 + Date2; // 2001年8月3日 たぶん、これでOKだと思います。 詳細は、MSDNライブラリーで確認してください。

その他の回答 (1)

  • itohh
  • ベストアンサー率45% (210/459)
回答No.1

こんにちは。itohhといいます。 エラーのあったコードを見せていただかないと、答えられませんよ。 それから、VBじゃないですよね?VC++なんですよね? VC++にDateAdd関数なんてありましたっけ?(勘違いならすみません)

desha
質問者

補足

itohhさん返信いただき、ありがとうございます。 わたくしはどうやらVBの関数を見ていたようです。すみませんでした。 下のようなコードを書いておりました。 void main(){ DATE date; date = DateAdd("m", 1, "31-Jan-95"); ・ ・ ・ return; } こんな感じです VC++での、これと似たような関数を調べるには、どのようにすればよいですか? もしご存知でしたら、教えてください。

関連するQ&A

  • Access2003でのDateAddの使い方

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

  • waveOutProc関数での定義

    waveOutProc関数での定義 MS・VS2003で開発しています。 waveOutProc関数を使用してWAVEの管理をしようと思ったのですが 'waveOutProc' : 定義されていない識別子です。 'waveOutProc' : 再定義; 以前の定義は '以前は不明な識別子' でした。 とエラーがでます。 waveOutProc関数というのは自分で定義しないとダメなんでしょうか?

  • VisualC++6.0にて、mbstowcs_s関数はつかえないのでしょうか?

    現在、VisualC++6.0をやっていますが、CString型変数をwchar_t型に変換しようと思い、自分で調べたところ、mbstowcs_s関数を使う方法がヒットしました。 しかし、コンパイルしてみると【'mbstowcs_s' : 定義されていない識別子です。】というエラーがでます。 view.cppとview.hの差し支えない場所に #include <stdlib.h>の一文も入れてあります。 まさか、そんなことは無いと思うのですが、もう10年位前のソフトですし、mbstowcs_s関数が使えないということはあるのでしょうか・・ ご存知の方、ございましたら、おしえてください。よろしくお願いします。

  • VC++.NET2003でユーザー関数内でMessageBox::Show()が使えません??

    VC++.NET 2003 のヘルプの、「チュートリアル : 簡単な Windows フォームの作成」に MessageBox::Show()関数を使ってHello,worldを表示させる例が書いていますが、 この関数を、自分で作った関数(フォームのクラスのメンバ関数で、 関数のコードはインライン関数でなく、cppファイル側に書いています)に持っていくと、 error C2653: 'MessageBoxA' : 識別子がクラス名でも名前空間名でもありません。 error C2660: 'System::Windows::Forms::Control::Show' : 関数に 1 個の引数を指定できません。 と、コンパイルエラーが出てしまいます。 MessageBox::Show()を自前の関数で使う方法を、 どなたか教えていただけないでしょうか?

  • VisualStudio6.0(C++)にてコンパイルが通らない(He

    VisualStudio6.0(C++)にてコンパイルが通らない(HelpMe)。 既存のPGに関数を追加して処理を増やそうとしたら、コンパイルで"定義されていない識別子です"とエラーになってしまいます。PGはこんな感じになります。 //-- UINT DoAllThread( LPVOID dammy); //-- void CHopeView::OnDoall(){   AfxBeginThread(DoAllThread,&tm); } //-- UINT DoAllThread( LPVOID dammy) { OnSeilf(); OnGailf(); OnKeilf();//今回この一行を追加したらコンパイルが通らなくなりました。 return 0; }; //-- void OnKeilf() { //--まだ何も処理を書いていない } エラー内容は error C2065: 'OnKrtlf' : 定義されていない識別子です。 error C2373: 'OnKrtlf' : 再定義されています。異なる型修飾子です。 になります。 宜しくお願いします。

  • 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ではあるでしょう。

  • クラスのメンバ関数を別ファイルで定義したときのバグ

    C++ においてヘッダファイルで宣言したクラスのメンバ関数を別のソースファイルで定義して、コンパイルするとうまくいきません。エラーは出ないのですが、同名の何もしない関数としてコンパイルされているようなのです。クラスのメンバ関数を宣言したのと同じヘッダに書くとちゃんとコンパイルされます。 どうしてそうなるのか、いまいち原因がわかりません。

  • 複数の関数から一つのファイルへ書き出していく方法について

    複数の関数から一つのファイルへ書き出していきたいのですが、それぞれの関数でそのファイルを開きなおしていると前に書き出したものが消えてしまいますよね。 そこで、 void function(ofstream &fout) のようにofstreamを関数の引数とすればよいということをどこかで聞いたのでやってみたのですが、"定義されていない識別子です"というエラーがでてしまいます。この方法が間違っているのでしょうか?間違っているなら他に良い方法はありませんか?教えてください。 コンパイラは、Visual C++を使用しています。プログラミングは初心者です。よろしくお願いします。

  • Pro*Cで動的SQLを実現する為のライブラリ関数はどのファイルに入っているのでしょうか?

    こんにちわ。 UNIXのC++でPro*Cを使って動的SQLを使ったプログラムを作っています。 プログラムコードは出来上がっていて、単独コンパイルは通るのですが、 実行形式のプログラムを作る時のリンクで「未定義のシンボル」として 以下の4ライブラリ関数がエラーになります。 sqlald()関数、sqlprc()関数、sqlnul()関数、sqlclu()関数 これはおそらく、リンクする際にこれらの関数が含まれているライブラリを リンクできていないだけなのではないかと思っているのですが、 肝心のライブラリがどこのどれなのかがわかりません。 どなたかご存知の方がいらっしゃいましたら、教えてください。 もしかして、プログラム中でもこれらの関数をextern する以外に 何か必要なのでしょうか?

  • 関数の引数にSTLを使う

    こんにちは。C++の勉強を最近始めました。 メンバ関数の引数に、STL(queue)を使おうとしています。 以下のように、参照にして使おうと思っています。 int test01::method(queue<int>& q) { return 0; } ですが、コンパイルしようとすると、 「識別子 'queue' がシンタックスエラーを起こしました。」 と言われてエラーになってしまいます・・・。 (他の箇所でqueueを使っていますが、そこではエラーは出ないので、 ヘッダファイルや名前空間はちゃんと指定できていると思います) STLに関する情報を集めてみたのですが、 引数にして使った例を見つけることができませんでした。 シンタックスエラーなので、文法や構文などが正しくないのだと思うのですが、 関数の引数にそもそもSTLを指定できないのか、 コーディングの仕方が間違っているのか、判断ができません。 どのようにしたら、引数に指定できるのでしょうか? ご存知の方がいらしたら、おしえていただきたいです。 よろしくおねがいします。

専門家に質問してみよう