1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Casten einer MS SQL Abfrage in Access

Dieses Thema im Forum "Microsoft Access" wurde erstellt von runnerralf, 27 Oktober 2019.

  1. runnerralf

    runnerralf Neuer Benutzer

    Hallo alle zusammen,

    ich habe ein Problem in einer Access DB. Die DB holt sich die Daten aus einer MS SQL DB. Dort liegt eine Abfrage in der ich die Differenz zwischen "Anfang" und "Ende" Zeit liefert.

    Der Datentyp der Variable "Anfang" und "Ende" ist varchar(50).

    In der Abrfage selber wird die Differenz mit "DateDiff(minute,anfang,ende) / 60 as Stunde" berechnet.

    Wenn ich die Abfrage ausführe mit

    Select Stunde from qry_Versuch_details

    erhalte ich als Ergebnis nur die Ganzzahl der Differenz. Schreibe ich aber

    Select cast(DateDiff(Stunde) as float) / 60 from qry_Versuch_details

    erhalte ich das Ergebnis mit der Nachkommastelle. Das Casten direkt in der Abfrage führt auch nicht dazu das der Aufruf

    "Select Stunde from qry_Versuch_details" die Nachkommastellen anzeigt.

    Aber wie kann ich das Casten in meinem Code in Access VBA umsetzen? Dort wird das SQL Statement folgendermaßen umgesetzt.

    l_strSQL = "SELECT Firmenname, Bestellnr, datum, stunden, stundensatz FROM qry_Versuch_details " & l_strWhere

    Hier handelt es sich um die Spalte "Stunden". Ich habe es schon mit cdbl(stunden) versucht. Ohne Erlfolg. Wie kann ich erreichen das ich auch in Access die Nachkommastellen erhalte?


    Einen schönen Gruß aus dem Altmühtal und danke für eure Hilfe.

    Ralf
     
  2. groeg

    groeg Benutzer

    Hallo Ralf,

    tut mir leid, aber ich verstehe gerade dein Problem noch nicht.
    In der SQL DB erhältst du mit den Cast von datediff eine Zahl mit Nachkommastellen.

    Und jetzt wird sie in Access nicht dargestellt?

    Wenn ich eine Abfrage in Access erstellte wie z.B.
    SELECT CDBL(DATEDIFF("n", Anfang, Ende))/60 as Zeitraum FROM dbo_tblTest

    dann wird das Ergebnis auch mit Nachkommastelle angezeigt.
     
  3. runnerralf

    runnerralf Neuer Benutzer

    Hallo Groeg,

    ich berechne die Stunden(deshalb die Spalte Stunden) in der Abfrage weil dafür mehrere Bedingungen notwendig sind um die Stunden zu berechnen. Aber jetzt habe ich es doch alles in die Access Abfrage verfrachtet.

    Du hast mir also trotzdem geholfen.

    Ich danke dir für deine Hife!

    Gruß Ralf
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden