- ベストアンサー
そのソースの意味
済みません。 このソースの意味を教えてください。 If lngRecCnt = 0 Then vsgTANA.Rows = 1 GoTo END_ROUTIN End If よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
あくまでも推測ですが、 レコード数が0のときに、1行目をカレント行にして 処理を終了するという感じでしょうか。 前後の処理が分からなければ、なんとも言いようが ありません。
その他の回答 (5)
- takasebou
- ベストアンサー率42% (61/144)
#4です。 どういうエラーかがわからないので何とも言えませんが、#5の方も言われているように、値にNullが入ってくるとエラーになりえます。 あとは intRow, enmCOL.SAI 辺りの値がきちんと範囲内になっているかどうかもあるでしょう。
- Azzuri
- ベストアンサー率68% (34/50)
ADORS.Fields("SAI").ValueにNULLが入る事はありませんか。 その場合、NULLを0に置き換えてやる必要があります。 また、以下の ElseIf ADORS.Fields("ZAIKONUM").Value = ADORS.Fields("ITEMNUM").Value Then の条件は、ADORS.Fields("SAI").Value = 0のときだけ判定 されますが、仕様なのでしょうか。 違う場合、If文を別に作成する必要があります。
- takasebou
- ベストアンサー率42% (61/144)
恐らくですが DBのレコードが0の時 > lngRecCnt = 0 フレックスグリッド、もしくはスプレッドなどのグリッド系のオブジェクトの総行数を1行にして > vsgTANA.Rows = 1 END_ROUTIN まで移動する ですね。 普通、グリッドの行は1行目はヘッダ行ですので、ヘッダのみ表示して消すのでしょう。。。 つまりいま表示してるデータを全てクリアする。って事だと思われます。
- todo36
- ベストアンサー率58% (728/1234)
妄想で回答します。 データベースでSelect文を実行して、結果が0行なら Grid(VS-FlexGrid Pro ver.6.0J)の固定行を残してクリアする。 データをGridに表示するロジックをスキップしてプロシージャの最後へ飛ぶ。
補足
If ADORS.Fields("SAI").Value < 0 Then .TextMatrix(intRow, enmCOL.SAI) = Format(ADORS.Fields("SAI").Value, "#,##0.#0") ElseIf ADORS.Fields("SAI").Value > 0 Then .TextMatrix(intRow, enmCOL.SAI) = Format(ADORS.Fields("SAI").Value, "+#,###.#0") ElseIf ADORS.Fields("ZAIKONUM").Value = ADORS.Fields("ITEMNUM").Value Then .TextMatrix(intRow, enmCOL.SAI) = ADORS.Fields("SAI").Value End If
- kiyama_t
- ベストアンサー率25% (19/74)
これだけでは、回答のしようがありません。 なんとなく、変数のネーミングから、 「もし、レコードカウントが0だったら、行数を1にして、ルーチン終了へジャンプ」 だろう、と思われますが。 lngRecCntの値は何か? vsgTANA(構造体?)のRowsの意味は? END_ROUTIN以下の処理はどうなっている? この辺を中心に、周辺のソースを確認してください。
補足
ありがとうございます。なんとなくわかりました。 出来ればもう一つ質問を 今までちゃんと動いていたところに以下のソースをつけた所エラーが出てきました。 何かおかしなところがあるのでしょうか? If ADORS.Fields("SAI").Value < 0 Then .TextMatrix(intRow, enmCOL.SAI) = Format(ADORS.Fields("SAI").Value, "#,##0.#0") ElseIf ADORS.Fields("SAI").Value > 0 Then .TextMatrix(intRow, enmCOL.SAI) = Format(ADORS.Fields("SAI").Value, "+#,###.#0") ElseIf ADORS.Fields("ZAIKONUM").Value = ADORS.Fields("ITEMNUM").Value Then .TextMatrix(intRow, enmCOL.SAI) = ADORS.Fields("SAI").Value End If お願いします。