Office: (Office 2007) Errechnete Daten aus Abfrage in Tabelle schreiben

Helfe beim Thema Errechnete Daten aus Abfrage in Tabelle schreiben in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, wieder mal ein Problem: Mit Hilfe einer Abfrage werden Werte berechnet, die auch als Bericht ausgegeben werden. Das Ergebnis der Abfrage sind... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von doz2006, 1. November 2009.

  1. Errechnete Daten aus Abfrage in Tabelle schreiben


    Hallo,

    wieder mal ein Problem:

    Mit Hilfe einer Abfrage werden Werte berechnet, die auch als Bericht ausgegeben werden.

    Das Ergebnis der Abfrage sind mehrere Datensätze.
    Diese sollen nun "automatisch" in eine Tabelle geschrieben werden.

    Wie mache ich das am besten?

    DAnke

    :)
     
    doz2006, 1. November 2009
    #1
  2. Hi,

    Grundsätzlich wäre das ein Job für eine Anfüge- oder Tabellenerstellungsabfrage, die du auf der bisherigen Abfrage aufsetzen kannst.

    Bliebt die Frage: warum?Es gibt nur selten wirklichen Grund, Daten in eine Tabelle schreiben, die du per Abfrage bei Bedarf ermitteln kannst.
     
    Atrus2711, 3. November 2009
    #2
  3. Der Grund ist der, dass die neu errechneten Daten aus der Abfrage bisher manuell mit Hilfe eines Formulars in die Tabelle geschrieben wurden.
    Das soll jetzt automatisiert werden.
     
    doz2006, 3. November 2009
    #3
  4. Errechnete Daten aus Abfrage in Tabelle schreiben

    *confused.gif*
    Wenn die Abfrage schon die richtigen Daten liefert, ist doch ein Wegschreiben in eine Tabelle gar nicht mehr nötig. Die Abfrage basiert doch auf einer Tabelle, bereitet deren Daten auf und gut. Das Ergebniss muss nicht in einer anderen Tabelle abgelegt werden.

    Ausnahmen bestätigen diese Regel. Aber sie sollten wohlbegründet sein:
    • Performance
    • Historisierung ("Snapshots" von Daten)
    Andere Anlässe würde nur unnötige Redundanz schaffen.

    Worum gehts denn?
     
    Atrus2711, 3. November 2009
    #4
  5. Schwierig zu beschreiben:
    Vereinfacht:
    Es gibt eine Tabelle mit ARtikelInfos, eine Tabelle mit ARtikeldetails.
    Artikelinfos und Details werden in Formular gezeigt.
    Neue Berechnung (Abfrage) liefert Werte, die wiederum als neuer Artikel abgespeichert werden soll.
    D. h. erst die Berechnungs-Abfrage, damit ich überhaupt die neuen Artikeldetails bekomme, dann muss in Tabelle Artikelinfos ein neuer DSatz erzeugt werden, mit neuer ARtikelNr.
    Diese neue ARtikelNr muss man sich "merken" und dann sollen die berechneten Datensätze in Tabelle Artikeldetails mit der ARtikelNr geschrieben werden.

    Ich hatte mir überlegt, dass ich die Berchnungs-Abfrage nutze um diese Daten dann zunächst mal in eine temporäre Tabelle zu schreiben, auf die ich dann später zugreifen kann, wenn ich einen neuen Artikel angelegt habe.

    Problem ist, dass ich jetzt nicht weiter weiß, wie ich diese temporären Datensätze mit einer neuen ARtikelnr überschreiben kann und danach dann in die Tabelle ARtikeldetails kopieren kann.

    Vielleicht hast Du aber einen besseren Weg.

    Dank
     
    doz2006, 3. November 2009
    #5
  6. Hi,

    ist Artikelinfos 1:n Artikeldetails, und du wünschst eine Kopie eines Artikelinfo-Satzes "samt der n-Sätze"?

    Dann würde ich erst den Satz der 1-Tabelle kopieren (z.B. per Recordset, damit die neue ID auslesbar ist). Diese ID kannst du dann für die Erzeugung der N-Sätze als neue ArtikelID vorgeben.

    Eine temporäre Tabelle ist da nicht unbedingt nötig.
     
    Atrus2711, 3. November 2009
    #6
  7. Hi,
    ja Artikelinfos 1:n Artikeldetails ist richtig.
    Aber es ist keine Kopie der 1:n-Sätze, denn die neuen Artikeldetails ergeben sich aus der Berechnungs-Abfrage, sie stehen ja dann noch in keiner Tabelle.
     
    doz2006, 3. November 2009
    #7
  8. Errechnete Daten aus Abfrage in Tabelle schreiben

    trotzdem sind das die Details zu einer Artikelnummer, deren Wert erst feststehen muss. Welche Artikelnummer sollten die n-Sätze sonst erhalten!?

    Die Detail-Abfrage berechnet welche Werte? Gehen die irgendwie aus den Daten der alten Artikeldetails hervor? Dann ist die alte ID das Suchkriterium, die Restfelder werden berechent, aber die neue ID müsste als fester Wert vorgegeben werden.

    Schema:
    Insert Into Details (Artikelnummer, RestFeld)
    SELECT 4711, Restfeld * 2
    FROM Details
    WHERE Artikelnummer = 0815

    0815 ist die Quellnummer (festes Kriterium!)
    4711 ist die Zielnummer (feste neue Artikelnummer aus 1-Satz-Anlage!)
     
    Atrus2711, 3. November 2009
    #8
  9. Hi,

    das ist die Abfrage, die auf Basis bestehender Tabellen neue Werte berechnet, die wiederum einen neuen Artikel ergeben sollen.
    Code:
    Diese Abfrage liefert mir also die Felder für den INSERT-Befehl.
    Die ArtikelNr, die in dieser Abfrage drin ist, ist die alte ARtikel-Nr.
    Die neue ArtikelNr muss vom Anwender abgefragt werden, er muss sie eingeben.
    Das mache ich im Formular so:
    Code:
    Danach habe ich im Formular einen neuen Datensatz mit einer neuen Artikel-Nr.
    In diesem Formular gibt es ein Ufo, das die Detail-Datensätze zeigt.
    In dieses Ufo sollen dann die neuen Detail-Datensätze aus der obigen Abfrage mit der neuen ARtikelNr (wegen 1:n) rein.
    Und das bekomm ich nicht hin.
     
    doz2006, 3. November 2009
    #9
  10. Ist diese Vergabe der neuen Artikelnummer per Inputbox ein "hoheitlicher Akt", oder nur eine Notlösung?

    Wenn es ein Autowert ist, steht die neue Nummer eh fest.
    Wenn nicht: gibt es ein Regelwerk, nach dem die neue Nummer zu bilden ist?

    Wenn die Nummer wirklich "frei Schnauze" vergeben wird: woher nimmt der User die Nummer? Sie darf ja nicht schon vergeben sein.

    Das Vergeben von Nummern durch Menschen ist eigentlich heutzutage unwürdig. Es ist doch eigentlich völlig wurscht, welche Nummer der neue Artikel hat. Hauptsache, die Nummer wird für die Detailsätze eingetragen.

    Es sollte dann auch gar nicht nötig sein, die neuen Sätze per Hand irgendwo rein zu kopieren. Idealerweise läuft das alles autoamtisch ab. (Auch wenn die Nummer tatsächlich Menschenwerk sein soll, genügt die Angabe der neuen Nummer. Den Rest müsste ein Code machen).
     
    Atrus2711, 3. November 2009
    #10
  11. Hi,

    nein die ArtikelNr muss vom Anwender vergeben werden. Da steckt eine Logik dahinter, die aber nicht automatisiert werden soll.

    Da habe ich keinen Einfluss drauf.
    Genau diesen Code bekomm ich ja nicht hin.
     
  12. Neue Artikelnummer erfragen (notfalls per Inputbox *pfui*)
    Neuen 1-Satz anfügen (mit der erfragten Nummer)
    Detailsätze mit dem Code aus #8 einfügen; dabei die QUellnummer und die Zielnummer in die SQL einbauen.

    Ich kann dir das an einer DemoDatenbank zeigen, oder du lädst deine hoch und ich baus direkt da ein.

    Die meisten User tun sich mit Logiken eher schwer. Niemand interessiert sich wirklich für den Aufbau von Artikel-(o.ä.)-Nummern, sondern für das, was die bedeuten. Die Bedeutung aber sollte nicht zu "sprechenden Schlüsseln" führen, wo man der Nummer etwas ansieht. Das geht immer in die Hose.
     
    Atrus2711, 3. November 2009
    #12
  13. Errechnete Daten aus Abfrage in Tabelle schreiben

    Vielen Danke schon mal,
    ich versuch noch weiter und gebe Rückmeldung.
     
  14. Hallo Atrus2711,

    habe versucht mein Problem hinzubekommen, leider nicht mit Erfolg und würde gern Dein Angebot annehmen, dass Du mir das an einer Demo-DB zeigen kannst (#12).

    Danke schon mal...
     
  15. Hi,

    hier die Demo.
     
    Atrus2711, 29. November 2009
    #15
Thema:

Errechnete Daten aus Abfrage in Tabelle schreiben

Die Seite wird geladen...
  1. Errechnete Daten aus Abfrage in Tabelle schreiben - Similar Threads - Errechnete Daten Abfrage

  2. Daten Einlesen aus mehre Zellen in Verbindung einer Verbundene Zelle

    in Microsoft Excel Hilfe
    Daten Einlesen aus mehre Zellen in Verbindung einer Verbundene Zelle: Moin Allerseits, mit Verlaub ich bin seit 5 Jahren aus der Materie raus, fange somit von Vorne an. Frage: Anpassung eines bereits Geschrieben Codes. Verwendete Elemente: Quelle> Tabelle "wsLK",...
  3. Excel icon fehlt

    in Microsoft Excel Hilfe
    Excel icon fehlt: Hallo zusammen ich habe das Icon aus Datei nicht um Daten abzurufen [ATTACH] was kann ich tun? bei Daten zusammenführen ist es vorhanden - ich möchte eigentlich alle Tabellenblätter in eine...
  4. Excel Zusammenführen

    in Microsoft Excel Hilfe
    Excel Zusammenführen: Guten Tag Sub Tabelle_zusammenführen() Dim i As Integer Dim Zusammenfassung As Worksheet Dim BereichZielTab As Range Set Zusammenfassung = Worksheets("Zusammenfassung") For i = 2...
  5. Rechenaufgabe erkennen und als errechneter Wert in anderer Zelle angeben

    in Microsoft Excel Hilfe
    Rechenaufgabe erkennen und als errechneter Wert in anderer Zelle angeben: Hallo Ihr Wissenden ich brauche etwas Hilfe bei Excel ... damit ich angelegte Vorlagen optimieren kann Hier mein Problem Ich mache neuerdings Abrechnungen für eine Baufirma (soll die...
  6. aus errechneter Uhrzeit- verschiedene Stundensätze verrechnen

    in Microsoft Excel Hilfe
    aus errechneter Uhrzeit- verschiedene Stundensätze verrechnen: Hallo liebe Problemlöser, ich versuche verzweifelt für meine Lohnsteuerabrechnung eine Jahrestabelle zu erstellen Problem: Anfangszeit Endzeit Stunden Diäten 7:30 21:00...
  7. Errechneter Wert und eine Zellenbeschreibung in einer Zelle

    in Microsoft Excel Hilfe
    Errechneter Wert und eine Zellenbeschreibung in einer Zelle: Hallo Excel Freunde, kleine Frage an die Community. Welches Excelsymol erlaubt mir nach einem Istgleich Zeichen einen Text hinter einer berechneten Zahl zu schreiben? Es soll ungefähr so...
  8. Stundenanzahl soll in EUR-Betrag errechnet werden

    in Microsoft Excel Hilfe
    Stundenanzahl soll in EUR-Betrag errechnet werden: Nächstes Problem, z.B. habe in Zelle F12 Std-Anzahl 05:00 (formatiert). Möchte in z.B. H12 Ergebis haben, wenn Stundensatz z.B. 7,00 EUR (Zelle I12) beträgt. Ergebnis also EUR 35,00. DANKE!!!
  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