Access: Einen als "deutsche Zahl" formatierten Wert aus Excel als String oder als Zahl mit korrekter Formatierung in Access mittels VBA einlesen

  • Access

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von stevez.

    Access: Einen als "deutsche Zahl" formatierten Wert aus Excel als String oder als Zahl mit korrekter Formatierung in Access mittels VBA einlesen

    Hallo,

    ich lese aktuell via VBA eine Excel-Liste ein. Dort existiert allerdings eine Gewichtsspalte, welche Zahlen formatiert im deutschen Format enthält (22.135,50). Wenn ich nun die ganze Zahl 22.135 (22135kg) importieren möchte, wird dies von Access direkt als 22,135kg (22kg + 135g) erkannt. An der Excel-Exportliste selbst kann / darf ich leider nichts verändern. Wie kann ich das Einlese-Zahlenformat (ggf. nur für diese Excel-Tabelle) auf das deutsche Format ändern?

    z.B. ähnlich wie in Excel
    Application.DecimalSeparator = ","
    Application.ThousandsSeparator = "."

    Eingelesen wird wie folgt:

    Quellcode

    1. Set xlw = xlx.Workbooks.Open(Pfad, , True)
    2. Set xls = xlw.Worksheets(1)
    3. Set rs = db.OpenRecordset("TabellenName", dbOpenDynaset)
    4. rs.Field(x) = xlc.Offset(y, x).Value

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

    Dabei kommt leider nur ziemlicher Müll heraus: aus der Excel-Zahl "24.800" wird "Ge12eral12u1ber" :D

    Ich denke das Hauptproblem ist, dass diese Zahl in Excel auch wirklich als "Zahl im deutschen Format" formatiert ist. Daher liest Access keinen String des Feldes, sondern direkt eine Zahl ein - aber halt im Programmstandard = US-Format. Daher müsste ich meiner Ansicht nach das Standard-Einleseformat VOR dem Einlesevorgang in das deutsche Format ändern...