Office: (Office 2003) SQL

Helfe beim Thema SQL in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; warum kannst du sie nicht bilden? ein beispiel: bei VNr=3 hast du ein typ. beispiel Der Kunde hat einen Startwert voriges jahr dh. der datensatz vom... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Charly6000, 25. Juni 2005.

  1. SQL


    warum kannst du sie nicht bilden?

    ein beispiel:
    bei VNr=3 hast du ein typ. beispiel

    Der Kunde hat einen Startwert voriges jahr dh.
    der datensatz vom 31.12 ist der erste im neuen jahr!
    (ist zwar jetzt blöd gesagt aber 31.12 =1.1.)

    dh. für die abfrage:

    a) ist der startwert nach dem 1.1 dann ist startwert gleich dem 1 Wert.

    b)sind mehrere wert vorhanden (ausser der die zwischenbewertung)
    dann ist der erste wert der wert vom 31.12. des vorjahres!!!
    oder anders vormuliert:
    liegt der startwert vor dem 1.1. des jahres dann nimm den wert vom 31.12. des vorjahres

    LG und vielen Dank
    charly
     
    Charly6000, 27. Juni 2005
    #16
  2. Stimmt der Rest denn soweit? Ich schau mal, was ich machen kann, ausserdem weiß ich dann nicht, ob es der richtige Wert ist, da schließlich kein Eintrag für 2003 vorhanden ist. Es gibt ja nur 3 Werte...
     
    J_Eilers, 27. Juni 2005
    #17
  3. ich teste dann gleich!!!

    es sind werte von 2004 auf 2005 !!!



    ich werde danach noch mehrere daten einpflegen wo dies oft vorkommt!

    LG
    charly
     
    Charly6000, 27. Juni 2005
    #18
  4. SQL

    Code:
    Das sollte dann alles sein, oder?
     
    J_Eilers, 27. Juni 2005
    #19
  5. erste test schauen ok aus!

    aber mir ist nochwas eingefallen *Smilie
    ich hoffe ich nerve dich nicht allzuviel ....

    für einen report derzeit, sprich zb. dann mit 2 Quartal 2005 (30.6.) würden die daten richtig kommen! was ist aber wenn ich zb. ältere stände nochmals ausdrucken möchte, also zb. zum 4. Quartal 2004?

    Ich würde gerne das ganze bei dem formular für Verträge integieren, dass man in einer Kombobox die Quartale angezeigt bekommt, natürlich nur die wo der Kunde bereits drinnen ist (also der Startwert richtig liegt)

    2) wie kann man eigentlich in Sql ein Feld in der Abfrage dazufügen, wo mir vom Startwert zum nächsten folgenden Abrechnungsstichtag (zb. 1. Quartal 2005, 2.Quartal 2005, ausser die Zwischenbewertungen) die Anzahl der Tage angezeigt werden?

    3) und eigentlich letzter punkt zu dem thema (hoffentlich *Smilie )

    ich habe noch bei der test db eine tabelle:
    tab_Einzahlungen
    von dieser tabelle brauche ich auch eine abfrage der obrigen integriert sein
    soll...

    ich brauche hier folgende Felder:

    Gesamtsumme (ist die Summe aller Beträge) pro VNr
    Jahressumme (Summe aller Beträge seit Anfang des Jahres)
    Quartalssumme (Summe aller Beträge des letzten Quartals


    Ich habe hier schon überlegt ob ich mir eine Kombobox mache die auf eine tabelle zugreift in folgender Form, damit man die Quartalsgrenzen hat.
    Sprich
    ID - Quartalsbezeichnung - Anf_date - End_date
    1 - 1. Quartal 2004 - 1.1.2004 - 31.3.2004
    2 - 2. Quartal 2004 - 1.4.2004 - 30.6.2004
    usw.

    Ich hoffe ich habe alles detailiert geschrieben, obwohl ich gerade Kopfweh habe...(das schwüle Wetter...grrr)

    VIelen dank für deine Hilfe
    charly
     
    Charly6000, 27. Juni 2005
    #20
  6. Also diese Abfrage würde dir immer als Ergebnis vom Anfang bis zum Ende und dieses Jahr im Vergleich zum Vorjahr liefern. Wenn du einen alten Vergleich möchtest, dann müsste man diesen als Vergleich in der Unterabfrage verwenden, anstatt mit Year(Date()) zu arbeiten. Wenn das auch noch auf ein Quartal zugeschnitten werden soll, dann wird die Unterabfrage noch umfangreicher, da man ja auch noch den Monat bestimmen muss. Nicht unmöglich, aber halt etwas aufwendiger.

    2) Man kann ein berechnetes Feld verwenden, welches irgendwie mit DateDiff() den Betrag an Tagen ermittelt. Vielleicht findest du so etwas hier schon im Forum, ich habe es noch nicht ausprobiert. Allerdings wird das wohl rein in SQL nicht mehr gehen und man wird sich einer Funktion bedienen.

    3) Siehe 2. Ansonsten sollten die Summenbildung doch klar sein, oder? (Unterabfragen mit Between)
     
    J_Eilers, 27. Juni 2005
    #21
  7. hallo jan!!

    Frisch und munter gehts weiter!

    Ich habe nochmals den workflow dieser abfrage durchgedacht und bin auf folgendes gekommen!

    Es wäre eine große Vereinfachung wenn man für den Report gar nicht viel herumrechnet, da es sicher sinnvoller ist im Bericht zu rechnen und der Aufwand geringer.

    Ich habe eine Kombobox (siehe Test_DB) die die Inhalte der Quartale besitzt (Datenherkunft tab_Quartale)
    Hier wäre jetzt dann möglich zu jedem gewünschten Zeitpunkt einen Report erstellen zulassen. (Soll auch dann so im Endeffekt laufen)

    Was als Ergebnis in der Abfrage kommen soll, ist zum Teil schon vorhanden;
    jedoch stimmt was noch nicht ganz.

    Ich schreibe hier nochmal alle Anforderungen gesamt auf:

    Wenn "1. Quartal 2005" in der Kombobox ausgewählt wurde, dann sollen alle Werte die nach dem 31.3.2005 sind weggefiltert werden, damit hat man den Datenstand bis zu dem Datum.(Stichtag)

    Dann soll davon folgende Felder generiert werden:
    1. Startdatum + Startbetrag,
    3. EndDatum = dem Stichtag wo man die Kombobox audgewählt hat + Endbetrag (Stichtag)
    4. Endbezeichnung (Bezeichnung ist in der tab_Kreditstände im Datensatz vorhanden)
    5. Erster_lfd_Jahr: Das ist der erste Betrag im Jahr der zur Berechnung herangezogen werden kann.
    Dieser kann sein "Startwert" oder der letzte Wert im vorigen Jahr "mit dem Datum" 31.12. des vorherigen Jahres;
    zusätzlich soll bei diesem Wert auch das Datum in einem Feld sein.
    6. Betrag des vorherigen Quartals:
    dieser kann entweder der Startwert oder der vorherige Wert sein!
    sprich TOP 2 filterung;

    Zu Beachten ist noch, dass alle datensätze mit der bezeichnung "Zwischenbewertung", "Tilgung" oder "Aufstockung" weggefiltert gehören.

    Das einzige wo ich noch am überlegen bin ist, wie ich mit "Zwischenbewertungen" umgehe!
    Entweder die gleiche Abfrage nur mit:
    einem Feld mit dem letzten Wert der die Bezeichnung "Zwischenbewertung" hat und ein Feld mit dessen Datum;
    Daraus dann ein eigener Bericht "Zwischenbewertungs-Report" machen.
    Was meinst du zu dieser Lösung der Zwischenbewertung?

    Das letzte was dann noch offen ist, ist dass man in diese Abfrage die Abfrage aus dem Thread http://www.ms-office-forum.net/forum...d.php?t=163151

    eingefügt gehört, da die Ergebnisse im Report miteinfliessen muß!

    So, dies war es im großen und ganzen!!!

    Ich hoffe du kannst mir dabei helfen!! gerne füge ich noch mehr Datensätze in die DB ein, zum Testen!

    LG
    charly
     
    Charly6000, 27. Juni 2005
    #22
  8. SQL

    Ich würde dich bitten, bevor ich hier wieder irgendwelchen SQL-Code erzeuge, dir klar zu machen, was du alles im Bericht haben willst und wie. Theoretisch brauchst du die Filterung nicht in der Abfrage zu machen, sondern kannst ja auch den Bericht gefiltert öffnen. Und in einem Bericht kann man ja auch Unterberichte erstellen, welche dann ganz unterschiedliche Daten enthalten. Wobei das bei den beiden Abfragen kein Problem ist. Du kannst die Unterabfragen einfach in einer der beiden Abfragen vereinen (einfach reinkopieren).

    Schön wäre es, wenn du die Tabellen zur Verfügung stellst und dort genügend Daten drin sind, damit man falsche Ergebnisse vorher sieht. SQL ist halt etwas abstrakt und dafür ist die Kontrolle halt recht nützlich. Des weiteren wäre dann zB eine ExcelTabelle schick, in der man sehen kann, was du alles wie haben willst. (Kommentare / Formeln).

    Danach könnte man tatsächlich den SQL-Code erzeugen, mit dem du deinen Bericht erzeugen kannst.
     
    J_Eilers, 28. Juni 2005
    #23
  9. hallo jan!

    also:

    anbei die test-db mit mehr daten!!! ich habe jetzt typ. fälle drinnen wo man sofort sieht ob alles richtig ist!

    Nochmals zu den Anforderungen!

    Es soll von der Kombobox im frm_Quartalsabfrage ausgegangen werden!

    a) mit der tbl_Kreditstaende
    wie schon gehabt in der Abfrage: Abfrage TOP2_erweitert_Gesamtdifferenz_2

    Es sollen jetzt folgende Felder erzeugt werden, die dann im Bericht verarbeitet werden!

    Wenn "1. Quartal 2005" in der Kombobox ausgewählt wurde, dann sollen alle Werte die nach dem 31.3.2005 nur werte bis zum stichtag angezeigt werden.

    Dann soll davon folgende Felder generiert werden:
    1. Startdatum + Startbetrag,
    3. EndDatum = dem Stichtag wo man die Kombobox audgewählt hat + Endbetrag (Stichtag)
    4. Endbezeichnung (Bezeichnung ist in der tab_Kreditstände im Datensatz vorhanden)
    5. Erster_lfd_Jahr: Das ist der erste Betrag im Jahr der zur Berechnung herangezogen werden kann.
    Dieser kann sein "Startwert" oder der letzte Wert im vorigen Jahr "mit dem Datum" 31.12. des vorherigen Jahres;
    Der letzte deswegen weil der Stichtag 31.12. ist!! und kein datensatz am 1.1. vorhanden sein wird! es geht hier dann um die korrekte differenz!
    zusätzlich soll bei diesem Wert auch das Datum in einem Feld sein.
    6. Betrag des vorherigen Quartals:
    dieser kann entweder der Startwert oder der vorherige Wert sein!
    sprich TOP 2 filterung;

    Zu Beachten ist noch, dass alle datensätze mit der bezeichnung "Zwischenbewertung", "Tilgung" oder "Aufstockung" weggefiltert gehören.

    Das einzige wo ich noch am überlegen bin ist, wie ich mit "Zwischenbewertungen" umgehe!
    Entweder die gleiche Abfrage nur mit:
    einem Feld mit dem letzten Wert der die Bezeichnung "Zwischenbewertung" hat und ein Feld mit dessen Datum;
    Daraus dann ein eigener Bericht "Zwischenbewertungs-Report" machen.
    Was meinst du zu dieser Lösung der Zwischenbewertung?

    b) zusätzlich sollen aus der tbl_Einzahlungen:

    passend zu den gleichen Grenzen

    - Die Gesamtsumme von allen Beträgen (Feld_gesamtsumme)
    - die Summe innerhalb des Quartals (Quartalssumme)
    - die Summe ab den 1.1. des Jahres welches das "Enddatum enthält)
    Wichtig (Es soll nach VNr. gruppiert werden!)

    in der gleichen Abfrage gebildet werden.
    damit habe ich alles für den report zusammen!

    Schöne Grüße
    Charly
     
    Charly6000, 28. Juni 2005
    #24
  10. anbei die test-db
     
    Charly6000, 28. Juni 2005
    #25
  11. ich habe jetzt die SQL Anweisung so umgebaut, dass die Quartalswerte
    auch angezeigt werden.

    Code:
    Jetzt fehlt mir noch der "Erster_lfd_Jahr" vom Pkt. 5 wie unten beschrieben!

    LG
    charly
     
    Charly6000, 28. Juni 2005
    #26
  12. Ich schaue mir das heute abend mal an. Dafür reicht die Zeit zwischendurch nicht. Kann also etwas dauern *wink.gif*
     
    J_Eilers, 28. Juni 2005
    #27
  13. SQL

    Super!!

    Vielen Dank!

    LG
    charly
     
    Charly6000, 28. Juni 2005
    #28
  14. hallo jan!!

    ich habe die hier die aktuelle db hochgeladen!

    die abfrage für die "tab_einzahlungen" aufgeschlüsselt nach "quartal, gesamt und ab jahresanfang" funktioniert!

    jetzt sind noch die 2 abfragen zusammenzufügen und die abfrage mit den kreditständen auf die kombobox abzustimmen!

    Ich danke dir für deine Bemühungen
    LG
    charly
     
    Charly6000, 28. Juni 2005
    #29
  15. Ok, habs auch ehrlich gesagt vergessen, sorry *frown.gif* Wird frühstens morgen was. Aber dann sollte es klappen *wink.gif*
     
    J_Eilers, 28. Juni 2005
    #30
Thema:

SQL

Die Seite wird geladen...
  1. SQL - Similar Threads - SQL

  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