Office: Datumsformat bei Zugriff auf SQL Server 2008 via ODBC

Helfe beim Thema Datumsformat bei Zugriff auf SQL Server 2008 via ODBC in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, ich hänge jetzt schon einige Zeit über diesem Problem und komme einfach nicht weiter. Ich habe eine Datenbank auf SQL Server 2008 migriert.... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von werner1965, 15. August 2011.

  1. Datumsformat bei Zugriff auf SQL Server 2008 via ODBC


    Hallo,

    ich hänge jetzt schon einige Zeit über diesem Problem und komme einfach nicht weiter.

    Ich habe eine Datenbank auf SQL Server 2008 migriert. Die Verbindung wird über folgende Routine aufgebaut:

    Set dbs = CurrentDb
    DBEngine.RegisterDatabase "SQL_DATABASE", "SQL Server", True, "Description=MySqlDatabase" & _
    Chr(13) & "Server=" & servername & Chr(13) & "Database=" & databasename

    'Definitionstabelle löschen und neu einbinden
    On Error Resume Next
    DoCmd.DeleteObject acTable, tabellenname
    dbs.TableDefs.Refresh

    On Error GoTo door 'wenn Haupttabelle fehlt, kann nichts geladen werden
    strTblName = tabellenname
    strSrcTable = "dbo." & tabellenname
    strConn = "ODBC;"
    strConn = strConn & "DSN=SQL_DATABASE;"
    strConn = strConn & "APP=Microsoft Access;"
    strConn = strConn & "DATABASE=" & databasename & ";"
    strConn = strConn & "UID=sa;"
    strConn = strConn & "PWD=xxxxx;"
    strConn = strConn & "TABLE=" & strSrcTable

    Set tdf = dbs.CreateTableDef(strTblName, dbAttachSavePWD, strSrcTable, strConn)
    dbs.TableDefs.Append tdf
    dbs.TableDefs.Refresh

    Mein Problem ist, dass alle Datumsfelder immer im Format yyyy-mm-dd in Access angezeigt werden. Ich schaffe es nicht irgend ein anders Format einzustellen.
    In den ODBC Einstellungen habe ich auch bereits einiges versucht umzustellen. Z.B. Länderspezifische Einstellungen bei ODBC verwenden angehakt.

    Ich hoffe auf eure Hilfe. Besten Dank für alle Tipps und Hinweise bereits im Voraus.

    Grüße

    Werner

    :)
     
    werner1965, 15. August 2011
    #1
  2. Moin,

    so ganz verstehe ich das Problem noch nicht:
    Wo und wie versuchst du denn, das Format einzustellen (Tabelle, Formular ...)?
    Welche Datentypen sind im Spiel (Date, String ...)?

    Edit: Code:
    ist korrekt?

    maike
     
  3. Habe natürlich wieder wichtige Sachen vergessen.

    Die Daten werden in einem Access Frontend (Access 2010) angezeigt. Ich kann weder in den Formularen mit Textfeldern das Format einstellen, noch in Listen der Datenblattansicht.

    Mit dem ursprünglichen Backend (vor der Migration der Tabellen) konnte ich über die Format Eigenschaft des Textfeldes die Darstellung/Formatierung einstellen. Es wurde dann auch der Datumsauswahlassistent angeboten, der kommt jetzt auch nicht mehr.
    Eingaben werden aber korrekt angenommen, auch im Format dd.mm.yy.

    Im SQL Server Backend habe ich für die betreffenden Felder schon diverse DATE/TIME Varianten duchprobiert. Bis auf den Unterschied, dass bei den reinen Datumstypen halt dann nur das Datum erscheint und bei den DATE/TIME Typen Datum und Uhrzeit - aber immer im Format yyyy-mm-dd.

    Da die ODBC Verbindung ja offenbar ein standartisiertes Format verwendet, scheint mir das Problem in der Umwandlung des ODBC Formats auf das "Access" Format zu liegen. Access behandelt die Datumswerte irgendwie einfach als Strings und zeigt an, was ODBC liefert. Komischerweise werden die Eingaben aber korrekt umgewandelt und gespeichert.

    Ich check´s einfach nicht mehr.
     
    werner1965, 17. August 2011
    #3
  4. Datumsformat bei Zugriff auf SQL Server 2008 via ODBC

    Ich hab' nur im Gedächtnis gehabt und hier wiedergefunden: dbwiki.net Access_MySQL, dass Access mit dem Format DATE ein Problem hat(te?).
    Mit ODBC und dessen Innereien kenn' ich mich nicht aus ...
    maike
     
  5. Hallo,

    wurde die Verknüpfung über den Tabellenverknüfpungs-Manager nach der Änderungen auf dem MSSQL-SRV aktualisiert?
    Ansonsten "übersieht" die Verknüpfung in Access die Änderungen!

    Evtl. mal die Daten vom MSSQL-SRV in ACCESS kopieren, wenn dann das Feld im Datumsformat vorliegt und der Inhalt korrekt ist, dann ist mal das Feld auf dem SRV in Ordnung.

    Ansonsten "vermute" ich, liegt es am Länder-Code, probier mal:
    Code:
    Gruß
    Dan
     
    Lord Hirni V2, 17. August 2011
    #5
  6. Du hast sicher das SQL-Server Management Studio installiert?

    Dann damit auf den Server verbinden und in der betreffenden Tabelle Deiner Datenbank den Datentyp der Datumsspalte auf "datetime" umstellen und diese Änderung abspeichern.

    Sollte der Speichervorgang fehlschlagen, dann ebenfalls im Management-Studio zunächst einstellen:
    "Extras" - "Optionen" - "Designers" - "Tabellen- und Datenbankdesigners" - "Speichern von Änderungen verhindern, die die Neuerstellung der Tabelle erfordern" deaktivieren (ist standardmäßig nämlich aktiv).

    Anschließend die Tabelle im Access-Frontend neu verknüpfen (nach jeder Strukturänderung an Tabellen immer notwendig). Das Datum liegt nun im gewohnten Format vor.

    Gruß
    Stephan
     
  7. Danke für die Tipps. Ich fürchte aber, die Punkte helfen mir nicht wirklich weiter bzw. ich verstehe es noch nicht ganz.

    Wie beschrieben sind die Felder im SQL Server Backend korrekt auf DATE/TIME eingestellt. Ich habe auch bereits andere DATE Typen getestet, alle mit dem gleichen Effekt. Eingaben werden auch korrekt im Backend als Datum gespeichert.

    Das SQL Management Studio habe ich installiert. "Extras" - "Optionen" - "Designers" - "Tabellen- und Datenbankdesigners" werde ich mal checken bzw. ändern. Ich wusste aber gar nicht, dass bei ODBC Verbindungen Änderungen im den Backend Tabellen ohne direkte SQL Anweisungen ausgelöst werden können.

    Den Tabellenverknüpfungsmanager verwende ich gar nicht. Wie aus der Verbindungsroutine ersichtlich ist, verknüpfe ich die Tabellen jedes Mal beim Öffnen des Frontends neu.

    Scheint ein komischer Fehler zu sein. Weiß noch jemand Rat?
     
    werner1965, 17. August 2011
    #7
  8. Datumsformat bei Zugriff auf SQL Server 2008 via ODBC

    Lord Hirni V2, 17. August 2011
    #8
  9. Welcher Datentyp wir im Tabellenentwurf der verknüpften Tabelle in Access angezeigt?

    mfg
    Josef
     
    Josef P., 17. August 2011
    #9
  10. Hmm, ja könnte schon was mit Ländercode etc. zu tun haben. Nur wo kann ich da ansetzen, was einstellen, was ändern?
    SQL 2008 Server und die Datenbank läuft unter Deutsch, Access 2010 auch. ODBC Länderspezifische Einstellungen verwenden ist testweise angeklickt, ändert aber auch nix.

    Was zeigt die Entwurfsansicht an? Hatte ich glatt noch gar nicht angeschaut. Da steht für die Datumsfelder doch tatsächlich "Text" mit 10 Stellen drin. Nur warum?

    Grüße

    Werner
     
    werner1965, 17. August 2011
    #10
  11. Verwendest du möglicherweise den Date und nicht den Datetime Datentyp im MS SQL-Server?

    mfg
    Josef
     
    Josef P., 17. August 2011
    #11
  12. Aktuell verwende ich den Date Datentyp, ursprünglich war das datetime, habe auch schon alle anderen Datumstypen durchprobiert.

    Ich habe jetzt auch mal die Tabelle mit dem SQL Management Studio geöffnet. Dabei werden die Datumswerte ebenfalls im yyyy-mm-dd Format angezeigt. Das ganze scheint also tatsächlich eher mit dem SQL Server zusammenzuhängen. Finde aber nix was da falsch eingestellt sein könnte.

    Auf einem anderen Rechner mit allerdings gleicher Konfiguration besteht das Problem auch.

    mfg
    Werner
     
    werner1965, 18. August 2011
    #12
  13. Datumsformat bei Zugriff auf SQL Server 2008 via ODBC

    Hallo,

    das Problem ist gelöst *Smilie - verstehen tue ichs allerdings immer noch nicht.
    Ich habe noch mal mit den Datentypen rum experimentiert. "smalldatetime" hatte ich noch nicht probiert. Und siehe da, mit smalldatetime klappt alles bestens. Alle anderen date und datetime (auch datetime2) gehen nicht.

    Vielen Dank an alle die mir geholfen haben. Ich hoffe, ich kann mich mal revanchieren.

    Grüße
    Werner
     
    werner1965, 18. August 2011
    #13
  14. Hallo!

    Welchen Treiber verwendest du?
    Bei mir (DRIVER={SQL Server}) funktioniert smalldatetime und datetime.

    mfg
    Josef
     
    Josef P., 18. August 2011
    #14
  15. Hallo Josef,

    im ODBC Administrator steht als Treiber "SQL Server" drin. Müßte der zweite Parameter der RegisterDatabase Methode sein, wenn ich mich nicht irre. Vielleicht gibts aber da verschiedene Versionen des Treibers. Ich weiß allerdings nicht, wie ich die Version abfragen könnte.

    Interessant wäre es schon zu wissen, woher der Fehler jetzt letztendlich kommt.

    Grüße
    Werner
     
    werner1965, 18. August 2011
    #15
Thema:

Datumsformat bei Zugriff auf SQL Server 2008 via ODBC

Die Seite wird geladen...
  1. Datumsformat bei Zugriff auf SQL Server 2008 via ODBC - Similar Threads - Datumsformat Zugriff SQL

  2. Leider falsches Datumsformat - sortieren möglich?

    in Microsoft Excel Hilfe
    Leider falsches Datumsformat - sortieren möglich?: Guten Morgen. Ich habe eine ellenlange Liste mit Geburtstagen. Eigentlich ist es ja einfach, diese von 1.Jan bis 31.Dez zu sortieren. Leider fehlt mir - das Jahr - die richtige Formatierung -...
  3. Erbitte komplizierte Formel Wenn,dann oder wenn dies, dann

    in Microsoft Excel Hilfe
    Erbitte komplizierte Formel Wenn,dann oder wenn dies, dann: Hallo liebe Wissende, folgende 3 Probleme schaffe ich, als Laie, auch mit Hilfe des Internets nicht zu lösen. Mir wird monatlich eine csv-Datei mit folgenden Daten zur Verfügung gestellt. Ich...
  4. Access Datumsformat

    in Microsoft Access Hilfe
    Access Datumsformat: Guten Tag, habe ein kleines Anliegen. Code: Private Sub Suchen_Eintritte() Dim Datumvon As Date Dim Datumbis As Date Datumvon = Format(Me.txt_Datum_von, "mm/dd/yyyy") Datumbis =...
  5. Datumsformat in Englisch

    in Microsoft Excel Hilfe
    Datumsformat in Englisch: Hallo Forum, ich krieg das irgendwie nicht hin und hoffe auf eure Hilfe Also Ich möchte von einem Datum nur die Monate anzeigen, aber in englisch Kein Problem, wenn man im Zahlenformat [$-409]MMM...
  6. [Excel 2016] Diagramm: Skalierung y-Achse Monatsanfang und Datumsformat

    in Microsoft Excel Hilfe
    [Excel 2016] Diagramm: Skalierung y-Achse Monatsanfang und Datumsformat: Hey, wird sind in meiner Firma gerade dabei von LibreOffice auf MS-Office umzusteigen. Dementsprechend gibt es auch einige Anforderungen. Wir haben für die bessere Übersicht der Meilensteine...
  7. Standardformat umwandeln von z.B. 2/20/2018 in Datumsformat 20.02.218

    in Microsoft Excel Hilfe
    Standardformat umwandeln von z.B. 2/20/2018 in Datumsformat 20.02.218: Hallo, ich habe eine Spalte, in der stehen Datumsformate wie z.B. 02.11.2018 aber leider auch Standardformate, die ein Datum z.B. in der Form 2/20/2018 beschreiben. Gemeint ist aber als Datum der...
  8. Datum zu Datum ändern und Filter setzen

    in Microsoft Excel Hilfe
    Datum zu Datum ändern und Filter setzen: Hallo zusammen, ich bin nun echt langsam am verzweifeln. Zunächst möchte mein Datum sich nicht zu einem offiziellem Datum ändern und ich vermute nun auch deshalb wird der Filter nicht...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden