Automatisches Runden bei Datenübergabe aus Access

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Automatisches Runden bei Datenübergabe aus Access

    Hallo zusammen,
    erstmal danke für die Aufnahme ich hoffe hier ein paar gute Tipps zu bekommen . Mein Problem:
    Ich habe eine Access Datenbank aus dem ich die Daten auslese, die Felder sind als double formatiert.
    Meine Variable (az) ist auch als double formatiert.

    VB.NET-Quellcode

    1. dim az as double
    2. Dim row As DataRow
    3. For Each row In Zeitv1DataSet.data.Rows
    4. az = row!zeit
    5. MessageBox.Show(az)
    6. next

    leider wird mir az grundsätzlich als ganze Zahl angezeigt obwohl in der Tabelle eine Kommazahl (2 Stellen) ist.
    Irgendwie finde ich nichts in der Richtung bei Google (oder ich bin blind... kann natürlich auch sein ;) )

    CodeTags gesetzt ~VaporiZed

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Willkommen im Forum.

    Zeile#4 ist an sich nicht VB.NET-kompatibel. Oh, naja, irgendwie doch. Überraschend …
    Daran dürfte es liegen. Proibier es mal mit row.zeit

    Is ja witzig.
    Da wird dann erst zur Laufzeit ausgewertet, was hinter dem ! steht. Und dann knallt's erst später, wenn's Blödsinn ist. Also, weg mit dem ! und . dahinsetzen. Dann klappt's auch mit IntelliSense.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Und was passiert, wenn Du in Post#1 die Zeile#2 entfernst? Dann wird dem Compiler automatisch (mit Option Infer On) klar, welchen Datentyp Row haben wird. Und da ist dann auch Zeit als Member vor.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Dann muss er oder sie aber auch zeile #3 ändern, denn wies ist kommt row immer als DataRow raus. Mein Vorschlag:

    VB.NET-Quellcode

    1. For Each row In Zeitv1DataSet.data
    2. dim az = row.zeit
    3. MessageBox.Show(az)
    4. next
    Das wäre jetzt, wie man mit einem typisierten Dataset umgeht - ich glaub, das ist hier gegeben.
    Und nun kann man auch leicht nachgucken, wie die Datentypen wirklich sind: Video-Tut: Welchen Datentyp hat das Objekt?