Zum Inhalt springen

Access DB -> Abfrage


korea1

Empfohlene Beiträge

Hi,

ja das ist die Funktion, die ich benötige.

Ich habe eine Abfrage, bei der ich zwei Felder selektiere und nach drei Feldern gruppieren möchte.

Jetzt steht aber unter jedem Feld Gruppierung, auch unter denen, die ich eigentlich selektieren möchte. In dem Auswahlfeld für dei Funktionen habe ich aber nirgends die Möglichkeit zu sagen, dass hier keine Funktion sein soll, oder? Ich kann nur die ganze Funktionsleiste ein- bzw. ausblenden.

Beispiel:

Feld: Barcode

Tabelle 1

Funktion: Gruppierung

Feld: TimeDone

Tabelle 2

Funktion: Gruppierung

Feld: DateiNr

Tabelle 1

Funktion: Gruppierung

Feld: SeiteNr

Tabelle 1

Funktion: Gruppierung

Feld: WormNr

Tabelle 1

Funktion: Gruppierung

Die Felder Barcode und TimeDone möchte ich selektieren und nicht gruppieren.

Die Abfrage liefert mir jetzt zwar ein Ergebnis, aber das ist doch dann nicht richtig, oder? Da jetzt nach jedem Feld gruppiert wird,oder?

Ich kenn mich in Access leider nicht so aus. Ich mach das immer über SQL.

Wie kann ich Access dann beibringen, dass TimeDone = leer sein muss?

Danke korea1

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

ja ich weiß, die Abfragen kann man auch mit SQL schreiben.

Es ist allerdings so, dass nicht ich die Abfrage ausführe, sondern ein User.

Dieser User kann kein SQL und soll die Abfragen im Access starten. Er will die Abfragen selbst machen und ich habe die undankbare Aufgabe im zu zeigen, wie das geht. SQL will der User aber nicht lernen und da hat man beim Abteilungsleiter dann schlechte Karten.

Deshalb sollte ich wissen, wie das geht.

Gibt es denn irgendwo ne Anleitung wie man Abfragen in Access erstellt?

Und wie sieht das jetzt aus, ist das Ergebnis meiner obigen Abfrage falsch und wie kann ich im Feld Kriterium angeben, das das Feld TimeDone leer sein muss? Mit "" bekomme ich immer einen Fehler.

Danke und MfG

korea1

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

das hilft mir nicht wirklich weiter, ich kann nicht jedesmal, wenn der Abteilungsleiter ne Abfrage basteln möchte vorher SQL eingeben.

Der will das selbständig machen.

Wie bekomm ich das denn jetzt hin, dass ich das Kriterium leer abfragen kann?

mit = "" und = ' ' und =" " und = '' geht es nicht, da bekomm ich immer eine Fehlermeldung. Datentyp in Kriterienausdruck unverträglich.

Die Hilfe in Access hat mir auch nicht weitergeholfen und im Internet hab ich noch nichts brauchbares gefunden.

Danke und MfG

korea1

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

- leere Felder Fragst du mit "ist Null" als Kriterium. <-- Natürlich ohne "" soll nur Zeigen was du eingeben sollt ;-)

- Funktion kannst auch mit dem Summen Zeichen das du aus Excel kennst aufrufen. Es ist normalerweise ein wenig rechts von dem Ausführen Button oben in der Symbolleiste.

- du kannst dort wo du zwischen Entwurfsansicht und Datenblattansicht hin und her schaltest auch auf die SQL Ansicht gehen. Dadurch erhälst du die Möglichkeit was in SQL zu schreiben und es danach in der Entwurfsansicht anzeigen zu lassen ;-)

- Felder nach denen du nur sortierst oder ein Kriterium einträgst ohne sie darstellen zu wollen, kannst du durch herausnehmen des Hackens bei dem Feld erzeugen.

- Klick mal auf das Gruppieren und kuck was du da alles auswählen kannst, darunter gibt es auch Bedinung. Dieser Wert wird dann net Gruppiert.

Eine Sehr gute Anleitung zu Access und Abfragen erstellen, findest du bei dem Hert Verlag! Kann ich nur empfehlen.

Gruß

CK

Link zu diesem Kommentar
Auf anderen Seiten teilen

das hat mir jetzt schon viel weiter geholfen.

Allerdings bekomme ich jetzt eine Fehlermeldung, die wie folgt aussieht:

Sie wollten eine Abfrage machen, die den angegebenen Ausdruck TimeDone nicht als Teil der Aggregatfunktion einschließt.

Was ist das?

Der SQL Text sieht so aus:

SELECT 1.TimeDone, 2.barcode, 2.DateiNr, 2.SeiteNr, 2.WormNr

FROM Tabelle1 1, Tabelle2 2

WHERE 1.DocID =2.DocID

AND 1.TimeDone Is Null

GROUP BY 2.DateiNr,2.SeiteNr,2.WormNr

Was ist daran falsch?

Wenn ihr wollt kann ich das ganze noch als join posten.

Danke und MfG

korea1

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das mit der Agregatsfunktion bezieht sich auf den group by befehl

SELECT 1.TimeDone, 2.barcode, 2.DateiNr, 2.SeiteNr, 2.WormNr

FROM Tabelle1 1, Tabelle2 2

WHERE 1.DocID =2.DocID

AND 1.TimeDone Is Null

GROUP BY 2.DateiNr,2.SeiteNr,2.WormNr 1.TimeDone

Wenn du Group By verwendest müssen da alle abgefragten Werte stehen auser die werte werden mit coun() oder sum() oder was in der art versehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

wenn ich dich richtig verstanden habe, müsste das dann so aussehen, richtig?

SELECT 1.TimeDone, 2.barcode, 2.DateiNr, 2.SeiteNr, 2.WormNr

FROM Tabelle1 1, Tabelle2 2

WHERE 1.DocID =2.DocID

AND 1.TimeDone Is Null

GROUP BY 2.DateiNr,2.SeiteNr,2.WormNr, 1.TimeDone, 2.barcode

Aber dann gruppiert es doch nach allen diesen Feldern, oder?

Danke und MfG

korea1

Link zu diesem Kommentar
Auf anderen Seiten teilen

wenn du das timedone (ich geh mal davon aus du willst dieses feld nicht gruppieren) ganz ans ende vom group by befehl setzt müsste er da nicht wirklich was gruppieren können. man müsste es mal testen.

notfalls musst du den select umbasteln das der timedon irgendwie verarbeitet wird. Ich weis ja nicht wie deine tabellenstruktur aussieht aber wenn der timedone ein "date" feld ist dann kannst du den select wie folgt abändern:

SELECT to_date(1.TimeDone, 'hh.mi.ss'), 2.barcode, 2.DateiNr, 2.SeiteNr, 2.WormNr

FROM Tabelle1 1, Tabelle2 2

WHERE 1.DocID =2.DocID

AND 1.TimeDone Is Null

GROUP BY 2.DateiNr,2.SeiteNr,2.WormNr, 2.barcode

to_date(1.TimeDone, 'hh.mi.ss') verhindert das 1.timedone im "group by" benötigt wird. Den wert selber formatiert sie so um das er in "stunden:minuten:sekunden" angezeigt wird. kannst natürlich so formatieren wie du willst ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...