Takeshiです、新規に質問します。
■動 作 環 境 : Windows2000
■開 発 環 境 :Visual C++6.0(MFC使用,ODBC接続)
■データベース:Access2000
------------------------------------------
まず、Microsoft Access2000で作成したデータベースがあります。
このデータベースは2つのテーブルを持っています。
一つは、メインとなるテーブル(TBL1)で複数のフィールド(A,B,C)を持ちます。
もう一方は、サブ的なテーブル(TBL2)で一つのフィールド(D)を持ちます。
メインテーブル(TBL1)のフィールドの一つ(C)が、
サブ的テーブル(TBL2)のフィールド(D)を連係しています。
つまり、メインテーブル(TBL1)のフィールド(C)のデータ入力時には
サブ的テーブル(TBL2)のフィールド(D)から選択する訳です。
(例)
▼社員情報のテーブル
名前(文字列)
年齢(数値)
趣味(趣味テーブルの趣味一覧より選択)
▼趣味のテーブル
趣味一覧(文字列)
------------------------------------------
こういう前提があるとして、
社員_RS.Open
(CRecordset::snapshot,select * from TBL_社員情報,CRecordset::readOnly);
これで TBL_社員情報 の持つ全フィールド(3つ)をレコードセット 社員_RS として
カプセル化します。
社員_RS.GetFieldValue(趣味,趣味_CString);
そして TBL_社員情報 のフィールド 趣味 の値を CString型のOBJ 趣味_CString に
取得するとします。
実行すると、残念ながら「これは無効なフィールド名である」となってエラーになります。
社員_RS.GetFieldValue(趣味一覧,趣味_CString);
としても駄目でした。こういう連係したDBの場合は
どのようにフィールド名を指定すれば良いのでしょうか?
宜しくお願い致します。
フィールド名が漢字っていうところに違和感を感じるのですが、大丈夫なのでしょうか。
CRecordset::GetFieldValue()は確か、フィールド名を指定しなくても
番号指定で取得できたと思いますが、それもだめですか?
お世話になっております。
フィールド名はあえて説明を分かり易くする為に漢字にしただけで、
実際はアルファベットです。
つまり、フィールド名ではなく通番でも指定できるという事ですね?
一つ目なら 1 というような感じですね。
分かりました。試してみます。
ありがとうございました。
OKです!!
うまくフィールドを読み込めました。
ありがとうございました。