Office: Daten aus zwei Tabellen, alle trotz WHERE anzeigen

Helfe beim Thema Daten aus zwei Tabellen, alle trotz WHERE anzeigen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe mein Problem nun gefunden und brauche nun einen kleinen Denkanstoß: Ich möchte Daten aus zwei Tabellen beziehen. Dabei stehen diese... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Vivi, 21. September 2009.

  1. Vivi User

    Daten aus zwei Tabellen, alle trotz WHERE anzeigen


    Hallo,
    ich habe mein Problem nun gefunden und brauche nun einen kleinen Denkanstoß:

    Ich möchte Daten aus zwei Tabellen beziehen. Dabei stehen diese untereinander in Beziehung.

    Ich möchte also z.B. die Kunden-Daten aus T1 und T2 mit WHERE eindeutig machen, allerdings auch alle Kunden-Daten, die nicht mit where erfüllt werden, angezeigt bekommen (also z.B. alle Daten aus T1).

    Wie geht das? :-D

    Lg
    Vivi
     
  2. miriki Erfahrener User
    Hmmm... Geh mal in "Extras - Beziehungen" und mach dort auf einer (der) Beziehung einen Doppelklick. Im dann erscheinenden Dialog "Beziehungen bearbeiten" drücke dann den Button "Verknüpfungstyp...".

    Hilft Dir das vielleicht schon weiter?

    Gruß, Michael
     
  3. Vivi User
    Hallo,

    nein, dass mit den Beziehungen hat mir nicht geholfen. Allerdings habe ich gestern bereits eine Lösung dafür gefunden: Eine Abfrage vor die mit der where-Klausel schalten und dann die Daten aus beiden in eine dritte Filtern. Damit hat's geklappt :-D.

    Allerdings habe ich jetzt eine neue Frage:

    Jetzt habe ich die Daten ja gefiltert, eine Abfrage mit Kunden, die bezahlt haben und eine Tabelle mit allen Kunden. Wie kann ich jetzt in einer Abfrage die Kunden herausfiltern (für einen Bericht), die nicht in der ersten Abfrage vorkommen, also die, die noch nichts bezahlt haben?

    Mit der naheliegenden Idee Tabelle und Abfrage voneinander zu substrahieren [t]-[a] funktioniert das leider so nicht.

    Lg
    Vivi
     
  4. miriki Erfahrener User

    Daten aus zwei Tabellen, alle trotz WHERE anzeigen

    Ohne genaueres Wissen über den ganzen Tabellenaufbau wird es jetzt langsam etwas schwierig. Aber ich tippe mal, daß es für Dich leichter wird, einen Schritt zurück zu gehen und einen etwas anderen Weg einzuschlagen.

    Gesetzt den Fall Du hast
    a) eine Tabelle tbl_Kunden mit KundeId, KundeName, ...
    b) eine Tabelle tbl_Zahlungen mit ZahlungId, KundeRef, ZahlungDatum, ...
    Die beiden Tabellen stehen über KundeId 1:n KundeRef miteinander in Beziehung.

    Dann kannst Du eine Abfrage bauen, die beide Tabellen miteinander verbindet. Einfach im Abfrage-Editor beide Tabellen (Kunden zuerst, danach Zahlungen) einziehen und die Gesamt-Abfrage über alle Felder bauen.

    In der Abfrage hast Du jetzt so viele Datensätze, wie es Zahlungen in der Tabelle gibt. Zu jeder Zahlung ist jetzt aber noch die Info dazu, welcher Kunde die Zahlung geleistet hat.

    Jetzt kopier Dir die Abfrage und laß Dir in der Kopie die Funktionen mit anzeigen, Default ist "Gruppierung". Schmeiß mal alles raus, was Du nicht brauchst, im Prinzip könnten KundeName und ZahlungBetrag übrig bleiben. Ändere die Funktion bei ZahlungBetrag auf "Summe" und laß Dir das Ergebnis anzeigen.

    Jetzt solltest Du soviele Datensätze angezeigt bekommen, wie es Kunden in der Tabelle gibt. Und zu jedem Kunden siehst Du die aufaddierten Zahlungen. Kunden ohne Zahlung haben eben ein leeres Ergebnis.

    Und nach dem ZahlungSumme-Feld kannst Du dann ja filtern ("leer" oder Betrag) und hast Deine Teil-Listen in allen Variationen.

    Für 'n "quick and dirty" siehe Anhang MDB im ZIP.

    Gruß, Michael
     
  5. Vivi User
    Beinahe guten Abend,

    ich danke dir für deine Mühe! Aber genau hier liegt der Punkt:

    Wenn ich die Tabellen verknüpfe (siehe Kunde_Zahlung_miriki im Anhang) werden keine leeren Felder der Kunden angezeigt, sondern nur die Kunden, die auch gezahlt haben.

    Vielleicht kannst du dir das in der DB noch mal ansehen. Ich wollte als Ausgangspunkt jetzt [bezahlt] und [kunden] (Abfrage und Tabelle) nehmen, da hier bereits die Zahlungen und Kunden aufgelistet sind.

    Mittlerweile habe ich ein wenig mit NOT und <>|!= herumprobiert, aber bisher leider keine Lösung gefunden.

    Lg
    Vivi
     
  6. miriki Erfahrener User
    Naja, zuerst einmal sehe ich keine Verknüpfung der Tabellen in der Abfrage. Wechsel mal mit "Ansicht - Entwurfsansicht" in den Entwurfsmodus: Zwischen den einzelnen Tabellen dort sind keine Verbindungslinien.

    Ich hab mal die Abfrage neu aufgebaut (Neu - Entwurfsansicht) und die 3 Tabellen kunde, rechnung und zahlung eingefügt. Der Editor hat automatisch die Verknüpfungs-Linien eingefügt. Dann hab ich jeweils die ID der 3 Tabellen in die Abfrage genommen und mir die Datenblattansicht anzeigen lassen: 6 Datensätze.

    Und jetzt der Casus Cnactus, was ich eingangs schrieb: Der Verknüpfungstyp! Zurück in den Entwurfsansicht der Abfrage und Doppelklick auf die erste Verknüpfung und dort Typ 2 ausgewählt, gleiches mit der 2. Verknüpfung. Wieder Datenblattansicht et voila: 7 Datensätze, bei denen einer eine "leere" Zahlung hat.

    Gruß, Michael
     
  7. Vivi User
    Dankeschön!

    Danke danke, du bist meine Rettung! Ich habe mich doch tatsächlich so sehr in SQL festgesetzt, dass ich die Entwurfsansicht gar nicht mehr genutzt habe. Ich muss also noch ein wenig meine Joins üben ;-).

    Im Anhang mal, wie jetzt der Bericht aussieht. Also, noch mal danke :-D.

    Lg
    Vivi
     
  8. miriki Erfahrener User

    Daten aus zwei Tabellen, alle trotz WHERE anzeigen

    Re: Dankeschön!

    Mir war bis dahin nicht mal bewußt, daß Du direkt in SQL, und nicht über den Designer, arbeitest. Aber das kenne ich... Da bastelt man tagelang an einer SQL-Konstruktion, verändert, verbessert, flucht und jubelt... Und dann schaut man sich das im Designer an und patscht sich an die Stirn. ;-)

    Falls es hilft, ich nutze gerne als schnelle und übersichtliche Nachschlage-Quelle SQL-Tutorial, weil mir die Navigation auf MySQL manchmal etwas zu unübersichtlich ist.

    Und 1Keydata hat bei der Gelegenheit auch noch gleich was zum Thema HTML, CSS, PHP usw.

    Gruß, Michael
     
  9. Vivi User
    Hallo Michael,

    die Seiten sind wirklich gut, wenn man mal was nachschlagen will, da hast du recht, aber ich glaube, ich brauche jetzt erst einmal einen Quick-Kurs in Visual Basic. Bin mit meinem SQL nämlich jetzt an eine Grenze gestoßen, die Datenbank wird jetzt wirklich kompliziert :-?.

    Falls du noch einmal Zeit und Lust hast, wäre es wirklich toll, wenn du dir die Sache noch einmal ansehen könntest:

    Selbige Datenbank mit Berichten und Abfragen. In den Berichten werden alle Kunden aufgelistet, die eine offene Rechnung haben. Angenommen, der Buchhalter möchte jetzt (das möchte er auch) nur nach einem Kunden suchen, möchte ich dafür ein Dialogfeld einbauen. Soweit die Theorie.

    Also, Dialogfeld mit Such-Button. Dieser müsste einleiten, dass in der Abfrage explizit nach dem Kundennamen (oder der Firma) gesucht wird und die Informationen dann in einem Bericht ausgeben. Der Buchhalter soll allerdings nur den Bericht sehen, logisch.
    In der Abfrage wäre das ja einfach where kunden.kunden_firma | kunden_name=" "
    Das " " müsste durch die Eingabe im Dialogfeld automatisch gefüllt und der Bericht anschließend ausgegeben werden.

    Ist soetwas möglich und wenn ja, wie?
    Ich denke da jetzt, wie gesagt, an VB, allerdings habe ich damit noch nie programmiert. Momentan lese ich dazu eine kleine Lektüre... Vielleicht komme ich dann noch auf eine umsetzbare Idee ;-).

    Lg
    Vivi
     
  10. miriki Erfahrener User
    Es läßt sich in einem Schritt kombinieren, aber prinzipiell sind es eigentlich erstmal 2 Schritte, die man da machen könnte:

    a) im Formular (mit etwas mehr Aufwand auch in einem Extra-Dialog) ein Eingabefeld (oder ein Listenfeld, eine Combo-Box, ...), wo man den gesuchten Begriff eingibt. Nach diesem wird per Button gesucht und der Treffer zum aktuellen Datensatz gemacht. Hmmm... Ziemlich genau das schrieb ich doch erst vor ein paar Tagen... Die Access-FAQ von Karl Donaubauer hilft da mit dem Punkt 4.4 weiter.

    b) Und dieser dann angezeigte Datensatz kann dann in einem weiteren Formular oder Bericht angezeigt werden. Das ist ziemlich simpel mit dem Button-Assistent von Access zu erledigen. Im Verlauf des Assistenten "Formular öffnen" wird man gefragt, ob alle oder nur bestimmte Datensätze angezeigt werden sollen. Hier wählt man aus, daß nur die Datensätze angezeigt werden, die z.B. den Primär-Schlüssel des aktuellen Formulars haben.

    Schaut man sich dann den Code des Buttons (rechts Maustaste - Ereignis) an, sieht man irgendwo eine Zeile in der Art "docmd openform, , , filterbedingung". Und hier braucht man nur openform gegen openreport austauschen, um den (einzelnen) Datensatz in einem Bericht auszudrucken. Und wenn's lieber nur die Seitenansicht sein soll, um Papier zu sparen, gibt's dafür auch den passenden Parameter acpreview.

    Ich hab mal Dein Formular "kunden" rechts oben mit einem Suchfeld, einem Suche-Button und einem Drucke-Button (Seitenvorschau) versehen. Verschönerung in Form einer ComboBox, Zusammenfassung von Suche und Ausdruck oder was auch immer sind dann natürlich noch möglich.

    Gruß, Michael
     
  11. Vivi User
    Jetzt weiß ich gar nicht mehr, wie ich dir danken soll. Dass du auch noch den Code für VB geschrieben hast... Danke!!

    Ich hab's mir mal soweit angeguckt, sieht auf jeden Fall einsatzfähig aus :-D. Ich werde da zwar noch ein wenig umbauen, aber danke, danke für die Basis (naja, eigentlich den Hauptteil)!
     
Thema:

Daten aus zwei Tabellen, alle trotz WHERE anzeigen

Die Seite wird geladen...
  1. Daten aus zwei Tabellen, alle trotz WHERE anzeigen - Similar Threads - Daten Tabellen trotz

  2. Nullen in Diagramm nicht anzeigen

    in Microsoft Excel Hilfe
    Nullen in Diagramm nicht anzeigen: Guten Morgen zusammen, ich habe eine Frage zu meiner beispielhaft aufgebauten Excel. Diese besteht aus einer Tabelle mit zwei Datenreihen. Aus den Datenreihen ist ein Säulendiagramm erstellt...
  3. Daten aus anderer Tabelle zwischen Zeiten einfügen (Office 365)

    in Microsoft Excel Hilfe
    Daten aus anderer Tabelle zwischen Zeiten einfügen (Office 365): Hallo zusammen, ich hatte früher viel mit Excel zu tun, bin aber seit ein paar Jahres etwas eingerostet. Ich wollte mir eine Tabelle erstellen, in der ich aus den stündlichen Strompreisen der...
  4. VBD Daten aus einer "intelligenten" Tabelle in einer anderen "intelligenten" Tabelle archivieren

    in Microsoft Excel Hilfe
    VBD Daten aus einer "intelligenten" Tabelle in einer anderen "intelligenten" Tabelle archivieren: Hallo zusammen, Ich hab hier schon viel rumgeschaut, komme aber mit meinem Problem leider nicht weiter. Vielleicht könnt ihr mir ja weiterhelfen. Ich habe eine Tabelle ("tbl_Umsatz"), auf dem...
  5. Übertragung von Zelleninhalten aus einer in eine andere Tabelle

    in Microsoft Excel Hilfe
    Übertragung von Zelleninhalten aus einer in eine andere Tabelle: Hallöchen ihr Excel-Legenden, ich habe folgendes Problem. Bei der Arbeit müssen wir für ein Projekt alle zwei Monate alle Leistungen mit dem Datum, der genauen Leistung und der gearbeiteten...
  6. [Excel, VBA] Daten aus Excel-Bereich in Word Tabelle einfügen

    in Microsoft Excel Hilfe
    [Excel, VBA] Daten aus Excel-Bereich in Word Tabelle einfügen: Hallo zusammen, ich stehe im Augenblick vor folgendem Problem. Habe in einem Excelsheet einen Bereich (5 Spalten, 2 Zeilen) mit Daten, dessen Inhalt ich gerne in ein Word-Dokument in eine...
  7. Access Tabelle mit Excel Daten updaten

    in Microsoft Access Hilfe
    Access Tabelle mit Excel Daten updaten: Hallo zusammen, ich habe eine Excel Arbeitsmappe die ständig aktualisiert wird. Die Spaltennamen stimmen mit den Spaltennamen der Tabelle in Access überein. Jetzt möchte ich gerne einen VBA Code...
  8. Daten aus Textbox geändert, ändert Daten in Tabelle direkt mit

    in Microsoft Excel Hilfe
    Daten aus Textbox geändert, ändert Daten in Tabelle direkt mit: Hallo zusammen, ich habe eine Userform mit einer combobox, mehreren textboxen und buttons. Über diese Userform sollen bereits eingetragene Daten in der jeweiligen Zeile geändert werden. Über das...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden