オリジナル:レコードセットの値を見つける方法は数値か文字列ですか?
rsCardEvent(4).Valueの=筋力そして TIMOUT = rsCardEvent(4)それ以外 TimeOutの=左(TIMOUT、2)&場合VB6
の使用 ":" &ミッド(TIMOUT、3、2)& ":" &右(TIMOUT、2)
は、型の不一致エラーを取得した場合 終了。ヘルプをコーディング(HH:MM:SS) 他 印刷文字列値
録音設定された値は数時間形式のようにプリント数を意味する場合はまさに私が
を必要とする文字列または数
で見つける方法 上記の条件
編集されたバージョン:
私はADO.Recordset
オブジェクトを使用しており、実行時に列のデータ型を決定しようとしています。その基になるデータ型に応じて、コード内で列の値を異なる方法で処理する必要があります。列の値が文字列の場合、そのままの値で作業したい。数字の場合は数字をパックタイムとして扱い、HH:MM:SS
形式に変換します(数字120537
は文字列"12:05:37"
に変換されます)。
以下は、達成したいことを示すサンプルコードです。私はこのコードを実行するときしかし、私は「型が一致しません」のエラーが表示されます。
If rsCardEvent(4).Value = Str Then
TimOut = rsCardEvent(4)
Else
TimeOut = Left(TimOut, 2) & ":" & Mid(TimOut, 3, 2) & ":" & Right(TimOut, 2)
End If
TimOut(string?)の種類とクエリの列の種類を知ることは興味深いでしょう。あなたはあなたが読んでいるフィールドのデータベースにSQLと基になる型を投稿できますか?(フィールドが1つだけの場合) – MarkJ
質問の言い換えられたバージョンを追加しましたが、私の編集したバージョンが著者のオリジナルの意図に当てはまらない場合に備えてオリジナルを保持しました。 @ジャッシュ、私がこの変更をしても構わないと言って欲しいと思った編集のバージョンの一致に同意するならば、私はオリジナルを削除し、編集されたバージョンを保持することができます。 –
rsCardEvent(4)で実際に異なるデータ型を取得する方法について、ちょっと混乱しています。時には別のクエリを実行していますか?または、基礎となるフィールドがバリアントフィールドですか?また、IfのElseブランチは、奇妙に見えるrsCardEventを完全に無視します。 – MarkJ