Discussion:
Inner Join + Summierung
(zu alt für eine Antwort)
Simon Kienesberger
2004-06-30 12:49:19 UTC
Permalink
Hallöchen!!!!

Bei uns wurd auf mehreren NB´s inventur gemacht...
nun habe ich die Excel Daten in eine Access Datenbank
gebracht um die Werte zu summieren...
Inner join habe ich schon gemacht...
---------------------------------------------------------
SELECT Tab1.[SAP Nummer], Tab2.[SAP Nummer],
Tab1.Lagerbestand, Tab2.Lagerbestand
FROM Tab1 INNER JOIN Tab2 ON Tab1.[SAP Nummer]=Tab2.[SAP
Nummer];
---------------------------------------------------------

Wie währe hierfür der korrekte ausdruck zur summierung
der lagerbestände zur jeweiligen SAP Nummer???


THX Simon
Henry Habermacher [MVP Access]
2004-06-30 13:27:28 UTC
Permalink
Hallo Simon
Post by Simon Kienesberger
Hallöchen!!!!
Bei uns wurd auf mehreren NB´s inventur gemacht...
nun habe ich die Excel Daten in eine Access Datenbank
gebracht um die Werte zu summieren...
Inner join habe ich schon gemacht...
---------------------------------------------------------
SELECT Tab1.[SAP Nummer], Tab2.[SAP Nummer],
Tab1.Lagerbestand, Tab2.Lagerbestand
FROM Tab1 INNER JOIN Tab2 ON Tab1.[SAP Nummer]=Tab2.[SAP
Nummer];
---------------------------------------------------------
Wie währe hierfür der korrekte ausdruck zur summierung
der lagerbestände zur jeweiligen SAP Nummer???
Wähle im graphischen Editor für die Abfrage einfach das Summenzeichen
aus (das gleiche wie in Excel, wenn Du summen bildest). Es erscheint
dann eine neue Zeile im Feld-Grid unten, alle Felder auf Gruppierung
voreingestellt.

Dann änderst Du in den Spalten, die Du gerne aufsummier haben möchtest
von Gruppierung auf Summe und schon fertig.

Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com/AccessFAQ.htm
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
a***@discussions.microsoft.com
2004-06-30 15:13:08 UTC
Permalink
-----Originalnachricht-----
Hallo Simon
Post by Simon Kienesberger
Hallöchen!!!!
Bei uns wurd auf mehreren NB´s inventur gemacht...
nun habe ich die Excel Daten in eine Access Datenbank
gebracht um die Werte zu summieren...
Inner join habe ich schon gemacht...
-------------------------------------------------------
--
Post by Simon Kienesberger
SELECT Tab1.[SAP Nummer], Tab2.[SAP Nummer],
Tab1.Lagerbestand, Tab2.Lagerbestand
FROM Tab1 INNER JOIN Tab2 ON Tab1.[SAP Nummer]=Tab2.
[SAP
Post by Simon Kienesberger
Nummer];
-------------------------------------------------------
--
Post by Simon Kienesberger
Wie währe hierfür der korrekte ausdruck zur summierung
der lagerbestände zur jeweiligen SAP Nummer???
Wähle im graphischen Editor für die Abfrage einfach das
Summenzeichen
aus (das gleiche wie in Excel, wenn Du summen bildest).
Es erscheint
dann eine neue Zeile im Feld-Grid unten, alle Felder auf
Gruppierung
voreingestellt.
Dann änderst Du in den Spalten, die Du gerne aufsummier
haben möchtest
von Gruppierung auf Summe und schon fertig.
Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com/AccessFAQ.htm
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
.
Ne das geht nicht....
Könnte ich diese auch in SQL bekommen da kenn ich mich
ein bischen besser aus????

mfg Simon
Henry Habermacher [MVP Access]
2004-06-30 15:52:38 UTC
Permalink
Post by a***@discussions.microsoft.com
Ne das geht nicht....
Was geht nicht? Bitte klarer beschreiben, wieso es nicht geht.
Post by a***@discussions.microsoft.com
Könnte ich diese auch in SQL bekommen da kenn ich mich
ein bischen besser aus????
Scheinbar nicht, sonst würdest Du es ja selber hinbekommen mit der
Gruppierung und der Summenbildung...

Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com/AccessFAQ.htm
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
Simon Kienesberger
2004-06-30 16:00:41 UTC
Permalink
Fehler mit Memo oder OLE-Objekt dürfen nicht im
aggregatargument (Tabelle)enthalten sein

Ist es nicht möglich mir einfach ein kurzes SQL statement
zu schicken die dies genau beschreibt????

THX Simon
-----Originalnachricht-----
Post by a***@discussions.microsoft.com
Ne das geht nicht....
Was geht nicht? Bitte klarer beschreiben, wieso es nicht
geht.
Post by a***@discussions.microsoft.com
Könnte ich diese auch in SQL bekommen da kenn ich mich
ein bischen besser aus????
Scheinbar nicht, sonst würdest Du es ja selber
hinbekommen mit der
Gruppierung und der Summenbildung...
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com/AccessFAQ.htm
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
.
Henry Habermacher [MVP Access]
2004-06-30 16:07:41 UTC
Permalink
Hallo Simon
Post by Simon Kienesberger
Fehler mit Memo oder OLE-Objekt dürfen nicht im
aggregatargument (Tabelle)enthalten sein
Ist es nicht möglich mir einfach ein kurzes SQL statement
zu schicken die dies genau beschreibt????
Nein, das geht nicht! Du siehst ja selber, dass es mit Memo Feldern
nicht geht. Da nützt auch nichts wenn ich Dir jetzt ein SQL Statement
schicke, das dann gleich aussieht und auch nicht läuft, weil Du nach
Memofeldern gruppieren müsstest. Vorher musst Du die Memofelder
loswerden. Ich weiss ja nicht, was Du sonst noch für Tücken eingebaut
hat. Sorry, aber so geht's halt mal nicht. Ich habe Access und Jet ja
auch nicht geschrieben und auch nicht Dein Datenmodel entwickelt.

Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com/AccessFAQ.htm
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
Simon
2004-06-30 16:27:27 UTC
Permalink
Sorry

das Problem ist das ich 25 tabellen einer inventur habe
in jeder tabelle kann xmal die Sap Nummer xxxxxx
vorkommen genauso wie es vorkommen kann das in mehreren
tabellen die selbe sap nummer 2mal vorkommt.

Jetzt sollte ich die sapnummern gruppieren und eine summe
aus allen lagerbeständen die nach der sap nummer stehen
ziehen und dafür bräuchte ich meine abfrage... und das
natürlich bis spätestens 21:00 Uhr wies die lieben chefs
immer so wollen.

Danke für deine Hilfe
Simon
-----Originalnachricht-----
Hallo Simon
Post by Simon Kienesberger
Fehler mit Memo oder OLE-Objekt dürfen nicht im
aggregatargument (Tabelle)enthalten sein
Ist es nicht möglich mir einfach ein kurzes SQL
statement
Post by Simon Kienesberger
zu schicken die dies genau beschreibt????
Nein, das geht nicht! Du siehst ja selber, dass es mit
Memo Feldern
nicht geht. Da nützt auch nichts wenn ich Dir jetzt ein
SQL Statement
schicke, das dann gleich aussieht und auch nicht läuft,
weil Du nach
Memofeldern gruppieren müsstest. Vorher musst Du die
Memofelder
loswerden. Ich weiss ja nicht, was Du sonst noch für
Tücken eingebaut
hat. Sorry, aber so geht's halt mal nicht. Ich habe
Access und Jet ja
auch nicht geschrieben und auch nicht Dein Datenmodel
entwickelt.
Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com/AccessFAQ.htm
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
.
Helmut Fischer
2004-06-30 16:51:23 UTC
Permalink
Aha,
jetzt bringen wir mal die Sachen zusammen:

Du hast 25 Exceltabellen gehabt die jetzt zu Access-Tabellen geworden sind.
(A) Sofern die Tabellen wenigstens die gleiche Struktur hatten, dann bring
doch erst einmal die "gleichartigen" in eine Tabelle
(Handarbeit macht Spaß und führt erstaunlich direkt zum Ziel)

(B) Auf alle Fälle mußt Du in den Tabellenentwurf nach dem Export aus Excel
und die Datentypen verändern, vielleicht sogar unnötige Textfelder
rauswerfen (Viel Kommentartext --> Memo, weg damit) Falls dir das nicht
paßt, wenigstens diese Felder aus den späteren Abfragen weglassen.
Zumindest die Schlüsselfelder (Tabx.[SAP Nummer]) sollten gleiche Datentypen
haben, wenn's denn paßt was Integeres (Long)

(C) Scheue Dich nicht, mehrere Abfragen nacheinander zu schachteln oder ggf.
mit Tabellenerstellungsabfragen und Anfügeabfragen temporäre Tabellen zu
produzieren. du Bist ja eh am basteln, was dauerhaftews wird das heute eh
nicht.

(D) schließlich wenn es gar nicht anders gehen sollte, versuch Dich an
UNION-Selects, aber wenn Du die um 19:00 h noch nicht aus dem FF beherrshst,
wirst Du die auch bis 20:59 h kaum hinbekommen (sorry für diesen Satz, aber
vielleicht kannst Du UNIONS ja schon aus der Hüfte verheiraten, dann hilft
Dir der Tip doch)

(E) In der Theorie sollte 30 bis 50% für Planung draufgehen. In der Praxis
3-5%, bei Deiner Sache gingen 0,0 % fürs Planung und Mitdenken drauf.
Nochmals Entschuldigung für die Ironie, aber <lernwasdraus>

es geht immer weiter ...

Gruss
Helle

www.snowhow.net


"Simon" <***@discussions.microsoft.com> schrieb im Newsbeitrag news:2397601c45ebf$22354f20$***@phx.gbl...
Sorry

das Problem ist das ich 25 tabellen einer inventur habe
in jeder tabelle kann xmal die Sap Nummer xxxxxx
vorkommen genauso wie es vorkommen kann das in mehreren
tabellen die selbe sap nummer 2mal vorkommt.

Jetzt sollte ich die sapnummern gruppieren und eine summe
aus allen lagerbeständen die nach der sap nummer stehen
ziehen und dafür bräuchte ich meine abfrage... und das
natürlich bis spätestens 21:00 Uhr wies die lieben chefs
immer so wollen.

Danke für deine Hilfe
Simon
-----Originalnachricht-----
Hallo Simon
Post by Simon Kienesberger
Fehler mit Memo oder OLE-Objekt dürfen nicht im
aggregatargument (Tabelle)enthalten sein
Ist es nicht möglich mir einfach ein kurzes SQL
statement
Post by Simon Kienesberger
zu schicken die dies genau beschreibt????
Nein, das geht nicht! Du siehst ja selber, dass es mit
Memo Feldern
nicht geht. Da nützt auch nichts wenn ich Dir jetzt ein
SQL Statement
schicke, das dann gleich aussieht und auch nicht läuft,
weil Du nach
Memofeldern gruppieren müsstest. Vorher musst Du die
Memofelder
loswerden. Ich weiss ja nicht, was Du sonst noch für
Tücken eingebaut
hat. Sorry, aber so geht's halt mal nicht. Ich habe
Access und Jet ja
auch nicht geschrieben und auch nicht Dein Datenmodel
entwickelt.
Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com/AccessFAQ.htm
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
.
Henry Habermacher [MVP Access]
2004-07-01 03:01:23 UTC
Permalink
Hallo Simon
Post by Simon
das Problem ist das ich 25 tabellen einer inventur habe
in jeder tabelle kann xmal die Sap Nummer xxxxxx
vorkommen genauso wie es vorkommen kann das in mehreren
tabellen die selbe sap nummer 2mal vorkommt.
Jetzt sollte ich die sapnummern gruppieren und eine summe
aus allen lagerbeständen die nach der sap nummer stehen
ziehen und dafür bräuchte ich meine abfrage... und das
natürlich bis spätestens 21:00 Uhr wies die lieben chefs
immer so wollen.
In dem Fall ist es jetzt zu spät, denke ich. Das nächste Mal schreibe
einfach gleich zu Beginn, was Du machen willst und dann werden wir
sicher sofort eine Lösung finden. Mit diesen Angaben wäre das wohl nicht
arg kompliziert gewesen, aber eben, damit wolltest Du ja nicht
rausrücken, bevor es zu spät war.

Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com/AccessFAQ.htm
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
Helmut Fischer
2004-06-30 16:33:45 UTC
Permalink
Hi Simon,

um Henry's berechtigten kleinen Nervenanfall ein bischen abzuschwächen (der
ist nämlich für die wirklich kniffligen Sachen zuständig :->)

2 Dinge gehen Nicht:

* Innerhalb kurzer Zeit die exakt gleiche Frage hier stellen, ohne das
Problem peut a peut einzuzingeln. So wie Du das hier veranstaltet hast fällt
das unter nörgeln.
* Über Memo-Felder und OLE-Felder Gruppieren und Aggregatfunktionen
anwenden. Nimm die Felder dieser Datentypen einfach aus Deiner Abfrage raus,
die genannten Felder sind ja um himmelswillen und hoffentlich nicht von der
Sorte.

Falls denn doch: Dann hättest Du ein großes Wissens-Problem, das nur mit
einem sehr guten Grundlagen-Seminar aus der Welt zu schaffen ist :->

es geht immer weiter ...

Gruss
Helle

If you think education is expensive you ought to try ignorance

http://www.xl4.biz/
http://www.saccess.biz/


"Simon Kienesberger" <***@discussions.microsoft.com> schrieb im
Newsbeitrag news:2390d01c45ebb$64c58ca0$***@phx.gbl...
Fehler mit Memo oder OLE-Objekt dürfen nicht im
aggregatargument (Tabelle)enthalten sein

Ist es nicht möglich mir einfach ein kurzes SQL statement
zu schicken die dies genau beschreibt????

THX Simon
-----Originalnachricht-----
Post by a***@discussions.microsoft.com
Ne das geht nicht....
Was geht nicht? Bitte klarer beschreiben, wieso es nicht
geht.
Post by a***@discussions.microsoft.com
Könnte ich diese auch in SQL bekommen da kenn ich mich
ein bischen besser aus????
Scheinbar nicht, sonst würdest Du es ja selber
hinbekommen mit der
Gruppierung und der Summenbildung...
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com/AccessFAQ.htm
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
.
Henry Habermacher [MVP Access]
2004-07-01 03:09:25 UTC
Permalink
Hallo Helmut
Post by Helmut Fischer
Falls denn doch: Dann hättest Du ein großes Wissens-Problem, das nur
mit einem sehr guten Grundlagen-Seminar aus der Welt zu schaffen ist
Gehen tut's schon, wenn man weiss, wie, nur kann ich ja nicht immer alle
Eventualitäten abfangen, die eine Tabelle haben könnte, wenn ich SQL
Statements schreiben soll. Daher der Ansatz über den Abfrage-Editor,
weil der einem dann schön zum Ziel führt, wenn man macht, was er sagt.

In diesem Fall wäre der Ausweg einfach gewesen:

Man macht einfach ein "SAP_ID: Left(SAPNummer, 255)" statt des
Memofeldes SAPNummer (oder wie immer das/die Memofelder heisst/en) in
die Liste der Felder rein und gruppiert dann nach den ersten 255 Zeichen
der SAP ID, diese ist vermutlich sowieso maximal 10 stellig. Nach
Ausdrücken kann Jet nämlich schon gruppieren, einfach nicht nach ganzen
Memo oder OLE-Feldern, weil Jet ja nicht wissen will/kann, wie
Memo-Felder und insbesondere OLE Felder, welche ja ganz kryptischen
Inhalt haben, für die Oberfläche richtig sortiert werden könnten.
Alphabetisches sortieren geht eben nur für Text-Felder, weil man dort
davon ausgehen kann, dass auch wirklich Text drin steht, was bei OLE
Feldern nicht der Fall ist.

Alternative: Man öffnet die Tabelle in der Entwurfsansicht, was ja hier,
da es einfach importierte Daten sind (habe ich ja nicht gewusst) absolut
ungefährlich ist und ändert von Memo auf Text mit 255 oder weniger
stellen. Dann geht auch die andere Abfrage und Simon wäre innerhalb
weniger Augenblicke mit dem Abfrage-Editor glücklich geworden.

Aber eben, das wollte Simon ja nicht, er wollte ein SQL Statement, da er
sich damit besser auskennt :-(

Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com/AccessFAQ.htm
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
Loading...