- PR -

Access2007 + Oracle(ODBC) でクエリが正常に動かない

1
投稿者投稿内容
よこ
会議室デビュー日: 2009/02/25
投稿数: 3
投稿日時: 2009-02-25 16:23
はじめまして。よろしくお願い致します。
MicrosoftAccess:2007 SP1
OracleClient :10.2.0.4
OracleServer :10.0.1
OS :WindowsVista

AccessからOracleテーブルにODBCを使用してリンクしています。
Oracleのテーブルは、以下のような感じです。

申請データ
管理番号 NUMBER(5) Primary Key
社員コード NUMBER(5)
申請内容 VARCHAR2(50)

社員マスタ
社員コード NUMBER(5) Primary Key
氏名 VARCHAR2(50)

この2つのテーブルを使い、Accessで、以下のようなクエリを作成しています。
(実際にはスキーマ名が付いたりしていますが、省略します。)
SELECT 申請データ.管理番号, 申請データ.社員コード,
社員マスタ.氏名, 申請データ.申請内容
FROM 申請データ INNER JOIN 社員マスタ
ON 申請データ.社員コード = 社員マスタ.社員コード;

普通は、このクエリをデータシートビューで開き、「社員コード」にマスタに存在する
コードを入力すると、対応する「氏名」が自動的に表示されると思います。
ところが、このAccess2007の環境では「氏名」が表示されません。
データを入力して一度クエリを閉じ、開くと、先ほど入力したデータには、対応する
氏名がきちんと表示されています。
特にエラー等は表示されません。
この「社員コード」が VARCHAR2 の場合は、問題なく動きます。

同じテーブル・同じクエリ、同じOracleClientで、Access2000〜2003では、今まで特に
問題なく動いてきました。
また、これは1年以上前から悩んでいる現象でして、その当時は SQLServerのテーブル
でも同じ現象が発生していました。
ただ、最近になって久しぶりに試したら、SQLServerの方は現象が発生しなくなっていま
した。

以上のような状況なのですが、同じ現象に遭遇したことのある方、解決方法に心当たりの
ある方がいらっしゃいましたら、情報をいただけませんでしょうか。
どうぞよろしくお願い致します。
よこ
会議室デビュー日: 2009/02/25
投稿数: 3
投稿日時: 2009-03-09 12:14
自己レス・・・と言いますか、ご報告です。
その後、マイクロソフトに問い合わせまして、Access2007の不具合であるらしいという
ことが分かりました。
また、SQL Server でも同様の現象が発生するそうです。
(私が「直っている」と思ったのは勘違いだったようです。)
未だ回避方法は判明しておりませんので、同じ現象に悩んでらっしゃる方がいましたら、
「2007はしばらく使わない」という方向をお勧めいたします・・・。
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2009-03-09 13:03
古い記事 & よく読んでいない & そもそもAccess2007は使って居無い & その他もろもろ・・・なので外してたらすみませんが

ちょっと調べ物をしているうちに、Access 2000は汎用的なデータベースシステム開発ツールになりえるか?なんて関係のありそうな記事を見つけたのですが、参考になりますでしょうか?

# 改めて・・・全く参考にならなかった場合は申し訳ありません・・・
よこ
会議室デビュー日: 2009/02/25
投稿数: 3
投稿日時: 2009-03-09 13:19
冬寂さま、レスありがとうございます。
ざっと拝見させていただきましたが、今回の件とは関係無いようです。
今回の問題はAccess2000〜2003では起きませんし、また、ここで書かれているような
複雑なことはしておらず、リンクテーブルを使用した場合に発生します。
せっかく書き込みをいただいたのに申し訳ございません。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)