2016-06-13 1 views
-1
SELECT T.NAME AS Expr1, T.AREA AS Expr2, T.AlarmCount, 
     CDate(Format(T.[ITIME],"0000-00-00 00\:00\:00 ")) AS ITIME, 
     CDate(Format(T.ATIME,"0000-00-00 00\:00\:00 ")) AS ATIME, 
     CDate(Format(T.NTIME,"0000-00-00 00\:00\:00 ")) AS NTIME, T.DUR AS Expr3 
FROM (SELECT DISTINCT(IWTUSER_ALARMS.NAME) AS NAME, 
       COUNT(*) AS AlarmCount, 
       IWTUSER_ALARMS.AREA AS AREA, 
       IWTUSER_ALARMS.ITIME AS ITIME, 
       IWTUSER_ALARMS.ATIME AS ATIME, 
       IWTUSER_ALARMS.NTIME AS NTIME, 
       IWTUSER_ALARMS.DUR AS DURATION 
    FROM IWTUSER_ALARMS 
    GROUP BY IWTUSER_ALARMS.NAME, 
         IWTUSER_ALARMS.AREA, 
        ITIME,     
        ATIME, 
        NTIME, 
        IWTUSER_ALARMS.DUR 

    ) AS T 
WHERE (((CDate(Format([IWTUSER_ALARMS].[ITIME],"0000-00-00 00\:00\:00 ")))>=Date()-180)); 

Antwort

0

Versuchen Sie, diese ausgewertet zu werden:

SELECT T.NAME AS Expr1, T.AREA AS Expr2, T.AlarmCount, 
    Format([T].[ITIME],"General Date") AS ITIME, 
    Format(T.ATIME,"General Date") AS ATIME, 
    Format(T.NTIME,"General Date") AS NTIME, 
    T.DURATION AS Expr3 
FROM (SELECT DISTINCT(IWTUSER_ALARMS.NAME) AS NAME, 
      COUNT(*) AS AlarmCount, 
      IWTUSER_ALARMS.AREA AS AREA, 
      IWTUSER_ALARMS.ITIME AS ITIME, 
      IWTUSER_ALARMS.ATIME AS ATIME, 
      IWTUSER_ALARMS.NTIME AS NTIME, 
      IWTUSER_ALARMS.DUR AS DURATION 
FROM IWTUSER_ALARMS 
GROUP BY IWTUSER_ALARMS.NAME, 
        IWTUSER_ALARMS.AREA, 
       ITIME,     
       ATIME, 
       NTIME, 
       IWTUSER_ALARMS.DUR 
) AS T 
WHERE (((T.ITIME)>=Date()-180)); 

Der Fehler von Ihrer WHERE Klausel verursacht wurde. ITIME ist bereits ein Datum, also können Sie es ohne Formatierung mit Zeichenfolge (mit falschem Formatausdruck) vergleichen und dann zu einem Datum mit einem ungültigen Datum zurückkehren und ITIME kommt von der Tempentabelle T nicht IWTUSER_ALARMS in WHERE Klausel.

IWTUSER_ALARMS.DUR AS DURATION hat Alias ​​DURATION.

Ihr Datumsformat ist falsch. Versuchen Sie Debug.Print Format(#6/18/2016#,"0000-00-00 00\:00\:00 "). So formatieren Sie das Datum http://www.techonthenet.com/access/functions/date/format.php.

ITIMES, ATIME and NTIME sollte als Zeichenfolge angezeigt werden, nehme ich an oder lösche das Format (siehe WHERE Klausel Fehler).

Vermeiden Sie reservierte Schlüsselwörter wie NAME in Variablen und Bezeichnern. Hoffe, ich habe sie alle gefangen!

+0

Vielen Dank für Ihre Hilfe - jetzt bekomme ich keinen Überlauffehler, aber aus irgendeinem Grund werden keine Daten angezeigt. Ich habe sogar mit den Daten zwischen 1 Tag und den letzten 30 Tagen herumgespielt, nichts steht auf dem Datenblatt. – abiyek

Verwandte Themen