VB.netにてSAP BAPIの戻り値を参照する際にエラーとなり困っています。
--- Connection処理 ---
--- BAPIコール ---
objReturnが結果として戻ってくる
--- BAPIコール(終了) ---
dim objStr as Object
for i = 1 as integer to objReturn.Rowcount
for j = 1 as integer to 10 '項目数
objStr = objReturn.Value(i,j)
next j
next i
--- Connection切断 ---
上記記載の場合、特に問題なくデータ取得できるのですが、
objReturnのデータ量が大きいため以下の様にして高速化を計りました。
--- Connection処理 ---
--- BAPIコール ---
objReturnが結果として戻ってくる
--- BAPIコール(終了) ---
dim aryReturn as Object
dim objStr as Object
aryReturn = objReturn.Data
for i = 1 as integer to objReturn.Rowcount
for j = 1 as integer to 10 '項目数
objStr = aryReturn(i,j)
next j
next i
--- Connection切断 ---
この時、5万件程度のデータであれば取得できたのですが、
10万件以上のデータを取得しようとした際に
エラーとなってしまいました。
(データ取得できなかった模様・・・)
Dataメソッドでデータを取得する場合、データ量などによる制限があるのでしょうか?
また、objReturnの内容参照をする別の方法がありますでしょうか?
(Valueでは、件数が大きくなると格段に処理速度が落ちているようです)
抽象的な質問で申し訳ありませんが、ご教授の程よろしくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは。
ぱっと見た目ですがinteger型は正数32,767までしか入らずそれ以上はオーバーフローします。
Long型ならば100,000,000でも入ります。
この回答への補足
早速の回答ありがとうございます。
ただ、VB6のIntegerは確かに32,767までだったのですが、
VB.netのIntegerは2,147,483,647まで拡張されているようです。
(自分も今日知った次第ですが・・・><)
5万でも取得できていますので、そこが原因ではないと考えております。
また、1件目からエラーが発生しています。
objStr = aryReturn(i,j) ←の地点
とはいえ、こちら知識不足ですのでこれからもご教示お願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) Sub 分けてソートして貼り付ける() Dim srcSheet As Worksheet Dim 6 2023/08/04 19:57
- Visual Basic(VBA) エクセルVBAで以下のようなコードを書いたらエラーになりました。何処が間違っているの教えて? 1 2023/02/10 18:30
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) vba 重複データ合算 5 2023/07/05 18:55
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) VBA 配列を使ったコードに直していただけますか 4 2023/05/06 15:18
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XMLでデータとして画像を指定す...
-
【ExcelVBA】値を変更しながら...
-
VBAでアクセスDBからデータの取...
-
【C#】textBoxの指定行のデータ...
-
富士通(汎用機)のAIMについて
-
【VB.NET】Excelの最終行までの...
-
エクセルデータをVBで検索でき...
-
batでレジストリキーから読み取...
-
COBOL数値転記の仕様
-
java / jsp selectedについて
-
ActiveReportのdetailをデータ...
-
Excel VBAでフォルダ内の全テキ...
-
クリスタルレポートでレコード...
-
VB2010で、選択した系列を最前...
-
C# DataTableに最後に追加した...
-
OleDbDataReaderでExcelデータ...
-
Excel VBAでXML形式のデータを...
-
エクセルのマクロ コンボボッ...
-
非同期のプロセス間通信(パイプ...
-
「Nullの使い方が不正です」の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#】textBoxの指定行のデータ...
-
「Nullの使い方が不正です」の...
-
VBAでアクセスDBからデータの取...
-
【VB.NET】Excelの最終行までの...
-
Excel VBAでフォルダ内の全テキ...
-
C# DataTableに最後に追加した...
-
XMLでデータとして画像を指定す...
-
VBAコンボボックスの内容が反映...
-
MSFlexGrid 行選択状態
-
COBOL数値転記の仕様
-
クリスタルレポートでレコード...
-
非同期のプロセス間通信(パイプ...
-
ActiveReportのdetailをデータ...
-
アクセスでウェブ上のデータを...
-
Excel VBAでグループ毎に集計す...
-
batでレジストリキーから読み取...
-
富士通(汎用機)のAIMについて
-
Web画面のTableから数字を取得...
-
エクセルのCSV読み込みについて
-
Excel VBA で日付を4ケタの数値...
おすすめ情報