掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
フィールド番号を取得することは可能ですか? (ID:10187)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>HOtaさん FieldNoの件、ありがとうございます。 試してみましたが、相変わらずOleExcptionが発生します。 何かオブジェクトの指定方法など根本的な部分が間違っているように 思いますが、ネット検索でもあまり事例がないようです。 リファレンスなど解説していただいているサイトなどご存知ないでしょうか? > CoInitialize(nil); > objDBEngine := CreateOleObject('DAO.DBEngine.36'); > objWorkSpace := objDBEngine.Workspaces[0]; > objDatabase := objWorkSpace.OpenDatabase(PDm,False, False); > objTableDef := objDatabase.TableDefs[PDt]; > //objRecordset := objDatabase.OpenRecordset('SELECT * FROM ' + PDt); //(3) > > //キー情報の組立 > for i := 0 to objDatabase.TableDefs[PDt].Indexes['PrimaryKey'].Fields.Count - 1 do > begin > > wk := objDatabase.TableDefs[PDt].Indexes['PrimaryKey'].Fields[i].Name; > showmessage(wk); > //ここまではOK。フィールド名は正しく格納できる。 > > //showmessage(objDatabase.TableDefs[PDt].Indexes['PrimaryKey'].Fields[i].FieldNo); > //showmessage(objRecordset.FieldByName[wk].FieldNo); > showmessage(objDatabase.TableDefs[PDt].FieldByName[wk].FieldNo); ↑ここでOleException。 FieldByNameをサポートしていないと表示。 > > end; > > //いろいろ閉じる > objDatabase.Close; > objWorkSpace.Close; > CoUninitialize; > > //終了 > halt(RC); >
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.