Original-:So finden Sie Record Set Wert ist Nummer oder String?
VB6
Wenn rsCardEvent (4) .Value = Str Dann timout = rsCardEvent (4) Else TimeOut = Left (timout, 2) & ":" & Mid (timout, 3, 2) & ":" & Right (timout, 2) End If
Type Mismatch Fehler. Wie Record Set-Wert zu finden ist String oder Nummer
genau muss ich
Wenn Anzahl Druckzahl wie Time Format bedeutet (HH: MM: SS) sonst Druckzeichenfolge Wert
Coding-Hilfe die obige Bedingung
Edited Version:
Ich arbeite mit einem ADO.Recordset
Objekt und versuche, den Datentyp einer Spalte zur Laufzeit zu bestimmen. Ich muss den Spaltenwert in meinem Code abhängig vom zugrunde liegenden Datentyp unterschiedlich behandeln. Wenn der Spaltenwert eine Zeichenfolge ist, möchte ich mit dem Wert arbeiten, wie er ist. Wenn es sich um eine Zahl handelt, möchte ich die Zahl als gepackte Zeit behandeln und in das Format HH:MM:SS
konvertieren (d. H., Die Zahl 120537
würde in die Zeichenfolge "12:05:37"
umgewandelt).
Unten ist ein Beispielcode, der zeigt, was ich erreichen möchte. Allerdings, wenn ich diesen Code ausführen bekomme ich einen "Type Mismatch" Fehler:
If rsCardEvent(4).Value = Str Then
TimOut = rsCardEvent(4)
Else
TimeOut = Left(TimOut, 2) & ":" & Mid(TimOut, 3, 2) & ":" & Right(TimOut, 2)
End If
Es wäre interessant, den Typ von TimOut (Zeichenfolge?) Und den Typ der Spalte in Ihrer Abfrage zu kennen. Können Sie den SQL und auch den zugrunde liegenden Typ in die Datenbank des Feldes eintragen, das Sie gerade lesen?(Wenn es nur ein Feld ist) – MarkJ
Ich fügte eine umformulierte Version der Frage hinzu, behielt aber das Original für den Fall, dass meine bearbeitete Version nicht der ursprünglichen Absicht des Autors entspricht. @Jash, wenn du zustimmst, dass die bearbeitete Version Übereinstimmungen haben möchtest, die du sagen möchtest und nichts dagegen hat, dass ich diese Änderung mache, kann ich das Original entfernen und die bearbeitete Version behalten. –
Ich bin ein wenig verwirrt, wie Sie wirklich verschiedene Datentypen in rsCardEvent (4) bekommen können. Führen Sie manchmal eine andere Abfrage aus? Oder ist das zugrunde liegende Feld ein Variantenfeld? Auch der Else-Zweig von If ignoriert rsCardEvent komplett, was komisch aussieht. – MarkJ