1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Access Suchmaske

Discussion in 'Office-Programme' started by Experimenteur, Aug 12, 2007.

Thread Status:
Not open for further replies.
  1. Hallo Leute...
    Mein ist zur Büchereiverwaltung gedacht und sieht so aus:
    Eine Tabelle mit den Nutzerdaten der Ausleihenden Personen. (Benutzer)
    Eine Tabelle mit den Daten der Bücher. (Bücherliste)
    Einer Tabelle Ausleihe mit den Daten des Benutzers und des Buches. Möchte das ganze am liebsten miit einem Join aus Bücherliste und Benutzer realisieren.
    Nun möchte ich gerne eine Suchmaske anlegen, mit der man in einer von mir definierten Tabelle suchen kann. Die Ergebnisse der Suche sollten in einer eigenen Tabelle angezeigt werden. Außerdem würde ich gerne wissen, ob man das mit dem "Join" in Access realisieren kann...

    Ich bin für jede Hilfe dankbar... Vielen Dank schonmal im Voraus...
    Experimenteur
     
  2. Hallo Leute...
    Mein ist zur Büchereiverwaltung gedacht und sieht so aus:
    Eine Tabelle mit den Nutzerdaten der Ausleihenden Personen. (Benutzer)
    Eine Tabelle mit den Daten der Bücher. (Bücherliste)
    Einer Tabelle Ausleihe mit den Daten des Benutzers und des Buches. Möchte das ganze am liebsten miit einem Join aus Bücherliste und Benutzer realisieren.
    Nun möchte ich gerne eine Suchmaske anlegen, mit der man in einer von mir definierten Tabelle suchen kann. Die Ergebnisse der Suche sollten in einer eigenen Tabelle angezeigt werden. Außerdem würde ich gerne wissen, ob man das mit dem "Join" in Access realisieren kann...

    PS. Ist es möglich, eine "Startseite" für das Projekt einzurichten, von der aus man wählen kann, ob man nach Büchern in der Ausleihe suchen möchte, Neue Bücher eintragen möchte oder Benutzer hinzufügen möchte?

    Ich bin für jede Hilfe dankbar... Vielen Dank schonmal im Voraus...
    Experimenteur
     
  3. Hascheff

    Hascheff Moderator

    Ja, mal sehen, ob ich dich richtig verstanden habe.

    Zunächst hast du eine Personentabelle:
    TPersonen
    -PNr | Primärschlüssel - Autowert
    -Name
    -Vorname
    -Alter und was sonst noch so wichtig ist

    Dann hast du eine Buchtabelle:
    TBücher
    -BNr | und/oder
    -ISBN | Mindestens eine der beiden, die ist Primärschlüssel
    -Titel
    -Autor
    -Verlag | Müsste eigentlich VNr sein und zur Tabelle TVerlag verknüpft sein
    -Alter und was sonst noch so wichtig ist

    Und eine Verleihtabelle:
    TVerleih
    -VNr | Primärschlüssel
    -BNr
    -PNr
    -Verliehen | Datum/Uhrzeit
    -Erhalten | Datum/Uhrzeit
    -was sonst noch so wichtig ist

    und nun kommt
    Erstelle zunächst mal Beziehungen zwischen den Tabellen (Menü Extras, auch in der Symbolleiste). Wähle für alle drei Tabellen "Hinzufügen", schließe das Dialogfenster, arrangiere mit der Maus die Tabellen bequem. Dann ziehst du die Maus von PNr aus TPersonen nach PNr in TVerleih. Es öffnet sich ein Dialogfenster "Beziehung bearbeiten". Hier kannst du zwar Einstellungen vornehmen ("Verknüpfungstyp...", "referentielle Integrität"), du kannst das aber auch später noch machen (wenn du es brauchst, dann weißt du auch, was gemeint ist). Klick auf "Erstellen".

    Das gleiche machst du noch für BNr - ISBN. Dann schließt du das "Beziehungen"-Fenster, Layout speichern: Ja.

    Ein beliebter Anfänger-Fehler besteht darin, dass man Masken (Formulare) auf Tabellen basiert.
    Das bindende Glied dazwischen ist (fast immer) eine Auswahlabfrage. Zunächst erstellst du diese.

    [Ich muss an dieser Stelle erst mal unterbrechen, morgen mehr.]
     
  4. Hascheff

    Hascheff Moderator

    [Fortsetzung]
    Guten Morgen
    Abfrage - Neu - Entwurfsansicht
    Wähle für alle drei Tabellen "Hinzufügen", schließe das Dialogfenster, arrangiere mit der Maus die Tabellen bequem. Hier könntest du das Erstellen von Beziehungen nachholen, müsste aber bei jeder Abfrage gemacht werden. Mit Rechtsklick auf die Beziehungslinien kannst du Änderungen vornehmen. Wie die Änderungen sich auswirken, kannst du später in der Datenblattansicht oder in der SQL-Ansicht (hier findest du "join" wieder) beobachten. Stelle bei beiden Beziehungen ein: Beinhaltet alle Datensätze aus TVerleih und nur ...".
    Mit Doppelklick stellst du nun die gewünschten Felder in die Abfrage.
    Die Reihenfolge spielt keine Rolle, ist Geschmackssache. Mit der Maus kannst du die Spalten im unteren Teil am Kopf markieren und nach links oder rechts ziehen, um die Reihenfolge zu ändern.

    Wichtig ist die Frage: PNr aus TPersonen oder TVerleih? Wenn die Maske dazu dienen soll, den Verleih eines Buchs zu erfassen, muss in TVerleih die PNr eingetragen werden, analoges gilt für BNr. Also müssen die Felder aus TVerleih enthalten sein.
    Benutze die Zeile "Sortierung", sie gilt auch später für das Formular.
    Speichere die Abfrage als AVerleih.

    [Einfügung] - Nur zum besseren Verständnis:
    Erstelle eine neue Abfrage, diesmal gehst du im Dialog "Tabelle anzeigen" auf das Register "Abfragen" und doppelklickst auf AVerleih. Schließ den Dialog und klick doppelt auf den * über den Feldbezeichnungen. Dann noch auf "Verliehen" und "Erhalten". Im unteren Teil nimmst du bei den letzten beiden Spalten den Haken in der Zeile "Anzeigen" raus. Mit "Kriterien" kannst du bestimmte Datensätze filtern, z.B. mit "nicht null" in der Spalte "Verliehen" und "null" in der Spalte "Erhalten" die aktuell verliehenen Bücher. Wenn du was nicht verstanden hast, probier einfach etwas rum. Speichere die Abfrage als AVerliehen.[/Einfügung]

    Nun zum Formular:
    Verwende den Assistenten, als Datenquelle AVerleih, speichere als FVerleih oder einen anderen Namen. Geh in den Entwurfsmodus. Bei mir spinnt der Assistent, als Datenquelle des Formulars muss man im Eigenschaftsfenster nochmal AVerleih wählen.

    Lass dir die Toolbox anzeigen und sorge dafür, dass der Steuerelement-Assistent aktiv ist. (Oben rechts in der Toolbox)
    Jetzt kommt es darauf an, was du willst.

    Willst du wissen, wann von wem oder wie oft ein Buch ausgeliehen wurde (analog : Wer hat welches Buch ausgeliehen), musst du Datensätze filtern:
    Im Formularkopf erstellst du ein Kombinationsfeld.
    Im ersten Schritt des Kombinationsfeld-Assistenten wählst du "Einen Datensatz ... suchen".
    Im zweiten Schritt wählst du zunächst BNr (analog PNr) und dann Titel oder was du sonst suchst.
    Im dritten Schritt ziehst du die Spalte BNr auf 0 cm Breite und
    im vierten Schritt klickst du einfach auf "Fertigstellen". Das war's.

    Willst du das Formular nutzen, um neue Ausleihen zu registrieren, gehst du so vor:
    Es muss ein Textfeld BNr und ein Textfeld PNr existieren.
    Mach im Detailbereich Platz für zwei Listenfelder und ziehe die Listenfelder nacheinander auf.
    Diesmal wählst du im ersten Schritt die erste Option "... einer Tabelle ... entnehmen".
    Im zweiten Schritt wählst du TBücher/TVerleih (auch hier müsste/könnte man eine Abfrage zwischenschalten),
    im dritten Schritt gehst du genauso wie oben beschrieben vor.
    Im vierten Schritt ist die Schlüsselspalte schon ausgeblendet. Jetzt kommt das wichtigste:
    Im fünften Schritt wählst du "Wert speichern in Feld: BNr/PNr" und im letzten Schritt vergibst du sinnvolle Namen.
    Das war's.
     
  5. Hallo Hascheff,
    erstmal vielen Dank für deine schnelle und ausführliche Hilfe. Werde es auf jeden Fall so versuchen, wie du es beschrieben hast, habe nur gerade wegen "schulischer Aktivität" (Hausaufgaben) keine Zeit es auszuprobieren. Mache ich aber bald und wenn es nicht funktioniert, melde mich nochmal.
    Vielen Dank,

    mfg Experimenteur
     
  6. Hy Hascheff, ich habe das alles so gemacht, wie du es beschrieben hast. Jetzt habe ich jedoch noch drei weiterführende Fragen:
    1. Wie kann ich eine Maske erstellen, mit der ich die Bücher in die Datenbank eintragen kann, die in der Bibliothek vorhanden sind?
    2. Wenn ich das Formular erstellt und geöffnet habe, kann ich einen Datensatz eintragen. Sobald ich etwas in die Suchmaske eingetragen habe, öffnet sich unter dieser eine neue Reihe mit den selben Suchfeldern.
    3. Wenn ich eine Suchfunktion für die Bücherliste erstelle, verwendet Access immer die native Suchfunktion von Office (Suchen und Ersetzen)
    Wie kann ich einfach nur auf den Button drücken müssen und der sucht die davor in den Feldern deklarierten Zeichenfolgen in der angegebenen Tabelle?
    Vielen Dank schonmal bis hierhin, es hat mir sehr weitergeholfen und ich bin auch für jede weitere Hilfe dankbar.

    Liebe Grüße, Experimenteur
     
  7. Hascheff

    Hascheff Moderator

    Hallo Experimenteur,
    fangen wir erst mal mit 1. an.

    Bevor du die Aufgabe angehst, solltest du dir überlegen, was du über die Bücher alles speichern willst. Du wirst wohl jedes Buch in die Hand nehmen müssen und wenn dir nachträglich noch was einfällt, erfordert das noch mal den gleichen Aufwand.
    Beispielsweise ist es denkbar, zu jedem Buch das Erscheinungsjahr, das Titelbild, die Kategorie (Krimi, Sachbuch, ...), eine Ziel/Altersgruppe, eine Inhaltsangabe/Stichwortliste und sicher den Aufbewahrungsort zu vermerken.
    Die eine Art von Merkmalen wird einfach in der Tabelle TBücher ergänzt. Du öffnest die Tabelle im Entwurfsmodus und ergänzt neue Felder. Für Bilder kannst du den Datentyp OLE-Objekt verwenden, für eine Inhaltsangabe Memo (Text ist auf 255 Zeichen beschränkt).
    Für Kategorien gehst du ähnlich vor, wie es schon für Verlage angedeutet wurde, du erstellt eine neue Tabelle und verknüpfst die Tabellen durch eine Abfrage.
    Mach mal selbst ein Konzept, versuch dich am Tabellenentwurf und schreib mir dann, wie es gelaufen ist.
     
  8. Hallo Hascheff,
    als erstes mal: Entschuldigung, dass ich jetzt erst schreibe, aber ich konnte nicht eher...
    Jetzt zum Thema:
    ich habe bereits ein Konzept entwickelt. Die Tabellen habe ich auch schon alle erstellt, nach deiner Anleitung. Woran es bis jetzt bei mir jedoch scheitert, sind die Formulare. Ich möchte als erstes ein Formular erstellen, worin man verschiedene Angaben über das Buch in Textfelder eintippen kann, auf einen Button drückt und dann eine Liste der Datensätze erhält, die man vorher mit Zeichenfolgen definiert hat.
    Also, ich möchte beispielsweise als Büchereiverwalter ein Buch in der Datenbank TBücher suchen, die alle in der Bibliothek enthaltenen Bücher enthält. Ich tippe also in die auf dem Formular enthaltenen Textfelder die mir bekannten über dieses Buch ein und klicke auf eine Schaltfläche auf dem Formular. Daraufhin spuckt Access mir, gerne in demselben Formularfenster, geht auch in einem neuen, die gefundenen Ergebnisse aus. Beispiel:
    Ich suche ein Buch mit dem Namen „Grundlagen über Access“. Ich tippe also unter „Titel“ die Zeichenfolge „Grundlagen über Access“ ein, klicke auf Suchen und bekomme eine Tabelle mit den gefundenen Ergebnissen zurück. Wenn es nun mehrer Ausgaben dieses Buches gibt, bekomme ich mehrer Ergebnisse angezeigt. Sonst eben nur das eine.
    Ist das möglich, so etwas zu erstellen?

    Außerdem möchte ich über diese Suchfunktion auch zum Beispiel Bücher (Datensätze) löschen können. Möglichst auch per Schaltfläche, sodass diese danach nicht mehr in der Tabelle TBücher enthalten sind.

    Das Eingabefeld für die Bücher habe ich bereits erfolgreich erstellt. Jetzt hatte ich die Idee, dass ich die in dem Formular enthaltenen Funktionen (Datensatz speichern und neuen Datensatz anfügen) auf einen Button bringe.
    Ist das irgendwie zu realisieren? Würde die Arbeit mit dem Programm einfach praktischer machen.


    Bis jetzt hat mir deine Anleitung sehr viel geholfen, vielen Dank! Ich hoffe auf noch mehr Hilfe und grüße schon, Experimenteur
     
  9. Hallo, das mit der Suchfunktion habe ich über einen anderen Weg gelöst. Jetzt kommen jedoch die nächsten zwei Probleme:

    1) Ich möchte, dass man nach der Suche, die man durchgeführt hat, dass man markieren und auch sehen kann ob das Buch, was ich suche, grade ausgeliehen ist. In dem Datensatz müsste dann der Wert Ausgeliehen/Erhalten gespeichert sein und dann könnte man das iwie mit einer IF/Else Schleife lösen? (Wenn die Spalte "Status" den Wert Ausgeliehen enthält, zeige das in einer Checkbox auf dem Suchformular an, wenn der Wert "Erhalten" ist, zeige das in der anderen Checkbox auf dem Formular an? )
    Wäre das irgendwie zu realisieren und wenn ja wie?
    Außerdem noch:
    2) Kann man diese Funktion auch mit dem Löschen eines Buches verbinden? (Suchen, dann auf schaltfläche klicken und der Datensatz wir aus der Tabelle TBücher und dem Listenfeld somit auch gelöscht?)
    Wie kann ich das am einfachsten, ohne jegliche Kenntnisse in VB realisieren?
    Bin für jede Hilfe dankbar, da das Projekt in ca. 3 Wochen fertig sein sollte.

    Liebe Grüße, Experimenteur
     
  10. Hascheff

    Hascheff Moderator

    Hallo Experimenteur,
    entschuldige, dass ich mich so lange nicht gemeldet habe, aber es gibt eben manchmal hektische Wochen.

    Ich weiß nicht, wie du die Suchfunktion gelöst hast. Einfach ist das nicht. Eine intelligente Suche ist nämlich meines Wissens noch nicht in Access implementiert. Kein Problem ist die Suche nach eindeutigen Merkmalen wie ISBN-Nr., Verlag, Autor, Titel. Aber wenn man z.B. alle Bücher mit einem inhaltlichen Merkmal, z.B. ein Access-Buch sucht, dann braucht man zweckmäßigerweise die Suche nach Schlüsselworten. Da es zu jedem Buch mehrere Schlüsselworte gibt, kommt man nicht ohne VBA aus. Da du das Problem scheinbar gelöst hast, will ich jetzt nicht auf den VBA-Code eingehen. Ich habe das Problem auch noch nicht gehabt, also ich habe den Code auch nicht parat. Jedenfalls würde ich ein Feld "Marke" vom Typ Ja/Nein für jedes Buch anlegen. Ein solches Feld ist für verschiedene Zwecke nutzbar. Der Code würde für alle Bücher mit einem gesuchten Merkmal die Marke auf Ja, für alle anderen auf Nein setzen. (Für eine ganze Bücherei sicher zeitaufwendig)
    Dann brauchst du nur noch die normale Filterfunktion von Access auf Marke = Ja anwenden.

    Einfacher sieht die Sache aus, wenn du ein bestimmtes Merkmal genau kennst.

    Alle Bücher eines Verlags, eines Erscheinungsjahrs oder alle Exemplare eines Buches - wie es bei dir scheinbar ist - in all diesen Fällen empfiehlt sich das Werkzeug "Unterformular".

    Dass es in einer Bücherei mehrere Exemplare eines Buchs gibt, hab ich in #3 - #4 nicht bedacht. In dem Fall muss die DB-Struktur anders aussehen.
    Statt TBücher muss es zwei Tabellen
    TBücher
    -ISBN | ist Primärschlüssel
    -Titel
    -Autor
    -Verlag | Müsste eigentlich VNr sein und zur Tabelle TVerlag verknüpft sein
    -Alter und was sonst noch so wichtig ist
    und
    TExemplare
    BNr | Primärschlüssel
    ISBN | Beziehung zu TBücher
    Zustand
    Marke | wie eben beschrieben
    Bem | Bemerkung ist in jeder Tabelle sinnvoll für alles, was vorher nicht bedacht wurde​
    geben.

    Die beiden müssten dann in einer Abfrage AExemplare verbunden werden, die in AVerleih statt Tbücher verwendet wird.

    Zurück zum Thema "Unterformular".
    Man erstellt zuerst das Unterformular "UFBücher". Dieses basiert bei dir auf AVerleih, es kann also alle Exemplare auflisten. Für Unterformulare ist als Standardansicht "Datenblatt", seltener "Endlosformular" sinnvoll.
    Natürlich muss das Unterformular (und die zugrundeliegende Abfrage) die Felder BNr (jedenfalls ein eindeutiges Unterscheidungsmekmal), ISBN (erklär ich gleich) Verliehen und Erhalten (aus TVerleih) enthalten.
    Wenn du sortieren möchtest, also die gerade ausgeliehenen zuerst anzeigen möchtest, sortierst du "Erhalten" aufsteigend, in den ausgeliehenen ist Erhalten = NULL.
    Du kannst aber auch eine Spalte Status anlegen. Du legst einfach in TExemplare ein entsprechendes Ja/Nein-Feld an und fügst es ins Unterformular als Checkbox ein. In der Feldbeschreibung erklärst du die Bedeutung von Ja bzw. Nein. Dies wird auch im Formular in der Statuszeile angezeigt.

    Dann wird das Hauptformular "FBuchverleih" erstellt. Dieses basiert auf TBücher und enthält zur Suche und Erkennung nötige Felder und auf jeden Fall ISBN.
    Dann bindest du das Unterformular ein. Nachdem du das Tool gewählt hast, ziehst du ein Rechteck auf, etwa so breit wie das Unterformular und so hoch wie möglich oder erforderlich. Der Assistent schlägt sicher ISBN als Verknüpfung zwischen den Formularen vor und das nimmst du.

    Löschen kannst du Datensätze wie in jedem Formular, indem du links den Datensatzmarkierer anklickst und <Entf> drückst. Dazu darf in den Formulareigenschaften das Löschen nicht verboten sein und das Formular muss auf einer aktualisierbaren Abfrage beruhen. Letzteres merkt man am einfachsten daran, dass in der Datensatznavigation am unteren Rand des Formulars die Schaltfläche "Neuer Datensatz" nicht ausgegraut ist.

    Noch mal zurück zum Unterformular.
    Wenn dieses sowohl die Checkbox "Status" als auch Verleih/Erhalten-Datum anzeigt, wäre es etwas mühsam, immer alles auszufüllen. Man könnte Schaltflächen anlegen, die beides gleichzeitig erledigen. Wenn man sich in VBA nicht auskennt, erstellt man ein Makro. Der Makroeditor lässt sich in Access ohne Programierkenntnisse bedienen. Klar, am Anfang ist es etwas mühsam. Das Schöne: Hinterher kann man das Makro in VBA übersetzen lassen (Menü Extras) und lernt so VBA kennen.

    Edit: Wenn du die Anzahl aller und aller ausgeliehenen Exemplare eines Buchs anzeigen lassen möchtest, erstellst du noch ein (Mini)-Unterformular. Dieses basiert auf einer Kreuztabellenabfrage.
     
  11. Hallo Hascheff, kann man nicht einfach in der Tabelle TBücher noch ein Feld erstellen, was "Verliehen?" heißt, wo man einfach ein Ja/Nein Feld draus macht und dann im Suchformular auch diese Spalte anzeigen lässt (So weit habe ich das alles schon genacht, nur jetzt kommt das nächste Problem: Wie kann ich per Umschaltfläche /Optionsgruppe festlegen, dass der Wert in der Spalte auf Ja/Nein geändert wird (bei einem Haken = Ausgeliehen, bei keinem Haken = Erhalten) oder könnte man das einfach per button erledigen, der dann den Wert in der Tabelle auf Ausgeliehen/Erhalten setzt? Das Problem besteht auch noch darin, das Ganze mit der Suche in einem Listenfeld kombiniert werden soll.
    Du fragtest dich, wie ich die Suche gelöst habe: Ich habe mir auf anraten eines Freundes eine andere Datenbank runtergeladen, aus der ich mir die Suche zurechtgeschnippelt habe.
    Ist jetzt nur noch recht wenig Code in VB.
    Habe ein Formular, das ein Listenfeld enthält, das die Werte von TBücher enthält. Auf eintippen des Suchbegriffs in das Textfeld wird immer nach jedem Buchstaben aufs neue von Access die Liste aktualiesiert. Also wenn ich in der Tabelle TBücher einen Eintrag mit "Java für Anfänger" und einen mit "Jammerschade, doch keine Schale" habe, in das Textfeld "Ja" eingebe, sucht der mir die beiden Einträge... Aber wenn ich jetzt "Jam" eingebe, filtert der "Java für Einsteiger" raus und es bleibt nur noch "Jammerschade, doch keine Schale" im Listenfeld stehen.
    (Blödes Beispiel, ich weiß)
    Wenn ich jetzt also den Eintrag gesucht habe, das Buch an jemanden verleihen will, möchte ich einfach auf eine Schaltfläche klicken können oder ein Optionsfeld umstellen können und dann stellt sich in der Tabelle, in der Spalte "Ausgeliehen" der Wert entweder auf Ja oder auf Nein.
    Dann sollte das möglichst auch noch direkt im Listenfeld angezeigt werden.
    Alles n bissle durcheinander geschildert, hoffe du blickst durch...
    Kann man das realisieren?
    PS: Danke für die Erklärungen
    Liebe Grüße, Experimenteur
     
  12. Hascheff

    Hascheff Moderator

    Hallo Experimenteur,
    Kann man. Es kommt darauf an, was man damit will. Willst du nur wissen, ob das Buch ausgeliehen ist, reicht das vollkommen. Willst du aber später herausfinden, wann, wie oft, von wem ein Exemplar verliehen war, reicht das nicht.
    Es hat also etwas damit zu tun, dass die DB für zukünftige Anforderungen gerüstet ist. Du kannst sicher sein, dass mit der Zeit die Anforderungen an eine DB wachsen. Es erfordert aber leider Erfahrung, das im Voraus zu planen.
    Normalerweise verwendet man für Ja/Nein-Felder das Kontrollkästchen. Da ist auch kein Problem dabei: Kontrollkästchen erstellen und als Datenherkunft das Feld wählen. Der Haken kann dann per Mausklick gesetzt/gelöscht werden. Auch im Filter lässt sich der Haken setzen. Du musst nur beachten, dass im Filter drei Zustände für das Kontrollkästchen möglich sind: Ja, Nein oder nicht gefiltert.
     
  13. Hallo Hascheff, ich habe erneut mit meinem Betreuer gesprochen, dann wurds auch mir klar: Man braucht nicht nur den Status, sondern auch die Personendaten des Ausleihers. Somit würde die Tabelle "TVerleih" wieder relevant werden.
    Das mit dem nachhalten, wer wie oft ein Buch ausgeliehen hat, ist unwichtig. Jetzt habe ich noch eine Frage: Wie kann ich das erreichen, dass wenn ich beispielsweise zwischen den Tabellen "TVerleih" und TBücherliste" einen Join erstelle, Felder ISBN Nummer, Autor und Titel sollen gleich sein, wie kann ich erreichen, dass wenn ich beispielsweise die ISBN Nummer angebe, die anderen Daten automatisch eingetragen werden???(Autor und Titel) mit den Beziehungen, wie du mir das beschrieben hast, geht das iwie nicht. Oder ich habe was falsches gemacht. Aber das glaub ich nicht..^^

    Vielen Dank, Experimenteur
     
  14. Hascheff

    Hascheff Moderator

    Hallo Experimenteur,
    Hier stecken zwei Fehler drin.
    1.
    Du erstellst einen "Join": ISBN aus TVerleih mit ISBN aus TBücherliste. Warum nennst du auch Autor und Titel? ISBN ist ein eindeutiges Merkmal, wenn das gleich ist, muss der Rest, auch Verlag usw. gleich sein.
    2.
    Demzufolge hättest du gestern in #13 BNr statt ISBN schreiben müssen.

    Nun zu deiner Frage:
    Nein, du sollst aus einer Liste das Buch auswählen:
    Der Rest des Zitates speziell für BNr unter Berücksichtigung der später eingeführten "Exemplare":
    Es muss ein Textfeld BNr existieren.
    Mach im Detailbereich Platz für ein Listenfeld und ziehe dieses auf.
    Du wählst im ersten Schritt die erste Option "... einer Tabelle ... entnehmen".
    Im zweiten Schritt wählst du AExemplare,
    im dritten Schritt wählst du BNr, ISBN, Titel und was du sonst noch brauchst.
    Im vierten Schritt ist die Schlüsselspalte schon ausgeblendet. Mit der ISBN hätte man das so lassen können, aber die Exemplare eines Buches unterscheiden sich nur durch die BNr, also musst du den Haken rausnehmen. Jetzt kommt das wichtigste:
    Im fünften Schritt wählst du "Wert speichern in Feld: BNr/PNr" und im letzten Schritt vergibst du sinnvolle Namen.

    Wenn du so machst, wie ich beschrieben habe, müsste es klappen.
     
Thread Status:
Not open for further replies.

Share This Page