August 03, 2021, 17:09:44

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Aus Access Datenbank Daten zählen wenn

Begonnen von KaJu74, Juni 13, 2021, 10:51:48

⏪ vorheriges - nächstes ⏩

KaJu74

Moin,

bis jetzt zähle ich per SQL einfach die Anzahl der Einträge wenn bestimmte Kriterien vorhanden sind:
        SQL = "select count(*),Schicht " & _
            "FROM " & Tabelle & " " & _
            "WHERE Datum like '" & Format(Tag, "dd.mm.yy") & "' " & _
            "and Dauer >= " & Dauer & " " & _
            "AND FSN='" & FSN & "'" & _
            "AND StatusBitDescription " & Fehler & " " & _
            "AND Bereich like '" & Bereich & "' " & _
            "GROUP BY Schicht"
So sieht die Datenbank aus:
Sie dürfen in diesem Board keine Dateianhänge sehen.

Jetzt möchte ich aber, wenn
  • der Eintrag in Spalte Gerät gleich ist
  • und die EndDateTime des nächsten Eintrages weniger als 1 Minute vor der StartDatetime ist
das als ein Eintrag gezählt wird und nicht als zwei.

Anhand der Liste (Bild)
  • sollte Zeile 3 & 4 als ein Eintrag gewertet werden.
  • sollte Zeile 5 & 6 als ein Eintrag gewertet werden.
  • sollte Zeile 7 & 8 als zwei Einträge gewertet werden.
  • sollte Zeile 9 & 10 als zwei Einträge gewertet werden.
  • sollte Zeile 10 & 11 als ein Eintrag gewertet werden.
usw..

Versteht ihr, was ich möchte?
Wie kann ich das hin bekommen.

Wenn ich das obere Makro so umwandeln könnte, dass er die Daten temporär in eine Excel Tabelle kopiert, würde ich es per Excel Makro problemlos hinbekommen.

Kann mir jemand helfen?

MfG

KaJu74

DF6GL

Hallo,

Lösung mittels Export nach Excel:

Abfragedaten in Temp-Tabelle schreiben und diese mit Transferspreadsheet nach Excel befördern.
(Korrekturen beachten!)

.
.
.
.
Currentdb.Execute "Insert Into TblTemp  Select count(*),Schicht " & _
            " FROM [" & Tabelle & "]" & _
            " WHERE Datum = " & Format(Tag, "\#yyyy-mm-dd\#")  & _
            " and Dauer >= " & Dauer  & _
            " AND FSN = '" & FSN & "'" & _
            " AND StatusBitDescription = '" & Fehler & "'" & _
            " AND Bereich = '" & Bereich & "'" & _
            " GROUP BY Schicht"

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml,"tblTemp","c:\Temp\Test.xlsx",True
.
.
.

KaJu74

Beim ausführen kommt leider Laufzeitfehler 91.
Sie dürfen in diesem Board keine Dateianhänge sehen.

Beaker s.a.

Prüfe ob alle benötigten Variable, Objekte deklariert und ggfls.
initialisiert sind. Der Code, der das zeigen könnte ist leider
hinter dem Fehlerfenster versteckt.
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.