Office: (Office 2010) SQL Algorithmus Neuer Wert

Helfe beim Thema SQL Algorithmus Neuer Wert in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, die Überschrift triffts schon ganz gut. Ich suche eine Möglichkeit Werte in einem Diagramm auszugeben mit dem Algorithmus: Ausgabe =... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von germantobi, 29. Januar 2014.

  1. SQL Algorithmus Neuer Wert


    Hallo zusammen,

    die Überschrift triffts schon ganz gut.
    Ich suche eine Möglichkeit Werte in einem Diagramm auszugeben mit dem Algorithmus: Ausgabe = Aktueller Wert - Vorheriger Wert.

    Im Anhang hab ich mal ein Bild des Aktuellen Diagramms.
    Es soll eben keine steigende Kurve sein (deswegen der Algorithmus).

    Mein aktueller SQL-Code sieht so aus:
    Code:
    Liebe Grüße

    :)
     
    germantobi, 29. Januar 2014
    #1
  2. Wie immer bei Fragen zu Diagrammen:
    Wie sieht die Datenstruktur (Ausgangslage) und wie das gewünschte Diagramm (Ziel) aus?

    Vlt. kannst du das an einem Bsp. darstellen.

    Deinen Ausführungen kann ich nur entnehmen, das dein Diagramm nicht
    deinen Wünschen entspricht.
     
    Marsu65, 30. Januar 2014
    #2
  3. Meine Tabelle sieht etwa so aus:

    ID-Nummer | Datum | Typ | Zähler
    123 - - - - -|01.01.14 | - A - | 800
    234 - - - - -|01.01.14 | - A - | 300
    123 - - - - -|01.05.13 | - A - | 400
    234 - - - - -|01.05.13 | - A - | 150

    Ich will eben die Zähler Werte ausgeben als Liniendiagramm.
    Jede Linie eine anderer ID-Nummer.
    Vortlaufend nach Datum.
    Zähler (Y)
    Datum (X)

    Das allerdings so das ich den neuen minus den alten Wert rechne.
    z.B.
    ID-Nummer 123 Datum 01.01.14 Zähler 800
    MINUS ID-Nummer 123 Datum 01.05.13 Zähler 400
    AUSGABE 400 (weil 800-400)

    Nebenbei: Der Typ ist erstmal unwichtig, ich brauch den nur weil ich zwei Diagramme mit verschiedenen Typen hab.
     
    germantobi, 31. Januar 2014
    #3
  4. SQL Algorithmus Neuer Wert

    Code:
     
  5. Vielen Dank erstmal, aber es läuft immer noch nicht ganz.

    Code:
    Ein Teil davon hat mir Access schon vorgeneriert, also nicht ganz selbst geschrieben.
     
    germantobi, 31. Januar 2014
    #5
  6. Diese Aussage habe ich berücksichtigt.

    Wenn er dann doch vorkommt und berücksichtigt werden soll, ist er in allen Unterabfragen analog der ID zu verwenden, weil diese Teilkriterien hier eine Gruppierungsfunktion ausführen.
     
  7. Ich dachte es wäre eben nicht beachtenswert weil es eben nur eine kleine Where Klausel ist. Wenn damit natürlich bestimmte SQL abfragen garnicht möglich sind tut es mir leid.

    Jetzt versteh ich nur leider nicht ganz wie es dann aussehen soll, könntest du mir da nochmals helfen?
     
    germantobi, 31. Januar 2014
    #7
  8. SQL Algorithmus Neuer Wert

    Wie kommst Du im aktuellen Zusammenhang auf eine solche Schlussfolgerung?

    Primär solltest Du die gezeigte Abfrage verstehen lernen. Dann kannst Du auch selber entsprechenden Einfluss nehmen.

    Bildhaft passiert folgendes:
    Code:
    Zählerstand des vorigen Datensatzes: Zählerstand am höchsten Tag, der kleiner ist als der aktuelle, und das bezogen auf ID, Typ und sonstige Gruppierungsmerkmale.

    Richtige Unterabfragen sind aber sauberer als Domänenaggregatfunktionen und daher hier verwendet.

    Mit Typberücksichtigung muss man bei DMax natürlich das für den Typ im Hauptdatensatz ermitteln und nicht das absolute. Bei dem DLookup gilt analog das gleiche.
     
  9. Jetzt schwenke ich gleich die weiße Fahne...

    Ich versteh schon was du meinst, aber ich bekomms als Code nicht hin.

    Ich dachte jetzt mach ich mal blöd und gib stuhr das von dir ein, einfach zum nachvollziehen.
    Nun Frägt er aber nach dem Wert für "Tabelle". Also versteht nicht dass das die Tabelle ist.
    Ich bin leider noch SQL Anfänger.
    Nebenbei: DLookup ist doch nur für VBA?

    Edit:

    Ich hab den Code nochmals etwas abgewandelt, zwecks Typ.
    Es kommt nur immer die Fehlermeldung: "....'T1.Zähler-' nicht als teil der Aggregatfunktion einschließt."

    Code:
     
    germantobi, 31. Januar 2014
    #9
  10. Primär ja. Es lässt sich aber auch in einer Abfrage einsetzen, manchmal auch mit positiven Effekten. Als Accessfunktion wird es aber nur in Access-Abfragen verstanden, DBMS wie SQL Server, MySQL und allen anderen können damit nichts anfangen, Fremdaufrufe von dritten Anwendungen auf ein Access-Backend auch nicht.

    DLookup ist eine in eine Funktion eingepackte vollständige Abfrage, die genau einen Rückgabewert liefert, bei mehreren möglichen einen zufälligen davon.
    Code:
    Die Ähnlichkeit dürfte erkennbar sein.

    Bezeichnungen muss man natürlich an eigene anpassen, siehe SQL-Ansicht. Dabei verringern die Tabellenaliase (T1, T2, T3 - nicht beliebig ändern) den Aufwand dabei doch deutlich.
    Code:
    Verwendung von Typ wie ID - ich dachte, das wäre plausibel genug.
     
  11. Wunderbar,
    habs jetzt kapiert und es hat funktioniert.
    Nur das mit ID war in deinem Code irreführend da ich einmal die ID zum eindeutigen identifizieren habe und dann was ja eigentlich gemeint ist die ID-Nummer die mehrmals vorkommen kann.

    Nun beschärt mir Access die nächste Fehlermeldung.
    Wenn ich das Diagramm erstelle und auf die Abfrage zugreifen möchte kommt die Fehlermeldung:

    Ich finde das allgemein etwas verwirrend, die Abfrage funktioniert doch hervorragend?
     
    germantobi, 2. Februar 2014
    #11
  12. Ich hab hier jetzt mal eine Beispieldatei erstellt.
    Im Formular gibt es zwei Diagramm"ideen".
    Beide funktioniert nicht wie gewünscht.

    Vielleicht könnt ihr mir damit schneller Helfen.
     
    germantobi, 2. Februar 2014
    #12
  13. SQL Algorithmus Neuer Wert

    Da mir bisher leider keiner helfen konnte und ich heute bis jetzt recht unproduktiv war muss ich schaun das ich zumidnest ein bisschen was vorwärts bekomme.

    Ich hab eine neue Lösungsidee; zurück an den Anfang.

    Ich möchte in die Selbe Tabelle den berechneten Wert "Zuwachs" schreiben.
    Ich hab mir selbstverständlich den SQL Befehl Insert Into angeschaut, aber ich hab bisher nur rausgefunden wie man in ein einzelnes Feld schreibt, nicht in der ganzen Tabelle in die passenden Felder.

    Den Code zum berechnen habe ich ja schon:

    Code:
    Nun muss das noch per "Knopfdruck" reingeschrieben werden, was ich nicht hinbekomme.


    PS: Meine alte Frage bleibt weiter bestehen, da ich eine extra Abfrage als eleganter empfinde.

    Liebe Grüße
     
    germantobi, 3. Februar 2014
    #13
  14. Kreuztabellenabfrage, die Du nachfolgend verwendest, und die Abfrage mit den Unterabfragen scheint keine gute Paarung zu sein. Da ist Jet vermutlich nicht intelligent genug zur Umsetzung (analog Abfrage für ersten, zweiten, ..., letzten Wert / DCount statt Unterabfrage).

    Übersichtlich wäre der Umweg, dass man das Ergebnis der Abfrage per Tabellenerstellungsabfrage in eine neue (Temp-)Tabelle schreibt und diese dann weiterverwendet, und auch wieder löscht, wenn die Anzeigegeschichte abgeschlossen ist.
    Code:
     
  15. Aber wenn das schon so ist dann kann ich die Werte direkt in meine Haupttabelle schreiben, die Werte ändern sich ja eigentlich nicht mehr.
    -> Und genau den Code bekomm ich nicht ganz zusammen. Könntest du mir dahin nochmal nachhelfen?


    Was ich dahin bisher hab ist:
    Code:
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    germantobi, 3. Februar 2014
    #15
Thema:

SQL Algorithmus Neuer Wert

Die Seite wird geladen...
  1. SQL Algorithmus Neuer Wert - Similar Threads - SQL Algorithmus Wert

  2. Benötige Hilfe bei SQL-Befehl

    in Microsoft Access Hilfe
    Benötige Hilfe bei SQL-Befehl: Hallo zusammen und alles Gute für 2025 Es ist mal wieder Sale-Zeit und jetzt müssen bei vielen Artikel zu eine festgesetzten Zeit die VK-Preise geändert werden. Man kann das in unserem...
  3. SQL: Filtern mit mehreren Werten aus einer Excelspalte (Liste)

    in Microsoft Excel Hilfe
    SQL: Filtern mit mehreren Werten aus einer Excelspalte (Liste): Hallo zusammen, ich bräuchte Eure Hilfe, bei dem ich nicht weitere komme. Ich lasse importiere SQL-Daten über mehrere Abfragen im Editor vor filtern. Eine Spalte über einen Artikel...
  4. SQL-Abfrage mit where

    in Microsoft Access Hilfe
    SQL-Abfrage mit where: SQL-Abfrage mit where-Parameter. PNrHaupt ist eine Zahl. Ich vermute, da liegt der Fehler, aber ich weiss nicht, wie ich das darstellen soll. Bei jeder neuer PNrHaupt soll eine neue Datei erstellt...
  5. Apostroph in sql Recordset

    in Microsoft Access Hilfe
    Apostroph in sql Recordset: Hallo Gemeinde, einen hätte ich noch: sqlTitel = "SELECT * FROM tbl_Files_Edited WHERE Titel='" & strTitel & "'" Set rs1 = db.OpenRecordset(sqlTitel) Enthält strTitel einen...
  6. Access - SQL: Inhalt auf 255 Zeichen beschränkt

    in Microsoft Access Hilfe
    Access - SQL: Inhalt auf 255 Zeichen beschränkt: Hallo zusammen, in Access habe ich ein Modul mit folgender Funktion: Public Function SQLListe(Nummer As Long) As String Dim strSQL As String Dim rs As DAO.Recordset strSQL = "SELECT Dokument...
  7. Abfrage mit den jüngsten Einträgen erstellen

    in Microsoft Access Hilfe
    Abfrage mit den jüngsten Einträgen erstellen: Hallo liebe Experten, ich bastel gerade an einer Access-Datenbank für die Besuche meiner Klienten. Aus meiner Tabelle "KlientenT" und einer weiteren Tabelle mit "BesucheT" möchte ich eine Abfrage...
  8. Tabellen-Datenquelle in ganzem Dokument ändern

    in Microsoft Access Hilfe
    Tabellen-Datenquelle in ganzem Dokument ändern: Hallo, ich habe eine Access-Datenbank (FE & BE getrennt) mit mehreren Tabellen, Abfragen und Formularen. Nun möchte ich das BE nach SQL migrieren. Den Assistenten hierzu scheint es ja nicht mehr...
  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