Date: Fri, 11 Jan 2002 10:27:20 +0900
From: "Akira Horikawa" <who@example.ne.jp>
堀川です、おはようございます
SQLServerユーザグループ(PASSJ)のWeb連載記事の
原稿を書いて気がついたのですが、
http://www.sqlpassj.org/begin/series/default.asp
Access2002(Office-xp)プロジェクトで、等結合を行なった
表(1側テーブルと多側テーブルから列を抜き出したもの)
をストアドプロシージャで作成し、そのストアドプロシージャ
に連結したフォームの作成をしたところ、
『固有のテーブル』プロパティ
の設定がまったくできませんでした。
このような経験をされましたか?
Access2000では、『固有のテーブル』プロパティのリスト
ボックスを開くと、
http://www.horikawa.ne.jp/msde/gihyo/sql23/form052.html
このように、1側テーブル名と多側テーブル名が表示され
ちゃんと選択することができました。
Access2002のバグでしょうかねー
結局、フォームのLoadイベントの中で、VBAプログラムから
UniqueTableプロパティに値を代入することができたので、目的
は達成できたので、済んだことです。
しかしいちいちプログラムから設定するのは問題だなー
Access2002では、コントロールの連結先レコードソースの
列名が、手入力できるようになったので、複雑なストアドプロ
シージャを作成しても連結フォームが作れると喜んでいた
矢先にこの問題です。
私だけの固有の問題なら、いいのに。。。
連結したストアドプロシージャです
CREATE PROCEDURE dbo.患者検索
( @ST int,
@ED int
)
AS
SELECT
dbo.患者.患者ID,
dbo.患者.姓,
dbo.患者.名,
dbo.患者.主治医,
dbo.医師.医師の名前,
dbo.医師.医師の電話番号
FROM 医師 INNER JOIN 患者
ON dbo.医師.医師ID = dbo.患者.主治医
WHERE (dbo.患者.患者ID >= @ST) AND
(dbo.患者.患者ID <= @ED)
ORDER BY dbo.患者.患者ID
Accessのクエリでデザインしたものなので、BETWEENは
使っていません
それからもうひとつ、不思議なことは、Access2002では
ビュー表の規則を破って、1側テーブルに関する列の値
も修正することができました。
上の例では、「医師の名前」と「医師の電話番号」の列の
修正ができます。
これも私の固有の問題だったらいいのですが、これが拡張
された仕様なのでしょうか?
ヘルプのドキュメントには、ちゃんとビュー表の規則に従って
多側レコードの修正しかできないと書かれていました。
マイクロソフト社は、Accessプロジェクトに関して、十分な
正しいドキュメントをまだ作っていないのでしょうか?
まだユーザが少ないからと考えていたら、とても残念な
ことです。
---------------------------------------------------
(株)日本技術ソフト開発 堀川 明
mailto:who@example.ne.jp
http://www.horikawa.ne.jp/msde/
01月11日(金曜日) 10時26分記
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|