Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Felder auf Endlosformular werden nicht ausgefüllt

Begonnen von Paddy24, April 29, 2021, 14:34:34

⏪ vorheriges - nächstes ⏩

Paddy24

Hallo zusammen,

ich habe ein Endlosformular, wo sich 2 ungebundene Felder in der Kopfzeile befinden, zum Filtern der Ergebnisliste. In der Kopfzeile sind auch Felder zu eines der ungebundenen Felder "Zentrum", wo ich paar Basisdaten wiederspiegeln möchte wie Straße, E-Mail etc. des Zentrums:

Sie dürfen in diesem Board keine Dateianhänge sehen.
Sie dürfen in diesem Board keine Dateianhänge sehen.

Auf das ungebundene Feld für das Testzentrum habe ich folgendes Ereignis:
Private Sub cboZentren_AfterUpdate()
    ' Den mit dem Steuerelement übereinstimmenden Datensatz suchen.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[ZenID] = " & Me.cboZentren
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
   
End Sub

Beim Debuggen fällt auf, das er zwar die richtige ID übergibt, aber nicht in die IF-Abfrage geht.

Es sieht soweit aber alles korrekt aus. Die Datensätze im Detailbereich zeigt er mir korrekt an.

Wo könnte der Fehler liegen?


Paddy24

#1
Nachtrag, es muss das Datumsfeld und min. ein Datensatz vorhanden sein, damit die Infos zum Zentrum angezeigt werden...

Im Grunde möchte ich die Daten aber anzeigen lassen, sobald ich das Zentrum wechsele, damit man sofort Kontaktdaten und Adresse sieht.

Wie würde ich das angehen?

emmoticon

Hast du das schon mit einem Me.Requery bei diesem Feld ausprobiert? Du musst quasi die ungebundenen Felder bei Ereignisse entweder bei Änderung oder bei Aktualisierung die Abfrage neu laden lassen.
Gruß, Smiley mit Rechtschreibfehler

Paddy24

Zitat von: emmoticon am April 29, 2021, 15:42:08Hast du das schon mit einem Me.Requery bei diesem Feld ausprobiert? Du musst quasi die ungebundenen Felder bei Ereignisse entweder bei Änderung oder bei Aktualisierung die Abfrage neu laden lassen.

Habe in dem Ereigniss "AfterUpdate" von der Kombobox ein Me.Requery. Aber bleibt alles leer. Ich denke, es gibt dort Abhängigkeiten, bevor er diese Daten anzeigt. Was ich aber gar nicht möchte und auch nicht sehe, wo ich diese Abhängigkeiten festgelegt habe. :S

Paddy24

Nachtrag: Ok, das Problem ist ganz einfach. Die Felder sind and die Datensätze im Detailbereich gebunden und nicht an das ungebundene Feld. Deswegen wird erst was angezeigt, wenn man  Datensätze (Termine) anlegt.

Ich muss das nun umbauen, das die Felder Bezug auf die ID der Komboboxauswahl nehmen.

emmoticon

Basiert dein Formular auf einer Tabelle oder Abfrage?

Wenn auf einer Abfrage, kannst du in der Abfrage die entsprechenden Kriterien auf die Kombobox beziehen und dann neu laden.
Gruß, Smiley mit Rechtschreibfehler

emmoticon

Entschuldige bitte, ich habe nicht alle Bilder so genau angeschaut. Mein letzter Beitrag ist damit hinfällig
Gruß, Smiley mit Rechtschreibfehler

Paddy24

Die einzige Möglichkeit die mir einfällt, wie man das nun beheben kann ist das Feld ungebunden zu machen und dann per VBA und OpenRecordset zu füllen. Ist allerdings keine optimale Lösung.

    Dim db As DAO.Database
    Dim rs As Object

Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM tblZentren WHERE ZenID =" & Me.cboZentren)

Me.txtStrasse = rs("ZenStrasse").Value

Me.Requery

rs.Close
db.Close

Denn, wenn man nun Infos zu einem Zentrum ändern möchte, muss man nun eine SQL INSERT Abfrage per VBA basteln, da die Felder nicht mehr gebunden sind.

Aber wie würde man einem gebundenen Feld "sagen", das es die Referenz, woher es seine Daten ziehen soll, von einer Kombobox kommt und nicht von dem selektiertem Datensatz im Detailbereich?

Paddy24

Ich denke, das "Problem" liegt in der Abfrage des Formulars:

FROM tblZentren INNER JOIN tblTermine ON tblZentren.ZenID = tblTermine.ZenID_f
Dadurch werden die Daten dann anhand der Termindatensätze gezogen.

Frage bleibt, wie man das richtig machen würde, damit die Datenfelder für die Zentren in Abhängigkeit von der Komboboxauswahl gezogen werden.

Beaker s.a.

Hallo,
Ein Formular - eine Tabelle oder Abfrage, die nur eine Tabelle als Basis hat.
Die Termine gehören in ein Unterformular, verknüpft über
ZenID/ZenID_f.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)