Access Doppelte Einträge bei Abfrage

3 Antworten

Ergänzend zu meinem ersten Vorschlag (den Du Dir gut merken solltest, weil der oft gebraucht wird): Du gibst im select nur die Felder an, die Du nur einmal haben möchtest und ergänzt den select am Schluss mit:

group by feld1, feld2 usw.

Wichtig ist, dass alle Felder des select in der group by aufgezählt werden müssen. Den select kannst dann mit Funktionen erweitern: count(stern) zeigt an wie oft, sum(feld) bildet die Summe eines numerischen Feldes (muss als not null definiert sein) oder max(datum) zeigt das letzte Datum an. Für stern musst Du das Sternchen auf der Tastatur benutzen, hier lässt sich das nicht schreiben.

Das Problem mit dem Kombifeld kannst du lösen, indem du in den Eigenschaften des Kombifeldes die Datensatzherkunft änderst. Möglicherweise musst du hier einige Felder gruppieren oder rausschmeissen. Ist schwierig zu beurteilen, wenn man die Datenbank nicht vor Augen hat.

Solche Probleme kannst Du mit einer verschachtelten Abfrage lösen, einem sog. Subselect.

Zunächst stellst in einem select den Primärschlüssel aller betroffenen Fälle her, egal wie oft der vorkommt. Diesen select verwendest Du jetzt im Hauptselect als Subselect (steht in Klammern):

select feld1, feld2, usw from tabelle where prim in (select prim from tebelle where ...)

Der Subselect erstellt intern eine Tabelle der Primärschlüssel aller betroffenen Sätze, der Hauptselect prüft nur, ob dieser Schlüssel in der internen Tabelle vorhanden ist oder nicht, egal wie oft. wenn der Primärschlüssel mehrteilig ist, musst Du diesen in Klammern setzen:

where (prim1, prim2) in (select prim1, prim2 from...)

Es empfieht sich, den Subselect zuerst zu erstellen und vorab zu prüfen.

EINEN MONAT MEHR ALS 450€ VERDIENEN - PROBLEM?

Hallo ihr lieben,

ich arbeite neben dem studium in einem Hotel im Schichtdienst auf 450€ Basis. Krankenversichert bin ich über die Familien Versicherung.

Wir arbeiten im Hotel jeden Monat mit einem Dienstplan, heisst jeden Monat hat man unterschiedliche Dienste und Gesamtstunden.

Diesen Monat habe ich jetzt so viele Stunden das ich am Ende des Monats auf ca 500€ kommen werde. So viel habe ich noch nie im Monat verdient mein Durchschnitt liegt meistens bei 200€/Monat.

Was passiert jetzt am Monatsende? Werde ich meine ganzen Abzüge und Krankenversicherung jetzt zahlen müssen oder wie läuft das ab? Das wäre nur einmalig und die restlichen Monate wären wieder bei ca 200€/Monat.

Tausend Dank vorab :)

...zur Frage

Excel 2010 Formel mit bedingung

Hey Leute,

ich habe in einer tabelle Zeiten eingetragen wo ich mir Dynamisch Überstunden ausrechnen lassen will.

Dazu habe ich bereits eine Formel in H4 die auch oben zu sehe ist, mit der die Gesamtstunden für den Monat August ausgerechnet werden. (Für September werden dementsprechend die Stunden für September ausgerechnet.)

Nun wollte ich aber nur die Überstunden alleine wissen.

Dafür wollte ich hinter die Formel in H4 noch so oft 8 Stunden abziehen lassen wie Tage im August gearbeitet wurden. In dem fall 15.

Aber da ich das Übertragbar gestalltet haben möchte kann ich nicht einfach -(15*8) rechnen...

Hat da jemand einen Vorschlag?

MfG Pinappple

...zur Frage

Beziehungen Verknüpfungsproblem Access 2003, wer kann helfen?

Ich benutze Access 2003 auf Windows 7 64bit für eine benötigte Datenbank. Es gibt dort eine Tabelle x für Daten zu einem Film und eine Tabelle y für Daten zu den jeweiligen DVD. Somit kann einem Datensatz in Tabelle x mehrere Datensätze in Tabelle y zugeordnet werden. Jeweils verbunden durch eine Verknüpfung über das gemeinsame Datenfeld "Filmtitel". Aus strukturellen Gründen habe ich aktuell zwei Tabellen x zum trennen von zwei verschiedenen Richtungen (eine habe ich kopiert). Also x1 und x2. Gleiche Datenfelder, gleiche Tabelle, unterschiedliche Datensätze. Beide Tabellen sind im Datenfeld "Filmtitel" mit dem gleichnamigen Datenfeld in Tabelle "DVD" verknüpft. Bei Tabelle x1 steht am jeweiligen Verknüpfungspunkt auch 1/unendlich, bei Tabelle x2 jedoch nicht, einfach nur die Beziehungslinie. Ein Befüllen von Tabelle y über das Formular zu Tabelle x1 funktioniert auch, nur ein Befüllen von x2 geht nicht, nur Fehlermeldung: "Der Datensatz kann nicht hinzugefügt oder geändert werden, da ein Datensatz in der Tabelle x2 mit diesem Datensatz in Beziehung stehen muss."

Was läuft da falsch ? Falsch verknüpft ? Kann man eine Tabelle nicht mit zwei anderen zugleich verknüpfen ?

Danke, dass ihr Euch damit beschäftigt. Für Fragen bin ich gern da. Ich möchte ja, dass mir geholfen wird :-)

...zur Frage

ACCESS Jet-DATENBANKMODUL LAUFZEITFEHLER HILFEEEE

Hallo alle zusammen, ich habe ein Problem und zwar möchte ich von einer Acces-DB eine Tabelle per Makro ins Excel importieren, jedoch kommt da ständig ein "Laufzeitfehler3078. Das MS Jet-Datenbankmodul finder die Eingangstabelle oder Abfrage SDTL.SDTL_REFERENZ_NR,.. nicht" Wenn ich denselben Code für eine andere DB benutze funktioniert es, worin könnte der Fehler liegen?

Hier ist mein Code:

Sub TestBeispiel() Dim meDB As Database, DBTab As Recordset Dim vonDatum As Long, bisDatum As Long Dim sPath As String Dim A As Long

vonDatum = CDate("01.01.2006") 'von Datum bisDatum = CDate("31.12.2014") 'bis Datum A = 2 'erste Zelle

'Zellen leer machen Range("A2", Cells(Cells.SpecialCells(xlCellTypeLastCell).Row, 66)).ClearContents

sPath = IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\")

'öffne Datenbank Set meDB = OpenDatabase(sPath & "test.accdb") 'öffne Recordset Set DBTab = meDB.OpenRecordset("SELECT SDTL.SDTL_ERSTZULASSUNG, SDTL.SDTL_REFERENZ_NR, SDTL.SDTL_STATUS, SDTL.SDTL_ERSATZTEIL, SDTL.SDTL_MONTEURBEFUND FROM SDTL") 'Filter Recordset DBTab.Filter = "SDTL.SDTL_ERSTZULASSUNG >= " & vonDatum & " And SDTL.SDTL_ERSTZULASSUNG <= " & bisDatum & "" Set DBTab = DBTab.OpenRecordset

'Alle Daten lesen With DBTab Do While Not .EOF Cells(A, 1) = CVar(!SDTL_REFERENZ_NR) Cells(A, 2) = CVar(!SDTL_STATUS) Cells(A, 4) = CVar(!SDTL_ERSATZTEIL) Cells(A, 7) = CVar(!SDTL_MONTEURBEFUND) Cells(A, 8) = CDate(!SDTL_ERSTZULASSUNG)

A = A + 1 .MoveNext Loop End With DBTab.Close

Set DBTab = Nothing: Set meDB = Nothing End Sub

...zur Frage

Datenbank - Access (Verstoß gegen referentielle Integrität)

Hey Leute,

ich habe nur eine kurze Frage. Könnt ihr mir ein Beispiel für einen Verstoß gegen die referenzielle Integrität geben. (Access)

PS: ich bin erst in der zwölften Klasse!

Danke im Voraus

...zur Frage

Access Datenbank für andere zugänglich machen?

Ich habe eine Datenbank erstellt und in einem Netzwerkordner gespeichert, damit diese Datenbank auch für andere zugänglich ist. Wichtig ist einfach, dass andere Benutzer das Formular benutzen können, welches ich erstellt habe (Mitgliederverwaltung). Jedoch habe ich versucht diese auf dem anderen PC zu öffnen und es erscheint nur eine weiße Seite. Was habe ich falsch gemacht?

...zur Frage

Was möchtest Du wissen?