Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hi

Ich hab folgendes Problem :

Ich hab eine Tabelle "User" & "Abteilung" & "Zeit"

ich muss eine Abfrage erzeugen, die mir die Abteilungen, Monatlich von einander getrennt ausgibt.

Irgendwie hab ich mit Access nichts am Hut.

Kann mir jemand sagen wie ich das bewerkstelligen kann.

Zu den Tabellen

un der Tabelle "User" steht die user-id mit dem Namen , usw. & Abteilungskürzel

In der Tabelle "Abteilung" steht zu jedem Abteilungskürzel auch der Abteilungsname

In der Tabelle "Zeit" steht zu den einzelnen einträgen nur die user-id

Also die einzelnen User sind unwichtig nur nach abteilungen soll ich sortieren :)

Wenn mir jemand helfen könnte wäre ich sehr dankbar

im prinzip ist es auch nicht schwer, sowas bekomm ich auch noch hin.

der haken an der sache ist, das das teil monatlich nach abteilung sortieren soll.

also sozusagen jede abteilung hat ihre eigene monatliche auswertung.

und ich hab keine ahnung wie der mir nach abteilungen sortiert und dies dann auch noch monatlich sortiert.

hi,

also dass sollte dir zumindest nach abteilung sortieren... aber dass mit dem monat will mir gerade nicht in den sinn kommen.

SELECT u.name, a.abteilung, z.zeit FROM user u, abteilung a, zeit z WHERE u.user_id = z.user_id AND u.abteilungskürzel = a.abteilungskürzel ORDER BY a.abteilung

sollte dass soweit nicht funktionieren gib mir bescheid, kanns grad nicht testen.

korea1

summier die zeiten und dann gruppiere nach den Abteilungen....

GROUP BY Abteilung

Zuerst einmal danke,

aber ihr redet hier mit jemandem dem Access wie eine fremdsprache vorkommt die ich nicht verstehe.

Ich hab nicht viel damit am Hut normalerweise.

Kann mir jemand ne Lösung bieten wenn ich ihm/ihr die Tabelle und Felder direkt gebe

also so ein statement ist wie folgt aufgebaut:

SELECT datenbankfeld FROM tabelle WHERE bedingung = wert ORDER BY datenbankfeld

die buchstaben, die vor den db-feldern stehen nennt man alias, damit kannst du eben genau das feld aus zeit ansprechen z.b. z.zeit

wenn du in access eine abfrage erstellst, dann kannst du doch zwischen den ansichten hin und her schalten und wenn du da mal drauf klickst, dann gibt es da einen punkt sql-ansicht und da kannst du das sql-statement einfügen.

du solltest aber vorher die felder noch anpassen, ich nehme nicht an dass die bei dir

so heissen, wie ich sie genannt hab.

das icon um die ansicht zu wechseln ist meist ganz links in der menüleiste.

korea1

Original geschrieben von TaoNW

Zuerst einmal danke,

aber ihr redet hier mit jemandem dem Access wie eine fremdsprache vorkommt die ich nicht verstehe.

Ich hab nicht viel damit am Hut normalerweise.

Kann mir jemand ne Lösung bieten wenn ich ihm/ihr die Tabelle und Felder direkt gebe

Was hast du denn schon versucht? Du wärst der erste, der mit dem Abfrageentwurf von Access nicht klarkommt (der grenzt an Entmündigung). Oder meinst du, dass dir hier einer den Hirnersatz spielt? *kopfschüttel*

@TaoNW:

Access ist zwar ein schoenes Programm, was Dir mit vielen Assistenten einiges an Denkarbeit abnimmt. Aber Du solltest schon wissen, was Abfragen sind und was die einzelnen Abfrageteile wie Whereklauseln, Group By, Having und Order bedeuten.

Informiere Dich erst ueber die Grundlagen von relationalen Datenbanksystemen und ueber die vier Grundabfragen der Abfragesprache SQL:

- Select (die Abfrage ist fuer Deine Problemstellung)

- Insert

- Update

- Delete

Dann verstehst Du auch die angesprochenen Tips mit Gruppierungen.;)

Hi, TaoNW!

Ich glaube, Du hast immer noch das Problem mit dem monatlichen Bündeln!?

Vielleicht hilft Dir folgendes weiter:

(Ich gehe von der Entwurfsansicht aus.)

Die Abfrage ist soweit ja fertig? (Die Ausgabefelder (Zielfelder) sind alle definiert?)

Gehe jetzt in der "weißen Tabelle" (unten, dort wo die Felder, Tabellen Sortierung, ... stehen) soweit nach rechts, bis die Einträge ende.

Schreibe in ein LEERES Feld in der Zeile "Feld" folgendes:

DeinMonat: Monat(DeinDatum)

und ein Feld weiter rechts (ebenfalls leer, ebenfalls in der Zeile ("Feld")

DeinJahr: Jahr(DeinDatum)

(Die allgemeine Syntax von berechneten Feldern lautet:

<Feldname>: <Anweisung>

(Anm.: Die Zeile "Tabelle" MUSS bei berechneten Felder leer bleiben!)

(Die spitzen Klammern werden nicht mit eingegeben)

Für "DeinMonat" und "DeinJahr" setzt Du gültige Feldnamen ein.

Für "DeinDatum" den Feldnamen mit dem vollständigen Datum.

"Monat" und "Jahr" sind eingebaute Funktionen mit denen Di aus einem Datum den entspr. Teil extrahieren kannst

Dann brauchst Du nur noch die Abfragefunktionen. Die findest Du unter dem Summenzeichen in der standardmäßig eingeblendeten Symboleiste.

Ein Klick darauf und alle Felder der Abfrage gruppiert werden.

Es können nur Datensätze gruppiert werden, bei denen die Inhalte der zu gruppierenden Felder gleich sind.

Bsp.:

Adam Abel

Adam Abel

Adam Bebel

Bernd Bebel

Eine Gruppierung der Datensätze hat folgende Ausgabe zur Folge:

Adam Abel

Adam Bebel

Bernd Bebel

(Unabhängig davon, welche Felder in der zugrundeliegenden Tabelle mit welchen Daten auch immer vorhanden sein mögen. Es zählen nnur die Ausgabefelder!)

Hier brauchst Du also die Gruppierung auf jeden Fall für "DeinMonat" und "DeinJahr".

Ebenso für die eindeutige(!) Personalnummer(?).

Unschädlich ist die Gruppierung ebenfalls (logisch) für alle Daten, die von der eindeutigen Information abhängen.

Nun weiß ich nicht mehr genau, ob Do Summieren willst oder die Anzahl je Monat bestimmen: Es gibt außer "Gruppieren" noch einige weitere Funktionen, deren Bedeutung auch ohne Access-Kenntnise klar sein dürften.

Ein Tip noch zum Schluß:

Die Feldnamen sehen in der Ausgabe so merkwürdig aus: "Summe von <Feldname>".

Ist:

Es gibt in der Abfrage ein Feld aus einer Tabelle (hier: "DeinFeld")

In der Zeile Feld steht "DeinFeld" in der Zeile Funktion steht Summe.

Ausgabe:

s.o.

Abhilfe:

Schreibe in die Zeile Feld folgendes (CopyPaste hilftenorm Schreibfehler zu vermeiden!)

DeinFeld: DeinFeld

Eine Anmerkung noch zum Schluß:

Werden in einer Abfrage die Abfragefunktionen benutzt, können keine Daten verändert werden. Löschen und hinzufügen funktioniert hier auch nicht.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.