重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

SQLServer2008 ですが、日付のフィールドにこれまで使っていたDatetime型をDate型にしてみました。

連結Formでの画面表示が「2009/07/27」→「2009-07-27」に変わりました。
テーブルの表示時も同様に「-」になりました。

  Dim wk_date date
  if SQL_date = wk_date then
  ・・・

上記のAccessVABのIF文で・・・
実際には同じ日付なのにマッチしなくなってしまいました。
Format関数で「yyyy-mm-dd」へ変換すればマッチします。
上記のwk_dateをSQLのフィールドに代入し書き込むとエラーにならず
「yyyy-mm-dd」の形へ変換されています。

質問
(1) 「-」でなく今まで通りの「/」にする事は出来ないでしょうか?
(2) 比較時は変換するしかないのでしょうか?
  (代入時は自動的に変換できているのに比較時も自動でやってくれても良さそうなんですが・・・)

A 回答 (2件)

#1です。


そうですか、失礼しました。ADPでしたね。(質問者さんの名前を見ないで回答してしまいました)

MDBの場合はODBC経由でプロバイダを指定できますから、問題ないと思ったのですが、ADPは接続時に使うプロバイダがSQLOLEDB(OLEDB Provider for SQL Server)に固定されていて、SQLNCLI10(SQL Server Native Client 10.0)を使わせることはできないのではないかと思います(別にVBAでADO接続を開けば別ですが)。
結局ADPではSQL Server 2005/2008の新機能を完全には使えないということになりますね。

今回は連結フォームということなので、今のままいくか、datetimeに変換したビューでも用意するしかないと思います。

>SQL Native Client はサーバーにインストールするのでしょうか、クライアントでしょうか?
クライアントです。SQLNCLI10は通常SQL Server 2008をインストールするときに指定すれば一緒にインストールされるものなので、入れても影響があるとは思いませんが、でも上記の通りで入れても本件は解決しないと思います。
    • good
    • 0
この回答へのお礼

名前を覚えていてくださってありがとうございます。

datetimeに変換したビューやFormatでの変換で進めます。

ありがとうございました。

お礼日時:2009/07/25 12:31

推測ですが、SQL Server 2005用のSQL Native Clientを使っているのではないかと思います。


(2005用のを使うと確かにそのように「yyyy-mm-dd」になるので)
DATE型などは2008からなので、SQL Server 2008用のSQL Native Client10.0を使ってみては?

この回答への補足

回答ありがとうございます。

MSDNでSQL Native Client について読んでみたのですが、イマイチ理解できません。
当方スキル不足なので試すのも下記の懸念があり、躊躇しています。

教えて下さい・・・
(1) SQL Native Client はサーバーにインストールするのでしょうか、クライアントでしょうか?
(2) インストールしても既に動いているアプリ(AccessのADPで開発)に影響はないでしょうか?

補足日時:2009/07/25 00:59
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す