VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2002/08/20(Tue) 12:08
投稿者びっぐむーん
Eメールbobble2@yahoo.co.jp
URL
タイトルレコードカウントの取得についての質問

はじめまして。
教えて頂きたいことがあります。

初めに私の勤務している会社では開発は全て外注に出している為に私自身プログラムの開発は
ほとんどできません。
(ソースを見るくらいのレベルです)
ですから説明に至らぬところが多々あるとは思いますが、その辺りを踏まえてご教授願えたらと思い
ます。

実行環境 VB5.0
         ORACLE 7.3.4
         WINDOWS NT 4.0

    ORACLEへの接続 OO4O

処理内容 VBの画面から伝票b入力しその伝票データの内容を画面上に表示させる。

画面機能 F3  KEY データ検索
    F9  KEY 画面クリア(F3で読み込んだデータをの画面クリア)
    F10 KEY 終了

オラクル上に伝票データがあり、それを画面から伝票b入力して該当するデータの内容を画面に
表示させるのですが、1伝票bノ対して明細が20行を超えると、なぜか画面には20行しか
表示されません。
しかし一度F9の画面クリアを押した後に再度同じ伝票b入力すると何故か今度は正しく表示され
ます。

この伝票内容検索の画面を立ち上げた後、一番最初に検索を行う伝票が20行を超えた時だけ
こんな現象が発生します。

オラクルのテーブルから読んできたデータを画面に表示させる際に

WHILE NOT oraRST.EOF
(値を代入する処理)
WEND

で画面上の項目に代入していっているんですが

例えば26行明細の伝票を検索した際、
画面を立ち上げた時の一回目のoraRST.RECORDCOUNT は 20(←これがおかしい!!)
                    2回目以降は正しく26と返ってきます。

また明細件数が20行ぴったりだった場合は
oraRST.RECORDCOUNTは20なんですがWHILE 〜 WEND のループを21回まわってしまいます。
(20行処理したにも関わらずEOFを検知しない。結果として画面上には20行目のデータが
 ダブって表示され21行明細の様に表示される(この現象も画面を立ち上げた時の一回目のみ
 で2回目以降は20行で正しく表示されます))

なぜ立ち上げた一回目の伝票が20行を超えた時だけこんな現象がおこるのでしょうか?

開発元にも確認をとってもらっているんですが、原因不明という答えしか返ってきません。
どうか宜しくお願いします。

長々とすいませんでした。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -