開発環境はVC++.Net Office2000 SDK開発
お世話になります。
ExcelをADOを使い中身を見ようとしているのですが、
フィールド名が無いので序数でフィールドにアクセスしようとしていますが
「要求された名前、または序数に対応する項目がコレクションで見つかりません」
とエラーが出てしまいます。
GetItemに序数を入れているつもりなのですがうまく行きません。
ただ、列名を入れればアクセスできるので、序数の指定以外は問題ないと思っています。
プログラムは以下のようにしていますが、何か解決の糸口はありませんか?
TESTHRxls(lpRecordset.CreateInstance(__uuidof(Recordset)));
TESTHRxls(lpRecordset->Open(bsCommand,bsConn,adOpenDynamic,adLockPessimistic,adCmdText));
lpRecordset->MoveFirst();//先頭へ移動
while(!(lpRecordset->EndOfFile)){
vIndex=1;
_bstr_t testValue = lpRecordset->Fields->Count;
int testValue2 = lpRecordset->Fields->GetItem(vIndex)->Value;
lpRecordset->MoveNext();
}//--while(!(lpRecordset->EndOfFile)){
lpRecordset->Close();
No.1ベストアンサー
- 回答日時:
ご指定の環境での経験が無いので、自信ありませんが、
まず、testValueは2以上ですよね?
int testValue2 = lpRecordset->Fields->GetItem(vIndex)->GetValue();
または
int testValue2 = lpRecordset->Fields->Item[vIndex]->Value;
を試してみてください
回答ありがとうございます。
いろいろ探した所、Microsoftのサポートの中にVC++でエクセルにアクセスする場合の文章があり、
そこでVC++の場合にはGetValue()でアクセスするとの記述があり
それで成功しました。
ご指摘の
int testValue2 = lpRecordset->Fields->GetItem(vIndex)->GetValue();
で値の取得ができました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 順序集合における「反射律」の役割について 9 2022/05/09 23:01
- gooポイント gooポイントをdポイントに交換できない。 3 2022/04/22 20:39
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Outlook(アウトルック) outlookの送信エラーについて 1 2022/05/13 12:04
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Access(アクセス) アクセス レポートを開いたときにパラメーターの自動入力がしたい 4 2022/11/30 11:21
- メディア・マスコミ 皇室批判のコメントとこれからについて 6 2023/07/29 20:49
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- Excel(エクセル) Excelを開くとエラーが出る 2 2022/10/03 16:13
- 警察・消防 高級警察官僚の出世で、 警察官序列3位の警察庁次長が、序列1位の長官になりますが、なぜ序列2位の警視 3 2022/12/15 21:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数桁10進数の*桁目だけを抽出...
-
「指定されたキャストは有効で...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語での奇数の和
-
C言語での引数の省略方法
-
【C++】関数ポインタの使い方
-
足して100になるような乱数のア...
-
C言語
-
C言語 エラーの原因がわからな...
-
比較回数と交換回数表示について
-
数字列を3桁ごとにカンマで区切...
-
C言語のサイコロシミュレート
-
acceptをalarmでタイムアウトさ...
-
「{ } で囲むだけ」は正しい?
-
銀行のATMを想定したプログラム
-
未解決の外部シンボル _printf...
-
if と配列の組み合わせ
-
ラップ関数とはどんなものですか?
-
signal関数の使い方
-
インライン展開されているか確...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
「指定されたキャストは有効で...
-
C言語 配列と関数の練習問題
-
複数桁10進数の*桁目だけを抽出...
-
(int *)の意味
-
if と配列の組み合わせ
-
ラップ関数とはどんなものですか?
-
卒業研究でよく分からないとこ...
-
【C++】関数ポインタの使い方
-
c言語
-
足して100になるような乱数のア...
-
C言語初心者です、、、お助けく...
-
数字列を3桁ごとにカンマで区切...
-
C言語 エラーの原因がわからな...
-
実数の整数部,小数部の取得
-
課題でつまってます・・・
-
商と剰余を同時に求める(C言語)
-
C言語の配列をC++のvectorに高...
-
std::set<int> で、ある値が何...
おすすめ情報