Hallo,
Bin neu im Forum und beschäftige mich seit längerer Zeit wieder mit Access. Ich benutze Access 2010.
Bei folgender Situation bräuchte ich Hilfe. Ich habe ein Formular mit Kundendaten. In einer ComboBox möchte ich die jeweiligen Gesprächstermine (Datum) anzeigen.
Eine SQL-Abfrage für die ComboBox habe ich geschrieben:
SELECT Kontakte.[kli Name], Protokolle.GesprDatum
FROM Kontakte INNER JOIN Protokolle
ON Kontakte.KliID = Protokolle.KliID;
Was mir nicht gelingen möchte, ist wie ich den Wert des aktuellen Kunden im Formular in die Abfrage bekomme dass nur seine Gesprächstermine angezeigt werden.
Danke sehr,
AllenWalker
Hallo,
eine Comobox halte ich da für völlig ungeeignet, eine Combobox dient einer Auswahl und das hast Du ja nicht.
Nimm statt der Combobox ein Unterformular das über die KundenID verknüpft wird. Das Ufo bindest Du einfach an die Termintabelle.
Durch die Verknüpfung werden automatisch nur die zum Kunden passenden Termine angezeigt.
Da muss man gar nichts programmieren.
Danke,
Ein Unterformular liegt vor. Gibt es eine Möglichkeit einen Datensatz aus dem Unterformular auszuwählen und via Klick den Datensatz detaillierter darzustellen? Als Beispiel wähle ich einen Termin aus, klicke darauf und bekomme eine detaillierte Ansicht vom Termin angezeigt.
Hallo,
ZitatAls Beispiel wähle ich einen Termin aus, klicke darauf und bekomme eine detaillierte Ansicht vom Termin angezeigt.
hast Du so viele Felder in der Termintabelle, dass Du das nicht in einem Formulkar anzeigen kannst?
Ansonsten kannst Du im OpenForm Befehl auch ein Kriterium (das Schlüsselfeld) übergeben, damit der gewünschte Datensatz angezeigt wird.
Wie heißt der Primärschlüssel in der Termintabelle und welcher Datentyp ist dieser?
Zitat
hast Du so viele Felder in der Termintabelle, dass Du das nicht in einem Formulkar anzeigen kannst?
Zwischen Kontakte und Termin besteht eine 1:n Beziehung.
Die Termine werden anhand von Datum und Besprechungsthema in einem Unterformular angezeigt. Wenn ich einen dieser Termine auswähle möchte ich gerne dass ein weiteres Formular sich öffnet mit den detaillierten Angaben zu dem ausgewählten Termin.
Zitat
Ansonsten kannst Du im OpenForm Befehl auch ein Kriterium (das Schlüsselfeld) übergeben, damit der gewünschte Datensatz angezeigt wird.
Wie erreiche ich dass ich den Primärschlüssel vom ausgewählten Termin bekomme?
Zitat
Wie heißt der Primärschlüssel in der Termintabelle und welcher Datentyp ist dieser?
SitzID und der Datentyp ist AutoWert.
Hallo,
Ich fragte nach der Zahl der Felder in der Termintabelle. Sind das so viele Felder, dass Du zur Anzeige ein weiteres Formular benötigst?
Ansonsten kannst Du im Ereignis "Beim Doppelklicken" eins beliebigen Feldes im Unterformular ein anderes Formular öffnen:
DoCmd.OpenForm "Formularname", , , "SitzID = " & Me.SitzID
Die SitzId muss als Feld (mit diesem Namen) im Ufo vorhanden sein. Kann auch unsichtbar sein.
Denke meine Anfangsbeschreibung war nicht ganz aussagekräftig um mein Problem zu lösen. Fange nochmal an.
Ich habe ein Formular auf dem alle relevanten Kundendaten wie Name, Adresse, usw angezeigt werden. Diese Daten kommen aus der Kundentabelle.
In einem Unterformular werden zu dem jeweiligen Kunden die Gesprächstermine angezeigt. Diese kommen aus der entsprechenden Termintabelle.
Zwischen den Tabellen besteht eine 1:n Beziehung um die Situation zu realisieren, dass ein Kunde mehrere Termine haben kann.
In dem Unterformular werden vom Termin nur das Datum und das Gesprächsthema angezeigt. Durch einen Klick oder Doppelklick auf einen beliebigen Termin
soll ein weiteres Formular mit ausführlichen Informationen zu dem Termin angezeigt werden wie zum Beispiel ein Protokoll zu dem Ablauf des Termins. Zusätzlich
soll noch der Name des Kunden auf diesem Formular erscheinen.
Zitat
Ansonsten kannst Du im Ereignis "Beim Doppelklicken" eins beleibigen Feldes im Unterformular ein anderes Formular öffnen:
Beim Unterformular habe ich kein Eregnis "Beim Doppelklick"
Hallo,
ZitatBeim Unterformular habe ich kein Eregnis "Beim Doppelklick"
habe ich was geschrieben von einem Doppelklick im Unterformular.
Ich sprach von einem Feld.
Zitat"Beim Doppelklicken" eines beliebigen Feldes
Kann ich in der Entwurfsansicht ein Feld im Unterformular auswählen um diese mit dem Ereignis aufzurufen?
Hallo,
Ja, Du ordnest im Unterformular einem beliebigen Feld den Code des Ereignisses zu.
Es wird automatisch auf die SitzID des angeklickten Datensatzes referenziert.
Das zu Öffnende Formular musst Du natürlich vorher erstellen und dieses Formular muss auch die SitzID enthalten.
Mit der Abfrage holst Du Dir auch den Kundennamen zur Anzeige.
Ich finde leider nicht die Möglichkeit in der Entwurfsansicht einem Feld des Unterformulars ein Ereignis hinzu zu fügen.
Hallo,
Vermutlich fehlt ein weiterer Klick auf das entspr. Feld im (Unter-)Formular....
Ansonsten öffne das (Unter-)Formular für sich selber als Entwurfsansicht und baue die Ereignisprozedur ein..