tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: IF文で判断ミス
投稿日: 2009/05/15(Fri) 10:00
投稿者魔界の仮面弁士
> ※実際のソースをコピペはしていません。
> 見て頂く方にコピペでは分かり辛いですし、
「現象を再現可能」な「最低限のコード」を見せて頂けないでしょうか。

現象の再現しない、しかもコンパイルの通らないコードを提示されても、
第三者が問題箇所を指摘するのは難しいです。文法違反の指摘ならば容易ですが。

> INSDATARS!Min a はレコードセットですので
あれ?
Recordset なのは「INSDATARS」であって、「INSDATARS!Min a」ではありませんよね。

ADO 2.5 の階層型レコードセットや、DAO 12.0 の複数値型フィールドを使っている場合は、
フィールド値が別の子レコードセットを返す事もありえますが、今回の件では
そうでは無いみたいですし。

それに、Min と a の間の空白も、VB 構文としては文法エラーとして扱われるでしょう。
INSDATARS![Min a].Value や INSDATARS.Fields("Min a").Value といった
記述ならばできますが……。


> ソースの貼り付けだけではエラーになります。
『見て頂く方にコピペでは分かり辛いですし』とありましたが、このように
文法エラーなソースを見て、そこから元のコードを推測するというのは、
元のソースを貼り付けられる以上に難しいです。

もし、コードでの掲載ができないのであれば、現在の判定フローを日本語で
説明してみては如何でしょうか? そうすれば、ロジックが間違っているのか、
それともそのロジックを VB に書き起こす際にミスがあったのかを切り分けられる人が
居るかもしれません。


それと、MSFlexGrid1.TextMatrix が返す値は、数値では無く文字列です。
文字列と数値を型変換する事無く比較する事は避け、数値型/文字列型の
いずれかに統一してから比較するようにした方が良いでしょう。型を意識しておかないと、
 「"2" < 10」… True
 「"2" < "10"」… False
であるといった、分かりにくい問題を生む事になります。

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

古いスレッドにレスはつけられません。