Access: Wenn-Funktion mit Erkennung von leeren Datensätzen?

3 Antworten

Hallo, DOM steht für Domäne > Datenherkunft. Die sgn. Domänen-Aggregatfunktionen sind immer gleich aufgebaut: z.B. DomWert(Ausdruck ; Domäne ; Kriterium) heisst: Hol den Wert "Ausdruck" aus der "Domäne" (Tabelle oder Abfrage) mit dem "Kriterium" XYZ. Demnach gibt es DomSumme, DomAnzahl, DomMax, DomMin, etc... - immer gleich aufgebaut. Gruß Armin Dippel

P.S. DomAnzahl gibt die Anzahl der Datensätze zurück, die in "Ausdruck" (Aufbau siehe oben) einen Wert haben

Hallo, das ist schon möglich - anbei ein Lösungsansatz:

Du schreibst in das Feld, in dem "fehlend" erscheinen soll, wenn es keinen Datenstz mit der Nummer in einer anderen Tabelle gibt:

=Wenn(DomAnzahl("[FeldNr]"; "tblAndererTabellenname"; "[NrHier]=[FeldNr]")<1;"fehlend";DomWert("[FeldNr]"; "tblAndererTabellenname"; "[NrHier]=[FeldNr]"))

Dies führt dazu, dass wenn keine entsprechende Nummer vorhanden ist (wie in dem gerade angezeigten Datensatz), dann erscheint "fehlend", ansonsten erscheint die Nummer aus der anderen Tabelle. Wenn Du möchtest, dass das Feld einfach leer bleibt, anstelle dass die Nummer bei Vorhandensein angezeigt wird, dann schreibst Du folgendes: =Wenn(DomAnzahl("[FeldNr]"; "tblAndererTabellenname"; "[NrHier]=[FeldNr]")<1;"fehlend";"")

Ich hoffe, geholfen zu haben.

Viele Grüße, Armin Dippel

Hui, das klingt auf den ersten Blick kompliziert. Wie Wenn-Funktionen funktionieren, weiß ich ja aus Excel. Wird bei mir noch verschachtelter. Jetzt muss ich mir nur noch meine Datenbank anschauen und überlegen, wie die benötigten Felder bei mir heißen. ;-)

Danke schon mal fürs Erste. Ich werde es ausprobieren. Falls ich es nicht hinbekomme, frage ich nochmal nach. ;-)

Viele Grüße, Marsiel

PS: Was bedeutet DomAnzahl? Wofür steht das Dom?

0
@Marsiel

Ich konnte es leider noch nicht richtig hinbekommen. Folgendes: Ich habe ein Haupttabelle "Sendungen". Dort stehen die Sendungen aus Serien drin, die ich aufgenommen habe mit einer Sendungsnummer als Primärschlüssel. Nun habe ich noch eine Tabelle "Episoden" mit dementsprechender Episodennummer als Primärschlüssel. Diese beiden Tabellen sind nicht unmittelbar miteinander verknüpft. In einem Bericht möchte ich mir alle Episoden anzeigen lassen, die es zu einer Serie gibt und dann im Detailbereich anzeigen lassen, dass ich eine Episode noch nicht aufgenommen habe, also noch aufnehmen muss. Das wird wohl doch ein wenig schwieriger, wie ich befürchte. So, wie ich deine Erklärung verstanden habe, würde es funktionieren, wenn beide Tabellen den gleichen Primärschlüssel haben, also Daten desselben Datensatzes in eine andere Tabelle ausgelagert wurden? Ist für mich alles nicht so einfach...

Vielen Dank schon mal und viele Grüße, Marsiel

0

Also so wie ich das verstehe, brauchst du hier nur eine offene Referenz auf die 2. Tabelle:

Im Abfrageeditor ziehst du ja eine Verbindung von der ersten auf die zweite Tabelle. Auf diese Linie musst du doppelklicken und im folgenden Fenster auf Option 2 oder 3 klicken (hängt davon ab von wo nach wo du die Verbindung gezogen hat, jedenfalls muss anschließend auf der Seite der zweiten Tabelle ein Pfeil sichtbar sein).

Dann fragst du dein Feld wie folgt ab:

Ausdr1: Wenn(IstNull([Tabellenname![Feldname]);"fehlend";"")

Übrigens ist es klar, dass die Abfrage auf 0 oder "" nichts bringt. Wenn schon, musst du auf Null abfragen. Null ist ungleich 0 und ungleich ""!

Die DOM-Funktion brauchst du hier nicht (wenn beide Tabellen in der Abfrage enthalten sind).

phpMyAdmin beim Entragen von Daten, doppelte automatisch löschen?

Heyho !

Ich erstelle grade über XAMPP und phpMyAdmin eine Tabelle in der ich 6 Stellige Daten eingebe. Über die Eingabe Funktion bei phpMyAdmin trage ich die jeweiligen Daten ein und klicke anschließend auf "OK". Jedoch kommt es häufig vor, dass einige Daten abgelehnt werden weil diese "doppelt" sind. Bis jetzt musste ich mühselig jeden einzelnen Datensatz als "ignorieren" markieren und diesen auch erstmal in den knapp 40 neuen Einträgen beim "Einfügen" heraussuchen.

Daher meine Frage um das ganze ein wenig effektiver und zeitsparender zu beschleunigen, gibt es die Möglichkeit, dass man einstellen kann das jene Einträge die "doppelt" sind automatisch ignoriert werden, ohne sie jedes mal rauszusuchen und manuell auf "ignorieren" zu klicken ?

Hoffe ich hab das jetzt alles richtig formuliert. Bin erst seit einigen Stunden mySQL Nutzer daher hab ich auch kein Plan ob das möglich ist geschweige denn wie man diese "Funktion" einrichtet...

Für konstruktive Antworten bedanke ich mich im Vorraus ;-)

...zur Frage

Access Bericht auf zwei Abfragen?

Ich habe eine Abfrage mit offenen Events und dazu eine weitere verknüpfte mit offenen Terminen. Jetzt möchte ich ermitteln zu welchen offenen Events keine offenen Termine vorhanden sind und daraus einen Bericht erstellen. Hat jemand einen Tipp für mich. Danke im Voraus für die Hilfe!

...zur Frage

Excel 2010 Makros mit Pivot?

Ich habe erfolgreich ein Makro für die automatische Erstellung einer Pivot Tabelle und deren Auswertung aus einem Datensatz erstellt.

Das Problem ist, dass nicht alle Datensätze gleich viele Zeilen haben, folglich funktioniert das Makro nicht mit einem anderen Datensatz.

Ist es möglich die so zu verallgemeinern dass es auch mit unterschiedlichen Zeilenanzahlen funktioniert? Spalten bleiben immer gleich.

...zur Frage

Excel: Kann ich in Excel eine "komplexere" Suchfunktion einbauen?

Hi,

ich habe eine Exceltabelle, diese ist recht gut mit Datensätzen gefüllt. Ab und zu brauche ich einen bestimmten Datensatz, deswegen möchte ich ein extra Blatt anlegen, das wie ein Filter funktioniert. Ich möchte da irgendeinen Wert eingeben. Sowas wie Name, Ort, ganz egal, irgendeinen Wert, der in der Tabelle auf dem anderen Blatt auftaucht und dann sollen mir in der Maske nur Datensätze angezeigt werden, die diesen Wert enthalten. Geht sowas?

...zur Frage

Wie kann ich alle Datensätze auf einer Word Serienbriefseite ausgeben

Iich habe eine undefinierte Anzahl an Excel Datensätzen die ich in Word als Serienbriefdaten nutzen will. Ich will aber nicht jeweils einen neuen Brief in Word sondern alle Datensätze in Word nacheinander auf einer Seite. Genau solange bis der letzte Datensatz erreicht ist. Hat jemand einen guten Tipp?

...zur Frage

Was möchtest Du wissen?