Kompliziertes Summieren mit VBA
Ich versuche mal zu beschreiben:
Ich habe eine Projektdatenbank, diese Projektdatenbank kann unterschiedlich viele Warenkörbe haben, jeder dieser Warenkörbe kann verschiedene Artikel beinhalten.
Die Warenkorbdatenbank fasst die Summen der Artikelgruppen aus der Artikeldatenbank zusammen (zB. Feld Artikelgruppe x = 115,- €, Artikelgruppe y = 220,-€).
Kurze Struktur:
Projektdatenbank:
Felder: ProjektNummer, Name
Warenkorbdatenbank
Felder: Projektnummer, Warenkorbnummer, Summe Artikelgruppe x, Summe Artikelgruppe y
Artikeldatenbank:
ProjektNummer, Warenkorbnummer, Artikelgruppe, Artikelnummer, Listenpreis, Rabatt, Endpreis
Problem:
Nun möchte ich via VBA aus dem Projekt heraus über ein Feld (zur Eingabe Rabatt) und einem Button, den Rabatt einer bestimmen Artikelgruppe (z.B. Artikelgruppe x) in der Artikeldatenbank ändern , dort den Endpreis neu berechnen lassen und die Summe des Endpreises dieser Artikelgruppe neu in das Feld "Summe Artikelgruppe X" in der Warenkorbdatenbank schreiben lassen.
Ich hoffe ihr habt mich verstanden und könnt mir helfen.
Ich habe eine Projektdatenbank, diese Projektdatenbank kann unterschiedlich viele Warenkörbe haben, jeder dieser Warenkörbe kann verschiedene Artikel beinhalten.
Die Warenkorbdatenbank fasst die Summen der Artikelgruppen aus der Artikeldatenbank zusammen (zB. Feld Artikelgruppe x = 115,- €, Artikelgruppe y = 220,-€).
Kurze Struktur:
Projektdatenbank:
Felder: ProjektNummer, Name
Warenkorbdatenbank
Felder: Projektnummer, Warenkorbnummer, Summe Artikelgruppe x, Summe Artikelgruppe y
Artikeldatenbank:
ProjektNummer, Warenkorbnummer, Artikelgruppe, Artikelnummer, Listenpreis, Rabatt, Endpreis
Problem:
Nun möchte ich via VBA aus dem Projekt heraus über ein Feld (zur Eingabe Rabatt) und einem Button, den Rabatt einer bestimmen Artikelgruppe (z.B. Artikelgruppe x) in der Artikeldatenbank ändern , dort den Endpreis neu berechnen lassen und die Summe des Endpreises dieser Artikelgruppe neu in das Feld "Summe Artikelgruppe X" in der Warenkorbdatenbank schreiben lassen.
Ich hoffe ihr habt mich verstanden und könnt mir helfen.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 63045
Url: https://administrator.de/contentid/63045
Ausgedruckt am: 05.11.2024 um 19:11 Uhr
9 Kommentare
Neuester Kommentar
eehhh... und jetz möchtest du, dat jemand deinen job macht ?
eigentlich wollt ich dir jetz gerade erzählen wie man sowas
angeht, wenn man hilfe haben möchte und man nich einfach
seinen job gemacht haben möchte.
aber dank deines outtings kann ich mir dat jetz schenken.
desweiteren möchte ich mich für deine ehrlichkeit bedanken.
dich aber darauf hinweisen, dat du leider etwas ganz falsch
siehst und mit deiner einstellung wahrscheinlich auch nich
weit kommst.
| Ich bin lieber ein sehr gut verdienender Möchtegern-Admin,
| als ein studierter, arbeitsloser Informatiker ohne jegliche Praxis.
glaub ich dir auf's wort.
nur stellt sich wahrscheinlich ein arbeitsloser informatiker der
eigentlich arbeiten will, sicherlich hin und wieder die frage, ob
leute wie du nich der grund oder zumindest ein teilgrund für
seine arbeitslosigkeit sind und ob es nich vielleicht besser is
solche leute wie dich lieber links liegen zu lassen.
ps: ich geh jetz einfach mal davon aus, dat du mit "ich beiden
schwachköpfen" dein überlegenes vermutlich dualverarbeitendes
besserverdienendes möchtegern gehirn meinst - oder doch gar
doppelköpfig? - und es obendrein mit ihr trottel(n) betitelst.
...oder hab ich dich missverstanden ?
angeht, wenn man hilfe haben möchte und man nich einfach
seinen job gemacht haben möchte.
aber dank deines outtings kann ich mir dat jetz schenken.
desweiteren möchte ich mich für deine ehrlichkeit bedanken.
dich aber darauf hinweisen, dat du leider etwas ganz falsch
siehst und mit deiner einstellung wahrscheinlich auch nich
weit kommst.
| Ich bin lieber ein sehr gut verdienender Möchtegern-Admin,
| als ein studierter, arbeitsloser Informatiker ohne jegliche Praxis.
glaub ich dir auf's wort.
nur stellt sich wahrscheinlich ein arbeitsloser informatiker der
eigentlich arbeiten will, sicherlich hin und wieder die frage, ob
leute wie du nich der grund oder zumindest ein teilgrund für
seine arbeitslosigkeit sind und ob es nich vielleicht besser is
solche leute wie dich lieber links liegen zu lassen.
ps: ich geh jetz einfach mal davon aus, dat du mit "ich beiden
schwachköpfen" dein überlegenes vermutlich dualverarbeitendes
besserverdienendes möchtegern gehirn meinst - oder doch gar
doppelköpfig? - und es obendrein mit ihr trottel(n) betitelst.
...oder hab ich dich missverstanden ?
Guten Abend zusammen,
@moeller67
Erstmal hört sich das für mich so an, als wäre es eine Aufgabe (Schule, Studium oder Job) mit der du überhaupt nichts am Hut hast. Die Datenbanken haben sich doch auch nicht von alleine entwickelt, oder?
Weil der Aufbau an sich ist (so hört sich das für mich na) nicht gerade simple mit dem Verknüpfungen, etc...
Beschäftige dich erstmal so mit VBA. Denn was nützt dir eine Lösung /-ansatz wenn du keine Zeile verstehst.
Dann habe ich noch ein paar Zensuren vorgenommen. Da verweiße ich einfach mal auf die Forenregeln - Regel Nr.1 und mache von meinen Rechten gebrauch.
Grüße
Dani
@moeller67
Erstmal hört sich das für mich so an, als wäre es eine Aufgabe (Schule, Studium oder Job) mit der du überhaupt nichts am Hut hast. Die Datenbanken haben sich doch auch nicht von alleine entwickelt, oder?
Weil der Aufbau an sich ist (so hört sich das für mich na) nicht gerade simple mit dem Verknüpfungen, etc...
Da die Lösungen jedem zur Verfügung stehen, ist es durchaus angebracht sich hier Hilfe zu
suchen.
Was willst du uns mit diesem Satz sagen?? Ich vestehn ihn nach 5x lesen noch immer nicht.suchen.
Ich will auch nicht, das jemand meine Arbeit macht, sondern ich suche eine Anregung.
Aha...vielleicht solltest du das nächstes Mal einfach dazu schreiben. Anregungen für was? Wie man das Lösung könnte. und dann sind wir wieder beim Thema.Beschäftige dich erstmal so mit VBA. Denn was nützt dir eine Lösung /-ansatz wenn du keine Zeile verstehst.
Dann habe ich noch ein paar Zensuren vorgenommen. Da verweiße ich einfach mal auf die Forenregeln - Regel Nr.1 und mache von meinen Rechten gebrauch.
Grüße
Dani
Heute stelle eine Frage und werde erst von einem Benutzer, dann von einem Moderator hier,
wie ein blödes ### behandelt.
Wenn das für dich so rüber kommt, möchte ich mich bei dir entschuldigen. Ich möchte dich sicher nicht wie ein noob behandeln.wie ein blödes ### behandelt.
Blöd angemacht? Ich habe den Vorschlag gemacht, dass du dich am Besten mal mit VBA beschäftigst. Das bleibt natürlich dir überlassen. Das am Anfang war eine Frage, also nicht schlimmes, oder?
Gruß
Dani
wer nich in der lage is eine frage klar und sinnvoll zu formulieren,
wer nich in der lage is eine frage zu erkennen und vernünftig auf diese einzugehen,
wer meint etwas besseres zu sein als andere und daraufhin mit beleidigungen umsich schmeisst,
ist meines erachtens falsch hier.
zitat moeller67:
Ich kann nur hoffen, das www.administrator.de weiß, wie hier die Leute behandelt werden.
auch (gerade) IT-Leiter sollten wissen wie man sich benimmt.
wer nich in der lage is eine frage zu erkennen und vernünftig auf diese einzugehen,
wer meint etwas besseres zu sein als andere und daraufhin mit beleidigungen umsich schmeisst,
ist meines erachtens falsch hier.
zitat moeller67:
Ich kann nur hoffen, das www.administrator.de weiß, wie hier die Leute behandelt werden.
auch (gerade) IT-Leiter sollten wissen wie man sich benimmt.
Ich würde das insgesamt anders machen.
Ich würde die Spalten Endpreis und die Summen Artikelgruppe aus den Tabellen rausnehmen und in einer Abfrage als berechnete Werte erzeugen. Damit sind sie automatisch aktuell und keine Buttons mehr nötig. Verringert auch die Redundanz und verbessert die Konsistenz.
Also bei der Artikeltabelle:
ProjektNummer, Warenkorbnummer, Artikelgruppe, Artikelnummer, Listenpreis, Rabatt
Dazu eine Abfrage (View) (gehe davon aus, das Rabatt 0,3 bedeutet 30% Rabatt):
Select ProjektNummer, Warenkorbnummer, Artikelgruppe, Artikelnummer, Listenpreis, Rabatt, Listenpreis * (1-Rabatt) as Endpreis from Artikeltabelle
Für die Summen Abfragen machen, die die Summen ausrechnen, und dann die Abfragen mit der Warenkorbtabelle zusammenführen (Join). Habe gerade keine Datenbank da und aus dem hohlen Bauch kriege ich den SQL Code nicht hin, daher gerade keine Beispiele.
Jedenfalls sind berechnete Werte abzuspeichern der erste Schritt in Richtung inkonsistente Datenbanken, weil einmal in der Tabelle den Preis geändert oder den Rabatt und nicht neu berechnen lassen und schon stimmts nicht mehr. Und hinterher rauskriegen was nicht stimmt ist schwierig.
Ich würde die Spalten Endpreis und die Summen Artikelgruppe aus den Tabellen rausnehmen und in einer Abfrage als berechnete Werte erzeugen. Damit sind sie automatisch aktuell und keine Buttons mehr nötig. Verringert auch die Redundanz und verbessert die Konsistenz.
Also bei der Artikeltabelle:
ProjektNummer, Warenkorbnummer, Artikelgruppe, Artikelnummer, Listenpreis, Rabatt
Dazu eine Abfrage (View) (gehe davon aus, das Rabatt 0,3 bedeutet 30% Rabatt):
Select ProjektNummer, Warenkorbnummer, Artikelgruppe, Artikelnummer, Listenpreis, Rabatt, Listenpreis * (1-Rabatt) as Endpreis from Artikeltabelle
Für die Summen Abfragen machen, die die Summen ausrechnen, und dann die Abfragen mit der Warenkorbtabelle zusammenführen (Join). Habe gerade keine Datenbank da und aus dem hohlen Bauch kriege ich den SQL Code nicht hin, daher gerade keine Beispiele.
Jedenfalls sind berechnete Werte abzuspeichern der erste Schritt in Richtung inkonsistente Datenbanken, weil einmal in der Tabelle den Preis geändert oder den Rabatt und nicht neu berechnen lassen und schon stimmts nicht mehr. Und hinterher rauskriegen was nicht stimmt ist schwierig.