Windows2000(SP4)
Delphi6 Personal
コンソールアプリケーションの形態で、CSVファイルを入力元として
Access97のMDBに、更新(Insert,Update)するプログラムを作ろうと
しています。
汎用性を持たせるため、CSV、MDBの項目構成は問いません。
項目の並びが同じであればOK。という考えです。
で、updateのSQLを発行するために必要なキー情報を取得したいのですが
tabledefsを取得するところで、EOleExceptionクラスの例外が発生します。
何がいけないのかご指摘下さい。
よろしくお願いします。
以下、コードです。
> var
> i:integer;
> objDBEngine : variant;
> objDatabase : variant;
> objWorkSpace : variant;
> objRecordset : variant;
> objTableDef : variant;
> (中略)
> PDm := MDBファイル名;
> PDt := テーブル名;
> (中略)
> objDBEngine := CreateOleObject('DAO.DBEngine.36');
> objWorkSpace := objDBEngine.Workspaces[0];
> objDatabase := objWorkSpace.OpenDatabase(PDm,False, False);
> //ここまではOKと思ってます。
> //この"objDatabase"を使ってselect文を発行すると、
> //データを読み出すことはできますので。
>
> objTableDef := objDatabase.TableDefs(PDt);
> //ここでエラー
>
> (後略)
>
自己レスです。
> objTableDef := objDatabase.TableDefs[PDt];
上記書式への改修により正常動作を確認しました。
お騒がせしました。
ツイート | ![]() |