Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: yme24 am Januar 21, 2021, 07:57:36

Titel: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: yme24 am Januar 21, 2021, 07:57:36
Hallo zusammen,

ich sitze seit ein paar Tagen nebenbei an einer (kleinen) Postverwaltung und war eigentlich der Meinung das ganz gut hin zu bekommen. Jetzt wollte ich sozusagen die Bausteine zusammenfügen und stoße auf ein Problem bei dem ich auch unter Inanspruchnahme diverser Suchfunktionen nicht so richtig zum Erfolg komme und bitte daher um eure Hilfe.

Ich habe folgende Struktur:

tbl_Kontakt - enthalten sind hier, unter einer Kontakt_ID, alle Firmendaten
tbl_Ansprechpartner - enthalten sind hier, unter einer Ansprechpartner_ID, personenbezogene Daten - also Absender/Empfänger
tbl_Nachricht - Enthalten sind hier, unter einer Nachricht_ID, alle postbezogenen Daten - Eingangsdatum, Betreff, ...

Außerdem habe ich noch 4 "kleine" Tabellen mit ID und je einem Feld. Die 4 Tabellen sind: Anrede (Herr, Frau, Dr.,...), Postrichtung (eingehend, ausgehend), Kategorie (Rechung, Anschreiben, etc.)  und Art (Email, Post, Telefon,...)

In den Beziehungen hatte ich zunächst 1:n von tbl_Nachricht zu tbl_Kontakt (über eine NachrichtID_F) sowie eine 1:n von tbl_Kontakt zu tbl_Ansprechpartner (über eine KontaktID_F) - habe aber gemerkt, dass das nicht sinnvoll ist.

Aktuell ist die Beziehung 1:n von tbl_Ansprechpartner zu tbl_Nachricht (über eine Ansprechpartner ID_F) sowie 1:n von tbl_Kontakt zu tbl_Ansprechpartner (über eine KontaktID_F)


Die Postbearbeitung soll folgende Reihenfolge bei der Eingabe haben:

Postrichtung, Art, Kategorie, Kontakt (sprich Firma), Ansprechpartner (alles Kombifelder bis hierhin) und anschließend alle Postdaten (Eingangsdatum, etc.) in Textfeldern.

Das Kombifeld Ansprechpartner bezieht sich per VBA und Datenherkunft auf das Kombifeld Kontakt (sprich: ich möchte nur die Ansprechpartner angezeigt bekommen, die auch in der jeweiligen Firma arbeiten).

Soweit so gut.

Mein Problem tritt nun auf, nachdem ich festgestellt habe, dass u.U. auch Privatleute Nachrichten senden bzw. erhalten - also das Kombifeld Kontakt ggf. nicht besetzt ist.
Mein erster Ansatz das Kombifeld Kontakt über eine Checkbox "Privat" zu steuern, habe unter Berücksichtigung der schon bestehenden Funktion ich nicht realisiert bekommen, daher wollte ich es mir "leicht" machen und habe in der tbl_Kontakt einen Kontakt "Privatperson" erstellt und in meiner Abfrage qry_Ansprechpartner so sortiert, dass dieser Kontakt immer als erstes im Kombifeld Kontakt meines Formulars erscheint. Auf diese Weise kann ich ohne Probleme auch alle "privaten" Ansprechpartner - sofern bereits in der Tabelle vorhanden, in meinem Kombifeld Ansprechpartner auswählen.

Hieraus resultiert meine o.g. Änderung der Beziehungen. In der "alten" Variante, konnte ich keine neuen Ansprechpartner hinzufügen, da hierfür ein Bezug zu einer Nachricht hergestellt werden musste. Nicht unbedingt zielführend.
Nach der Änderung in die nun aktuellen Beziehungen, kann ich zwar einen neuen Ansprechpartner hinzufügen - auch mit der Auswahl "Privatperson"  - jedoch funktioniert die Eingabe meiner Post nun nicht mehr, da ich bei Auswahl der Firma (Kombifeld-Kontakt) die Fehlermeldung erhalte, dass kein Bezug zur tbl_Ansprechpartner besteht.

Ich vermute, dass kommt vom Requery (nach Aktualisierung) des Kombifelds Kontakt - jedenfalls wird dort im VBA auch der Pointer gesetzt wenn ich "debugge".
Den Requery benötige ich aber, damit im Kombifeld Ansprechpartner auch tatsächlich nur die Personen angezeigt werden, die zum jeweiligen Kontakt gehören.

Ich habe mehrere Lösungsansätze probiert - von neuen Beziehungen (1:n von tbl_Kontakt nach KontaktID_F in tbl_Nachricht) über Zwischentabellen mit Hilfs-IDs und verknüpften UFOs, aber ich komme nicht drauf, wie ich das lösen kann.

Hat jemand von euch eine Idee?

VG,
Martin

Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: MzKlMu am Januar 21, 2021, 08:13:55
Hallo,
zeige bitte mal ein Bild des Beziehungsfensters.
Die verbale Beschreibung ist mir zu abstrakt.
Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: yme24 am Januar 21, 2021, 08:17:46
Hallo Klaus, anbei das Bild.
BezPostDb.JPG
Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: DF6GL am Januar 21, 2021, 08:25:54
Hallo,


1. Lösung:   Beziehung tbl_Kontakt ---  tbl_Nachricht   entfällt

2. Lösung:   tbl_Kontakt entfällt  und deren Felder werden, sofern nicht doppelt,  in tbl_Ansprechpartner eingebaut.  Zusätzliche Tabelle tbl_KontaktArt  (1-n tbl_ansprechpartner) sorgt für die Unterscheidung, ob Firma , Privatperson oder sonstige Anschrift

(Andere Konstruktionen sind ebenfalls denkbar)
Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: yme24 am Januar 21, 2021, 09:39:11
Hallo Franz, Danke für deine Antwort.

Lösung 1 war quasi der beschriebene Zustand. Die Beziehung wurde mir von Access vorgeschlagen und steht deshalb drin. Eine Änderung bzw. Lösung ist es aber nicht.

Lösung 2 habe ich aus Gründen der Normalität nicht gemacht. Es ist durchaus üblich mehrere Ansprechpartner in einer Firma zu haben. Wenn ich die Felder übertrage, müsste ich die Firmendaten ja immer mit eingeben.

VG,
Martin

Edit: Das "doppelte Feld" Intern in tbl_Kontakt und tbl_Ansprechpartner ist ein Relikt und wird nur in tbl_Ansprechpartner verwendet. Aus tbl_Kontakt schmeiße ich das wieder raus.

Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: DF6GL am Januar 21, 2021, 12:00:53
Hallo,

ZitatDie Beziehung wurde mir von Access vorgeschlagen und steht deshalb drin. Eine Änderung bzw. Lösung ist es aber nicht.


Ein Vorschlag vom MS muss nicht zwangläufig stimmen.. Wann und wie wurde das denn vorgeschlagen"?


Und warum ist es keine Lösung?  --> Private Ansprechpersonen  werden zu einem Kontakt "Privat"  zugeordnet.

Die angesprochene Beziehung ist trotz allem falsch.

Tabellenmäßig , nicht beziehungsmäßig, könnten tbl_Kontakte und tbl_Ansprechpartner zusammengefasst und mit sich selber in Beziehung gesetzt werden. Mit einem Kennungsfeld ist dann zu unterscheiden, ob es sich um einen Kontakt oder um Ansprechpartner handelt.

Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: yme24 am Januar 21, 2021, 12:29:47
Danke für deine Antwort Franz.

Ich habe die Gewohnheit alle Nase lang mal einen Leistungstest durchzuführen um eventuelle Leichen zu finden. In diesem Zuge wurde mir die Beziehung angeraten und da Sie das angesprochene Problem weder verschlimmert noch verbessert hat, existierte sie noch.

Habe jetzt einfach mal Testweise die Beziehung wieder gelöscht - ohne Effekt auf die Ausgangslage bzw. das beschriebene Problem. Eingangs hatte ich diese Beziehung ja auch gar nicht erwähnt, weil sie - zumindest für mein Problem - belanglos ist/war.

Ich glaube, ich verstehe deinen 2. Lösungsansatz nicht.
Wenn ich Ansprechpartner und Kontakte in einer Tabelle zusammenführe, muss ich bei der Eingabe eines neuen Ansprechpartners sämtliche Kontakt-Informatonen immer wieder eingeben. Bildlich gesprochen also für jeden Mitarbeiter einer Firma - alle Firmendaten immer wieder aufs neue eintippen (Fehlerquote durch fette Finger inbegriffen). Wie kann man den dann im Formular nach Kontakt und Ansprechpartner selektieren?

VG,
Martin
Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: DF6GL am Januar 21, 2021, 12:47:06
Hallo,


die Beziehung habe ich ohne Bezug zum Problem angesprochen. Sie erscheint mir grundsätzlich falsch, bzw. überflüssig und nicht zielführend.

Lösung 2:  ursprünglich fehlt hierbei der Vorschlag im Sinne des letzten Satzes aus meinem vorherigen Posting.

Datenbeziehungsmäßig entspricht das der Lösung 1, halt nur tblKontakt und tblAnsprechpartner in einer Tabelle zusammengefaßt und dadurch Verhinderung von Redundanzen.

Mit
Zitatursprünglich "Mein erster Ansatz das Kombifeld Kontakt über eine Checkbox "Privat" zu steuern,
warst Du ja schon auf dem richtigen Weg, lediglich sollten zu einem Kontakt wie z. B. "Privat" die Ansprechparter (hier eben die Privatpersonen) zugordnet werden.


Wo ist denn da nun das Problem?
Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: yme24 am Januar 21, 2021, 14:27:10
Nochmals Danke Franz,

ich habe mal die Beziehungen umgebaut so wie ich es nach deinem Post verstanden habe - entspricht das deinem Vorschlag?

Wenn ja, muss ich bei einem Beispiel bei 30 Ansprechpartnern der gleichen Firma auch 30mal sämtliche Firmendaten eingeben. Plus, bei jedem neuen Ansprechpartner dieser Firma ebenfalls. Nicht sehr Datenbank-like, oder?

Was mir noch nicht ganz klar ist: wie filtere ich denn in dieser Konstellation nachher in meinem Formular nach den Ansprechpartnern derselben Firma?

VG,
Martin
 
Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: DF6GL am Januar 22, 2021, 15:23:26
Hallo,

nein, so hab ich es nicht vorgeschlagen..


Entferne einfach die im Bild markierte Beziehung

erfasse in Tbl_Kontakte alle Kontakte (Firmen) und zusätzlich einen Kontakt "Privat" (oder mit einem anderen Namen). In tbl_Ansprechpartner werden alle "geschäftlichen" Personen zu den entspr. Firmen und zusätzlich  alle privaten Personen, die dann dem Kontakt "Privat" zugeordnet werden.


wie filtere ich denn in dieser Konstellation nachher in meinem Formular nach den Ansprechpartnern derselben Firma?


Na, einfach nach Kontakt (in "frmKontakte") filtern..



Erstelle dazu für jede 1-Tabelle ein Endlos-Formular, außer für tbl_Kontakte ("frmKontakte"--> Einzelform). In dieses Form (HFO) wird ein UFO-Steuerelement eingesetzt, das dasForm  "frm_Ansprechpartner" anzeigt und über die Schlüsselfelder verknüpft wird.


PS: Bild noch angehängt...
Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: yme24 am Januar 25, 2021, 08:13:35
Guten Morgen Franz,

vielen Dank für deine Antwort.
Ich hatte dich da offenbar missverstanden.

Was du beschreibst ist m.E. exakt der Stand meiner DB. Einziger Unterschied ist, dass ich in die UFOs nur die für den Sachbearbeiter relevanten Daten übernommen habe.

Ich habe dir mal einen Screenshot meines Postformulars angehängt (ist noch nicht "hübsch" gemacht - da erst die Funktion passen soll).

Wenn ich einen neuen Datensatz anlege, erscheint bei der Auswahl der Firma die ebenfalls sichtbaren Fehlermeldung. Die Fehlermeldung erscheint nicht, wenn ich auf das Requery nach Aktualisierung des Kombifelds "Firma" verzichte, aber dann aktualisiert sich logischer Weise auch nicht das UFO mit den Kundendaten (rechts hinter der Fehlermeldung).
Das Kombifeld "Nachname" ist im Prinzip identisch mit dem Kombifeld Firma, nur habe ich hier eine Rowsource-Funktion verwendet damit auch nur die Ansprechpartner der ausgewählten Firma im Kombifeld erscheinen.


Ich stehe hier, wie du wahrscheinlich schon gemerkt hast, total auf dem sprichwörtlichen Schlauch.  :-\

Edit: Ich habe noch einen Screenschot vom VBA hinzugefügt. Das markierte Requery ist auch markiert wenn ich die Fehlermeldung debugge.
Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: DF6GL am Januar 25, 2021, 08:45:54
Hallo,

mmhm, was bezweckst Du mit dem Code? 

Ist das Kombi für Suchzwecke vorgesehen?
Warum brauchst Du dazu Requery?

Lad ansonsten die Db hier hoch (gezippt).
Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: yme24 am Januar 25, 2021, 09:20:18
Hallo Franz,

Nein, suchen möchte ich über ein separates Suchformular (noch nicht implementiert).
Das Kombi hat "nur" Autovervollständigung.

Das Requery nutze ich, damit sich nach der Auswahl der Firma das UFO mit den Details aktualisiert + das 2. Kombi mit den Ansprechpartnern. Eine andere Möglichkeit kenne ich nicht  :-[

DB im Anhang.
Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: DF6GL am Januar 25, 2021, 09:59:21
Hallo,



ich würde erst mal klassisch (und einfacher) an die Sache herangehen. 

Wirf dazu erst mal alle Abfragen und Formulare weg.   :)  8)

Erstelle dann ein Einzelform für tbl_Ansprechpartner ("frmAnsprechpartner" mit Datenherkunft "tbl_Ansprechpartner")  ---> HFO

Für alle anderen Tabellen je ein Endlosform mit Datenherkunft des jeweiligen Tabellennamens.

frmNachricht wird als UFO in frmAnsprechpartner eingebaut und über ASPID_f und Ansprechpartner_ID verknüpft.

ASPID_F wird als gebundenes Kombi ausgeführt und bezieht seine Daten aus tbl_Ansprechpartner über eine Abfrage:

Select Ansprechpartner_ID, Vorname, Nachname, Abteilung , ......... from tbl_Ansprechpartner order by Nachname

Die anderen Fremdschlüssel werden entspr. als Kombi ausgeführt.



In frmAnsprechparnter wird gleichermaßen ein gebundenes Kombi ("ASPKontaktID_F") mit passend eingestellter Spaltenanzahl) verwendet mit Datensatzherkunft:

Select Kontakt_ID, Firma, Firma2, Betriebsstätte, Straße, Hausnummer,.........  from tbl_Kontakt order by Firma


Um die weiteren Kontaktdaten in frmAnsprechpartner anzuzeigen, erstelle für jede Spalte des Kombilistenfeldes  je ein Textfeld mit Steuerelementinhalt:


z. B:


Textfeldname            Steuerelementinhalt

txtFirma2                  =ASPKontaktID_F.Column(1)
txtBetriebstätte           =ASPKontaktID_F.Column(2)
txtStraße                  =ASPKontaktID_F.Column(3)
txtHausnummer              =ASPKontaktID_F.Column(4)
Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: yme24 am Januar 25, 2021, 10:22:14
Danke Franz, versuche ich so.

Aber ich habe trotzdem ein Verständnisproblem. Wenn ich das hier mache:

Zitat von: DF6GL am Januar 25, 2021, 09:59:21frmNachricht wird als UFO in frmAnsprechpartner eingebaut und über ASPID_f und Ansprechpartner_ID verknüpft.

ASPID_F wird als gebundenes Kombi ausgeführt und bezieht seine Daten aus tbl_Ansprechpartner über eine Abfrage:


verschiebe ich das Problem dann nicht weg von tbl_Ansprechpartner hin zu den Tabellen Richtung, Art und Kategorie? Immerhin habe ich doch dann den direkten Bezug zu diesen Tabellen nicht mehr.

Gruß,
Martin

Edit zur Doppelpostvermeidung:

Franz, ich checke es nicht. So wie es jetzt ist (DB anbei), passt die Eingabereihenfolge nicht und ich kann so auch nicht die korrekten (der jeweiligen Firma zugeordneten) Ansprechpartner filtern. Was mache ich denn nur falsch?   :-\
Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: DF6GL am Januar 25, 2021, 15:52:13
Hallo,


Db anbei..


Zitatpasst die Eingabereihenfolge nicht und ich kann so auch nicht die korrekten (der jeweiligen Firma zugeordneten) Ansprechpartner filtern

Was heißt Eingabereihenfolge?

Filtern siehe DB
Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: yme24 am Januar 25, 2021, 21:44:38
Hallo Franz,

Danke für deine Hilfe.

Zitat von: DF6GL am Januar 25, 2021, 15:52:13Was heißt Eingabereihenfolge?

Mein Eingangspost:

Die Postbearbeitung soll folgende Reihenfolge bei der Eingabe haben:

Postrichtung, Art, Kategorie, Kontakt (sprich Firma), Ansprechpartner (alles Kombifelder bis hierhin) und anschließend alle Postdaten (Eingangsdatum, etc.) in Textfeldern.



In der Form, die du dankbarer Weise erstellt hast, steht der Ansprechpartner als "führende" Eingabe.

Eine eventuell mögliche Reihenfolge wäre auch Firma, Ansprechpartner, Postrichtung, Art, Kategorie, ...
Das muss ich aber erstmal prüfen - besser wäre es so wie eingangs geschrieben.

So wie ich das sehe, kann man das nicht ohne weiteres abändern, oder?


Gruß,
Martin

Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: DF6GL am Januar 26, 2021, 08:15:37
Hallo,

das kann im Formularentwurf/Eigenschaften  bei "Reihenfolgeposition" und "in Reihenfolge" unter Reiter "AllE" eingestellt werden.
Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: yme24 am Januar 26, 2021, 15:47:22
Hallo Franz,

ich habe es heute nicht eher geschafft, hier rein zu schauen.

Ich glaube, ich habe mich missverständlich ausgedrückt - bitte entschuldige.

Es geht mir nicht um die Aktivierungsreihenfolge der Felder, sondern um die Reihenfolge in der sie zu befüllen sind.

Inzwischen habe ich mit den Kollegen gesprochen.
Die Reihenfolge: Richtung, Art, Kategorie, Kunde, Ansprechpartner ist nach wie vor favorisiert, weil bisher auch so verfahren wird und diese Rangfolge auch für die Weiterbearbeitung den meisten Sinn ergibt.
Die Reihenfolge Kunde, Ansprechpartner, Richtung, Art, Kategorie erfordert eine Umstellung, geht aber auch.

Die (aktuelle) Reihenfolge deiner Beispiel DB ist Ansprechpartner, Firma, Richtung, Art, Kategorie und unpraktisch, da so der "Filter" über die Firma entfällt und somit immer alle Ansprechpartner im ersten Kombi-Feld erscheinen.

Wenn du dir meine eigene DB (hochgeladen am Montagmorgen) anschaust, siehst du wie die Reihenfolge definiert ist. Die Rowsource im Kombifeld des Ansprechpartners dient als Filter Kunde - Ansprechpartner

Du hast mich aber mit deiner DB auf eine Idee gebracht, die ich mal probieren werde. Ich melde mich ob es geklappt hat. Vielen Dank bis hierhin.

VG,
Martin


Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: yme24 am Januar 28, 2021, 19:34:24
Hallo Franz,

ich habe es auf Basis meiner ursprünglichen Idee hinbekommen. Ich habe für das fragliche Feld ASPID_F eine IsNull Funktion generiert, die verhindert, dass die DB nach dem Requery einen Nullwert vorgesetzt bekommt.
Auf die Idee hast du mich mit der Anordnung der Felder gebracht - vielen Dank dafür.

Jetzt habe ich aber ein Problem an gleicher Stelle, bei dem ich nicht weiterkomme. Ist aber glaube ich ein eher syntaktisches Problem, das bei meiner Testerin aufgetreten ist.

Kurz erklärt:
Ich nutze die Autovervollständigen-Eigenschaft eines Kombifelds für die Auswahl der Ansprechpartner.
Wenn ICH bei der Eingabe der Zeichen feststelle, dass die gesuchte Person noch nicht in der Liste ist, hüpfe ich mit Esc aus dem Feld raus und öffne danach per Knopfdruck ein Formular mit dem ich die Person anlegen kann. -> Das funktioniert Bestens
Meine Testerin nutzt aber nicht die Esc-Taste sondern versucht mit den eingegebenen Zeichen das Formular zu öffnen. Dabei rennt sie in den Fehler, dass "die Zeichen nicht Teil der Liste sind" und kommt nicht weiter. Alternativ hat sie versucht, die Zeichen per Backspace zu löschen und läuft dabei in einen "Sie versuchen eine Null einem Feld zuzuweisen welches kein Variant ist" Fehler.

Ich habe mir gedacht, dass man dem Kombifeld ein Ereignis "beim Verlassen" setze Wert x (also das, was Access macht wenn man Esc drückt) oder so geben kann, ähnlich meiner IsNull Lösung oben. Aber es scheint, als würde Access die Fehlermeldung(en) vorher generieren bzw. die Betätigung des Buttons nicht als Verlassen zu werten.

Mir fällt dazu ehrlich gesagt noch keine Lösung ein, aber vielleicht hast du ja eine Idee?

Vg und schönen Abend,
Martin


Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: DF6GL am Januar 28, 2021, 21:53:07
Hallo,

Zitat..dass "die Zeichen nicht Teil der Liste sind...

genau dafür gibt es das "Nicht in Liste"- Ereignis, um in dessen Ereignisprozedur z. B. ein Formular zu öffnen, das auf eine Neuen DS gestellt wird und damit gleich der Erfassung einer neuen Person dient.


Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: yme24 am Februar 01, 2021, 10:42:56
Hallo Franz,

hat so geklappt, vielen Dank.

Darf ich dich in diesem Thread noch etwas zum Thema Suchformular fragen?

Ich habe ein Suchformular über Kontakt (sprich Firma) und Ansprechpartner  - jeweils mit Kombifeld - erstellt.
Zuerst dachte ich, es funktioniert, aber dummerweise hatte ich den beiden Kombifeldern ein Steuerelement zugewiesen und damit immer den ersten Datensatz der Tabelle überschrieben.
Wenn ich die beiden Kombifelder aber ohne Steuerelement lasse, weiß ich nicht wie ich mein UFO (mit den Suchergebnissen) an das HFO der Suche verknpüfen soll.

Da muss es doch was "simples" geben, oder?


VG,
Martin


Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: DF6GL am Februar 01, 2021, 11:32:15
Hallo,


Zitathatte ich den beiden Kombifeldern ein Steuerelement zugewiesen

damit meinst Du sicher, dass die Kombifelder an ein Tabellenfeld gebunden sind/waren.


Zitatweiß ich nicht wie ich mein UFO (mit den Suchergebnissen) an das HFO der Suche verknpüfen soll.

Vielleicht beschreibst Du erst mal, wie das Suchformular aufgebaut ist.  Wozu benutzt Du zum Suchen eine HFO/UFO-Konstruktion?


Wenn das HFO ungebunden ist und das UFO Suchergebnisse anzeigen soll, so lass beim HFO die Eigenschaft "Datenherkunft" leer (ungebundenes Form)  und schreibe beim UFO (Endlos-Form) den passenden Tabellennamen in dessen Datenherkunft.


Im HFO werden zwei ungebundene (!) Kombifelder eingebaut mit passender Datensatzherkunft für die Auswahl-Daten (Such-Kriterien) für den Filtervorgang.

Gefiltert (gesucht) wird dann dadurch, indem der Eigenschaft "Filter" des UFOs das aus den Kombifeldern zusammengesetzte Suchkriterium (Where-Condition) zugewiesen wird.

.
.

Sub Kombi1_Afterupdate()
Me!Ufo_Steuerelementname.Form.Filter = "TabID = " & Me!Kombi1
Me!Ufo_Steuerelementname.Form.FilterOn = True
End Sub
Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: yme24 am Februar 03, 2021, 13:44:32
Hallo Franz,

Danke für deine Hilfe. Ich hatte einen Syntax-Fehler in meinem Filter-Code, der mir einfach nicht auffallen wollte. Ich filtere nach der Eingabe im zweiten Kombifeld nun einfach die Datensätze - ohne Schnickschnack.

Na jedenfalls läuft die DB nun (fast) so wie sie soll. Ich habe noch ein Formular, dass ein Requery partout nicht ausführt - das ist aber in meinem Wartungsbereich und fällt im FE nicht auf.

Und, leider halten sich die Anwender(innen) nicht an alle meine Vorgaben (z.B. dass die Hausnummer ein Zahlenfeld ist  ::) ), aber das ist ein Problem, dass man nicht im Forum lösen kann - es sei denn es gibt eine Selbsthilfe hier für leidgeplagte DB-Schreiber  ;D

Nochmals vielen Dank Franz! Bleib gesund!

VG,
Martin
Titel: Re: Beziehungen zwischen 3 Tabellen verursachen Fehler beim Requery
Beitrag von: DF6GL am Februar 03, 2021, 16:25:54
Hallo,


Zitatleider halten sich die Anwender(innen) nicht an alle meine Vorgaben (z.B. dass die Hausnummer ein Zahlenfeld ist  ::) ), aber das ist ein Problem, dass man nicht im Forum lösen kann - es sei denn es gibt eine Selbsthilfe hier für leidgeplagte DB-Schreiber 

Wie ist das denn zu verstehen?

Wenn die Hausnummer den Datentyp "Zahl, Long" hat, dann kann auch nur eine Zahl eingegeben werden.  Kann in einer Hausnummer auch ein Buchstabe vorkommen (z. B. 10a), dann muss das Feld den Datentyp Text aufweisen.  Besser wäre hier allerdings, für den Nummern-Zusatz ein extra Feld mit DatenTyp Text zu spendiern und die eigentliche Nummer bei Datentyp Zahl,Long zu belassen.


Beim Zusatzfeld kann dann eingestellt werden, dass nur bestimmte Buchstaben eingegeben werden können.