- ベストアンサー
AccessのNULL値とSQL ServerのNULL値で違いはありますか?
SQL ServerのテーブルをAccessにODBCでリンクを貼っています。 AccessでSQL ServerのNULL項目を表示した際に挙動がおかしくなったので… そこでSQL ServerのテーブルのNULL値を空文字("")にしたら正常になりました。 AccessのNULL値とSQL ServerのNULL値で違いはありますか? ご存知の方がいましたらご教授お願いします。
- j-unico
- お礼率38% (26/67)
- SQL Server
- 回答数3
- ありがとう数1
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 それはおそらくリンクページに書かれている理由に該当するからではないかと思います。 >一意のインデックスを構成しているフィールド内に Null 値を含む、リンクされた ODBC テーブルを持っている。 であるとすれば、SQL ServerとAccessのNULLの差異の問題ではなく、両者を繋ぐODBCの仕様(SQL Serverのレコードをキーで特定するがNULLが含まれると特定できないからSQL Serverから何も返されず、#Deletedになる)ということになります。
その他の回答 (2)
- KHSSSK
- ベストアンサー率76% (13/17)
SQL2005+Access2003でやっています。 例えば取引先テーブルに住所1と住所2のフィールドがあったとします。 Accessのテーブルの場合 SELECT 住所1+住所2 AS アドレス とした場合、住所2がNULLのときでも住所1のみが表示されますが、SQLの場合はNULLになってしまいます。 SQLのテーブルの場合 SELECT 住所1+ISNULL(住所2,"") AS アドレス とします。したがって、SQLとAccessのNULLの取扱には注意が必要と思われます。
- jamshid6
- ベストアンサー率88% (591/669)
・SQL Serverのバージョン、Accessのバージョンは書く習慣にされるとよいと思います。 ・何をもって「挙動がおかしい」と判断されたのかが知りたいです。
関連するQ&A
- SQLサーバーに保存してあるクエリをアクセスで開くには?
SQLサーバーに保存してある「クエリ1.sql」をアクセスで開くにはどうすればいいでしょう? アクセスで「リンクテーブル」→「ODBC接続」 でテーブルのリンクはできているのですが クエリをリンクするにはどうすればいいでしょうか? 宜しくお願い致します。
- ベストアンサー
- SQL Server
- SQLサーバーのテーブルに対してアクセスで更新クエリを行ないたい
こんばんは。 ・vista ・アクセス2003 ・SQL Server 2005 です。 SQL ServerからテーブルをMDBへリンクしているのですが そのテーブルに対し、アクセス側で更新クエリを実行しようとすると 実行時エラー '3157': ODBC--リンク テーブル'テーブル名'での更新に失敗しました。 [Microsoft][ODBC SQL Server Driver]時間切れになりました。(#0) と言うエラーになり、更新クエリができません。 どうすればアクセスでSQLサーバーのテーブルに対して更新クエリを行えるのでしょうか? よろしくお願いします。
- ベストアンサー
- その他(データベース)
- SQL Serverの移行について
SQL Server2000からSQL Server2008へ 移行したいです。 Accessからリンクテーブルをして使用しています。 移行後、Accessのプログラムを実行しようとすると、 エラーが発生します。ODBC接続を使用しています。 リンクテーブルマネージャで再リンクしてみたのですが、 うまくいきませんでした。 何かうまくいくためのヒント等わかるかたいらっしゃいますでしょうか?
- 締切済み
- SQL Server
- SQLサーバのデータテーブルをAccessにリンクしたい
Windows Server 2003 SP2、SQL Server 2000 SP3の中のデータテーブルをaccess2000のmdbにリンクしたいのですが、ODBC経由で新規接続の設定を進めていくとリンクテーブル選択の時にテーブルが何も表示されません。 ご存知の方、解決方法や他に調べるところ、ヒントなどご教授いただけると大変ありがたいです。 よろしくお願いいたします。
- ベストアンサー
- SQL Server
- ACCESS2002でSQL Server2005のテーブルをODBC
ACCESS2002でSQL Server2005のテーブルをODBC接続でリンクさせています。(「外部データの取り込み」-「テーブルのリンク」) そのリンクしたテーブルのプロパティーを見ると「主キー」が設定されているのですが、プロシージャでこのテーブルをOpenし、IndexでSeekすることはサポートされていないのでしょうか?
- ベストアンサー
- Visual Basic
- Accessから、SQLサーバーへのリンク
ついこないだまでは、AccessからSQLサーバーへのテーブルリンクをしていたんですけど、貼りなおしをしようとしたら、リンクの種類とかすら何も選択出来ません! どうして???
- ベストアンサー
- その他(データベース)
- 【access】Null、Blank対策について
access2010を利用しツールを作成しております。 クエリでNull、Blank、長さ0の文字列に対する対策を取る場合、 推奨される手段はあるのでしょうか。 利用しているテーブルは以下の3種類です。 ・ローカルテーブル ・リンクテーブル(Excelリンク) ・ODBC経由 詳しい方、ご教示ください。
- ベストアンサー
- その他MS Office製品
- SQLサーバーを入れるにあたって
基本的なことですみません。 SQLサーバーを事務所にいれようとおもうのですが、 ・MySQLサーバーとWindouwsSQLサーバーの違いとは? ・SQLサーバーを入れることでODBC接続をしてACCESSや、BIツールと接続できる (複雑な処理がやりやすくなる)ようですが、導入する際に特別な技術がいるのでしょうか? ・SQLサーバーでデータクレンジングができる?とは? ・会社の共有フォルダーにデータをいれるのと、SQLサーバーにデータを取り込む手順の違いは? 上記、お教えいただけると大変たすかります。 (批判やひやかしはご容赦いただければとおもいます)
- ベストアンサー
- その他(インターネット・Webサービス)
- SQLの更新方法について
SQLの更新方法について 環境 OS:windows XP home sql server express2008 Microsoft SQL Server Management Studio 10.0.1600.22 現象 MS ACCESSからODBCを通してsql server express2008の中に作ったテーブル”TB01”にアクセスしていました。 あるときSQL Server Management StudioでTB01を削除しました。 ところがACCESSからODBCを通して接続すると削除したはずのテーブル”TB01”が見えていて リンクを張るとデータも出てきます、 ためしに新しくデータベースを作ってテーブルを作成してもODBCからは昔のままのテーブルしかありません。 SQL SERVERを再起動しても変わりません、どのようにすればSQLの内容を更新できるのでしょうか? どなたかお知恵を拝借願います。
- ベストアンサー
- SQL Server
- SQL Serverのテーブル追加を、Accessに反映させたいのですが・・・
SQL Server Enterprise Manager でテーブルの行を追加したのですがが、 リンクさせているAccessのテーブルに反映されません。 会社のDBで、テーブルをSQL Serverで作成し、 Accessへリンクさせています。 通常の入力業務はAccessで行っています。 このDBを作成した前任者が退職してしまい、 DBを管理できる人がいない状況です。 ネットで調べたところ、SQL Serverで、 「パブリケーションの新規作成」を行うか、 「DTSインポート/エクスポート」を行う必要がありそうなのですが、 これらの違いもわからず、 またAccesDBへの影響がわからず、うかつに試せない状況です。 SQL Server、Access共に全く明るくないため、 つたない文章で申し訳ありませんが、 どなたか、テーブルの追加を反映させる方法を 教えて頂けませんでしょうか。
- ベストアンサー
- SQL Server
お礼
説明不足ですみません。 > ・SQL Serverのバージョン、Accessのバージョンは書く習慣にされるとよいと思います。 SQL Serverは2005です。 Accessは2003です。 > ・何をもって「挙動がおかしい」と判断されたのかが知りたいです。 フォームにサブフォームを貼り付けた画面でフォームでプルダウンで 選択、またはテキストボックスに入力して、サブフォームに移動したら フォームの値が全て「#Deleted」となってしまいました。 ※フォームは直接、テーブルのフィールドに結合しています。 私の認識では表示しているレコードを削除した際に「#Deleted」と 表示されると思っていますが間違っているでしょうか? ※テーブルを直接、開いて確認したらレコードは存在していました。 最初はリレーションの問題かと思ってリレーションを貼ったりして 色々と試してみましたが改善されませんでした。 プルダウンで選択した情報をフォームの各コントロールに代入 しているのでどの時に「#Deleted」が表示されてしまうのかを 確認したら空白(NULL)がある時に起きているのがわかりました。 それでNULL値を空文字("")にして再度、実行したら解消されたので AccessとSQL Serverで違いがあるのかと思って投稿しました。 理解していただけましたでしょうか? 再度、宜しくお願いします。