none
Access 2016 - Falscher Datentyp bei externer Verknüpfung mit SQL-Server (MS Dynamics) RRS feed

  • Frage

  • Hallo,

    von einer Microsoft Agentin bin ich mit meiner ursprünglich im Community-Forum gestellten Frage an die MSDN Foren vewiesen worden (ursprünglicher Thread: https://answers.microsoft.com/de-de/msoffice/forum/msoffice_access-mso_win10-mso_2016/access-2016-falscher-datentyp-bei-externer/7d7812f4-e79d-4841-9d4f-3d43aad6d038 )

    Also nehme ich mal an, hier bin ich mit meiner Frage nunmehr richtig. Folgender Sachverhalt:

    ich habe eine Verknüpfung in Access 2016 auf externe Daten (SQL-Datenbanktabelle NAVISION bzw. MS Dynamics 2013). Leider werden die Felddatentypen in der verknüpften Tabelle falsch erkannt. Statt Zahl wird der Felddatentyp Text vorgegeben.

    Ich habe bereits recherchiert, dass Access den Datentyp bei Erstellen der Verknüpfung automatisch anhand der ersten Zeilen der SQL-Tabelle festlegt. Die Daten in den entsprechenden Feldern der SQL-Tabelle sind aber durchweg Zahlen und sollten als solche auch erkannt werden. Wenn ich dieselbe Verknüpfung aus Excel 2016 heraus erstelle, werden die Felder auch richtig als Zahlen erkannt und im Abfrageeditor wird mir auch der richtige Datentyp "Dezimalzahl" angezeigt. Also warum funktioniert das in Access nicht? Und kann man auch aus Access heraus irgendwie den Abfrageeditor starten und den Felddatentyp manuell ändern?

    Gruss

    Joern


    • Bearbeitet Joern4 Montag, 21. Mai 2018 09:45
    Montag, 21. Mai 2018 09:44

Antworten

  • Hallo Joern,

    ich denke, dass der / die zugrunde liegende Datentyp(en) in der SQL Datenbank zu groß ist. Access unterstützt z.B. maximal 28 Dezimalstellen bei einem "decimal". Größere Datentypen werden dann als Text interpretiert!

    Grüße Volker

    Freitag, 25. Mai 2018 07:30

Alle Antworten

  • Hallo Joern,

    ich denke, dass der / die zugrunde liegende Datentyp(en) in der SQL Datenbank zu groß ist. Access unterstützt z.B. maximal 28 Dezimalstellen bei einem "decimal". Größere Datentypen werden dann als Text interpretiert!

    Grüße Volker

    Freitag, 25. Mai 2018 07:30
  • Bottom line: Microsoft Access kann nicht mit dem Datentyp "decimal" umgehen, während Microsoft Excel das aber kann (bei selber Datenquelle).

    Für alle, die an einer Lösung interessiert sind:

    Eine view auf die Zieltabelle erstellen und in der View alle Felder vomTyp Decimal umwandeln in einen anderen Zahlentyp, den Access beherrscht. Anschliessend Verknüfpung in Access mit der View statt der Tabelle herstellen. 

    Wieder einmal völlig umständlich, funktioniert aber zumindest für uns.

    Mittwoch, 21. Oktober 2020 09:57
  • Bottom line: Microsoft Access kann nicht mit dem Datentyp "decimal" umgehen, während Microsoft Excel das aber kann (bei selber Datenquelle).

    Das ist etwas großzügig formuliert. Excel kann an der Stelle genauso viel wie Access, nämlich die Daten vom Provider übernehmen, im Falle von Decimal als Text. Da Excel keine strenge Typisierung hat, kann es allerdings Funktionen einsetzen, die beim Lesen den Feldinhalt prüfen und entsprechend umwandeln. Bei ODBC-Datenquellen geht das meistens gut, bei anderen Formaten, z.B. Text, werden schon mal 000-Trennzeichen zu Dezimalpunkten oder die Datumsreihenfolge falsch interpretiert, wenn die Datei aus einer anderen Region stammt und Text liefert. Nichts gegen Excel, ganz im Gegenteil, aber die Aussage war mir zu pauschal, als sie so stehenzulassen. ;-)

    Gruss - Peter


    Mitglied im www.dbdev.org
    Access-FAQ: www.donkarl.com


    Dienstag, 27. Oktober 2020 14:57
    Moderator