Formular, Unterformular, Abfrage? (Anfänger)

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Passant
Beiträge: 8
Registriert: Fr, 22.05.2020 19:06

Formular, Unterformular, Abfrage? (Anfänger)

Beitrag von Passant »

Hallo zusammen, ich bin Ralf, fange gerade an, mich mit Base zu beschäftigen und hoffe, von euch ein paar Tipps zu bekommen.

Ich möchte eine Kundendatenbank aufbauen. Fernziel ist es, daraus eine Tourenplanung zu erstellen. Sie besteht zur Zeit aus einer einzigen Tabelle, in der zu jedem Kunden alle notwendigen Daten vorhanden sind. Ich habe mir ein Formular erstellt, in dem ich neue Kunden anlegen kann. Das war für mich noch einfach machbar.

Jetzt wird es aber komplizierter: Ich möchte im Prinzip genau so ein Formular, daß mir alle Daten des jeweiligen Kunden in Feldern anzeigt. Die Daten sollen hier aber nur angeschaut und nicht verändert werden. Ganz oben möchte ich eine, oder auch mehrere Kundennummern eingeben können, darunter sollte dann eine Liste mit diesen Kunden erscheinen und wenn ich auf einen dieser Kunden klicke, sollen darunter alle seine Daten (auch Bilder) in den Feldern erscheinen, so wie ich das schon bei dem vorhandenen Formular, zum Anlegen der Kunden habe.

Könntet ihr mir grob sagen, wie ich da vorgehen muß? Ich weiß, daß ich eine Abfrage erstellen muß und Unterformulare, aber welches ist das Formular und welches soll das Unterformular sein? Wie starte ich mit einem Button die Abfrage, mit den Kundennummern, die ich oben eingegeben habe, damit die darunter in der Liste angezeigt werden, und dann darunter der Kunde, den ich in der Liste angeklickt habe?

Ich hoffe, das ist halbwegs nachvollziehbar. Habe mal eine Skizze gemacht, wie das ungefähr aussehen soll. Ist das so überhaupt machbar?
Formular-Skizze.jpg
Formular-Skizze.jpg (33.75 KiB) 6627 mal betrachtet
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Formular, Unterformular, Abfrage? (Anfänger)

Beitrag von RobertG »

Hallo Passant,

ich würde das so lösen, dass ich zuerst einmal eine Tabelle "Filter" mit einem Feld "KdNr" als einzigem Feld (Primärschlüssel).

Jetzt benötigst Du eine Abfrage, die diese Tabelle auswertet. Das geht am besten, indem Du den Editor startest, Deine Tabelle "Kunden" aussuchst und alle Felder mit dem * als ausgewählt markierst. Dann gehst Du aus dem Designmodus in den SQL-Modus über und ergänzt die Abfrage mit

Code: Alles auswählen

WHERE "ID" IN (SELECT "KdNr" FROM "Filter")
Jetzt werden über die Abfrage nur noch die Kunden angezeigt, die in der Filter-Tabelle stehen.

Das Formular geht dann so:
Lass zuerst einfach den Assistenten laufen. Wähle für das Hauptformular die Abfrage aus, wähle dann für das Unterformular die Kundentabelle aus. Im Hauptformular hast Du von Deinem Design her ein Tabellenkontrollfeld und im Unterformular Einzelfelder.
Wenn der Assistent durchgelaufen ist kannst Du das Formular weiter bearbeiten.
Verschiebe zuerst den gesamten Inhalt etwas nach unten.
Suche den Formularnavigator auf.
Erstelle ein neues Formular neben dem bestehenden Formular, das beim Assistenten immer MainForm heißt.
Wähle als Datenbasis für dieses Formular die Tabelle "Filter".
Dieses Formular braucht nur ein Eingabefeld, nämlich das Feld für "KdNr".
Das Einzige, was Du jetzt noch brauchst, ist ein Button.
Diesen Button positionierst Du zwar neben das neu erstellte Eingabefeld. Der Button selbst soll aber im Formular MainForm erstellt werden.
Bei den Aktionen für diesen Button wählst Du "Formular aktualisieren".

Wenn Du das alles geregelt bekommst, dann hast Du ein Formular, das Deinen Wünschen entspricht.
Der Inhalt des Feldes "KdNr" wird dadurch abgespeichert, dass Du das Formular "Filter" verlässt und einen Button in einem anderen Formular betätigst. Anschließend löst dieser Button die Aktualisierung des Formulars aus, das den gerade eingegebenen Filterwert zur Anzeige benötigt.

Im Unterformular werden die Daten des gerade aktiven Datensatzes des Hauptformulars angezeigt.

Das ist für den Anfang etwas viel. Du kannst aber jederzeit hier wieder nachfragen.

Die Eingabe in nur ein Feld für die verschiedenen KdNr ist leider nicht ohne Makro auswertbar. Deswegen habe ich ein Tabellenkontrollfeld zum Filtern eingebaut.

Gruß

Robert
Dateianhänge
Filter_In.odb
(12.67 KiB) 192-mal heruntergeladen
Passant
Beiträge: 8
Registriert: Fr, 22.05.2020 19:06

Re: Formular, Unterformular, Abfrage? (Anfänger)

Beitrag von Passant »

Hallo Robert,

vielen, vielen Dank, für diese super Anleitung und auch für die Beispiel-DB! Habe es damit jetzt hinbekommen und das Formular ist genau so wie ich es mir vorgestellt hatte :-)

Ein paar Details würde ich aber gerne noch ändern:
Das "Tabellen-Steuerelement", in dem ich die Kd-Nummern eingebe, zeigt hinter den Nummern 2 Dezimalstellen an. Kann man das Format dieser Felder ändern?

Ich habe einen Button hinzugefügt, mit dem ich die eingegebenen Nummern einzeln löschen kann. Vor jedem Löschen kommt aber eine Nachfrage, die ich bestätigen muß, kann man die irgendwie umgehen?

Gibt es eine Möglichkeit, das Formular automatisch zu aktualisieren, z.B. wenn ich eine Nummer eingegeben habe und dann mit der Tab-Taste zum nächsten Feld springe?
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Formular, Unterformular, Abfrage? (Anfänger)

Beitrag von RobertG »

Hallo Passant,
Passant hat geschrieben: Sa, 23.05.2020 21:08 Das "Tabellen-Steuerelement", in dem ich die Kd-Nummern eingebe, zeigt hinter den Nummern 2 Dezimalstellen an. Kann man das Format dieser Felder ändern?
Öffne das Formular zum Bearbeiten, nicht zur Eingabe von Daten. Gehe mit der Maus auf den Tabellenkopf "Kd-Nummern" - rechte Maustaste → Spalte → Nachkommastellen → '0'
Passant hat geschrieben: Sa, 23.05.2020 21:08 Ich habe einen Button hinzugefügt, mit dem ich die eingegebenen Nummern einzeln löschen kann. Vor jedem Löschen kommt aber eine Nachfrage, die ich bestätigen muß, kann man die irgendwie umgehen?
Ich weiß so keine andere Möglichkeit als das direkte Ansteuern mit einem Makro:

Code: Alles auswählen

SUB Loeschen(oEvent AS OBJECT)
	oForm = oEvent.Source.Model.Parent		
	IF oForm.getRow > 0 THEN
		oForm.deleteRow
		iRow = oForm.getRow
		oForm.Reload
		oForm.Absolute(iRow)
	END IF
END SUB
Den Button stellst Du auf Aktion → Keine und gehst dann zu den Ereignissen → Aktion ausführen. Das Makro muss damit verbunden werden.
Wie Makros prinzipiell erstellt werden weißt Du? (Extras → Makros ...)
Passant hat geschrieben: Sa, 23.05.2020 21:08 Gibt es eine Möglichkeit, das Formular automatisch zu aktualisieren, z.B. wenn ich eine Nummer eingegeben habe und dann mit der Tab-Taste zum nächsten Feld springe?

Code: Alles auswählen

SUB Aktualisieren
	oDoc = thisComponent
	oDrawpage = oDoc.Drawpage
	oForm = oDrawpage.forms.getByName("MainForm")
	oForm.reload()
END SUB
Das ist jetzt die Möglichkeit, das Formular zu aktualisieren, das die Bezeichnung "MainForm" hat und als Hauptformular erstellt wurde. Das packst Du in die Formulareigenschaften des Formulars "Filter" - da, wo Deine Eingaben zum Filtern drin sind. Ereignisse → Nach der Datensatzaktion.
Dann kannst Du Dir natürlich den Button zum "Speichern" sparen. Das passiert ja sowieso, sobald Du den Datensatz verlässt und dann läuft das Aktualisieren automatisch.
Ich habe das einmal mit Definition der Variablen in die Beispieldatenbank eingefügt.

Gruß

Robert
Dateianhänge
Filter_In.odb
(13.84 KiB) 170-mal heruntergeladen
Passant
Beiträge: 8
Registriert: Fr, 22.05.2020 19:06

Re: Formular, Unterformular, Abfrage? (Anfänger)

Beitrag von Passant »

Hallo Robert,

vielen Dank für die Makros, die funktionieren perfekt :-)

War in den letzten Tagen unterwegs und habe die "DB" mal getestet. Das Formular, bei dem du mir geholfen hast, hat sich dabei als praxistauglich herausgestellt, das Formular zum Eingeben der Kundendaten, das ich vorher selber erstellt hatte, leider nicht. Ich kann zwar die Daten eingeben, es fehlt aber jede Suchfunktion, um z.B. Daten von bestimmten Kunden zu ändern, oder nachzutragen, was relativ häufig notwendig ist, wie ich feststellen mußte.

Das Formular besteht nur aus den Datenfeldern, die als Datenquelle die Kundentabelle haben. Kann ich hier nachträglich mit einem Unterformular eine Suche einbauen, bei der ich nach mehreren beliebigen Feldern mit "und", bzw. auch nur nach einzelnen Feldern der Kundendaten suchen kann? Also z.B. nur nach Name, oder z.B. auch nach "Name und Ort", oder "Name und Tour"? Bei der mir dann, wie in dem anderen Formular, die Ergebnisse in einer Liste angezeigt werden, die ich dann einzeln anklicken kann und im Hauptformular angezeigt bekomme?

Das könnte ich dann selber entsprechend dem anderen Formular zusammenbauen, nur bei den Makros habe ich überhaupt keine Vorstellung, wie die funktionieren und würde mich über Hilfe von dir sehr freuen.
Passant
Beiträge: 8
Registriert: Fr, 22.05.2020 19:06

Re: Formular, Unterformular, Abfrage? (Anfänger)

Beitrag von Passant »

Hallo Robert,

damit ich bei dem Formular nicht von vorne anfangen mußte, habe ich jetzt einfach mal das Formular, bei dem du mir geholfen hast, kopiert und dafür eine neue Filter-Tabelle erstellt, die jetzt neben der Kundennummer, den Nachnamen, die Postleitzahl, den Ort, das Bundesland und die Tournummer enthält.

Die Herausforderung für mich ist jetzt gar nicht die Makros zu erstellen, die Makros von dir werden hier ja genauso funktionieren, sondern die entsprechende Abfrage, bei der ich entweder nach einzelnen dieser Felder suchen kann, oder Kombinationen mehrerer Felder, also z.B. nach allen Kunden mit der Tournummer 1, oder alle Kunden in Berlin, oder aber auch z.B. nach allen Kunden mit dem Namen Müller in München.

Würde mich sehr freuen, wenn du mir bei der Abfrage helfen könntest.

EDIT2:
Komme leider nicht weiter: Mein Ziel ist es ja, daß von den 6 Suchfeldern im Formular, nur die berücksichtigt werden, die einen Inhalt haben und mit "UND" verknüpft werden. Hat z.B. nur ein Feld einen Inhalt, sollen alle anderen Felder ignoriert werden. Je mehr Felder ich eingebe, um so mehr sollen die möglichen Treffer eingeschränkt werden.

Ich glaube, daß ich dazu zuerst prüfen muß, ob ein Feld einen Inhalt hat. Im Handbuch habe ich dazu den SQL-Befehl EXISTS gefunden. Wenn ich in der Abfrage diesen Code eingebe:

Code: Alles auswählen

SELECT "Kd-Nr", "Firma", "Postleitzahl", "Ort", "Tour", "Bundesland" FROM "tbl_Kunden" WHERE EXISTS (SELECT "tempKd-Nr" FROM "tbl_KdFilter2" WHERE "tbl_KdFilter2"."tempKd-Nr" = "tbl_Kunden"."Kd-Nr")
dann macht er genau das was ich möchte: wenn eine Kundennummer im Suchfeld des Formulars eingegeben wurde, gibt er die entsprechenden Daten des Kunden aus. Wenn das Feld keinen Inhalt hat, dann wird auch nichts ausgegeben.

Wenn ich das jetzt aber z.B. mit dem Feld für den Firmennamen erweitere:

Code: Alles auswählen

AND EXISTS ( SELECT "tempFirma" FROM "tbl_KdFilter2" WHERE "tbl_KdFilter2"."tempFirma" = "tbl_Kunden"."Firma" )
dann verknüpft er die beiden Felder zwar mit UND, so wie ich es möchte, wenn aber nur eines der beiden Felder einen Inhalt hat, wird es nicht ignoriert, sondern es gibt gar keine Ergebnisse. EXIST scheint also nicht so zu funktionieren, wie ich es erhofft habe. Alle Versuche mit NULL, NOT NULL sind leider auch gescheitert. Ich bräuchte eine Bedingung, wie: Wenn das Feld leer ist, dann ignoriere es. Gibt es das in SQL nicht?
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Formular, Unterformular, Abfrage? (Anfänger)

Beitrag von RobertG »

Ich versuche das einmal direkt an Deinem Code:

Code: Alles auswählen

SELECT "Kd-Nr", "Firma", "Postleitzahl", "Ort", "Tour", "Bundesland" FROM "tbl_Kunden" WHERE EXISTS (SELECT "tempKd-Nr" FROM "tbl_KdFilter2" WHERE "tbl_KdFilter2"."tempKd-Nr" = "tbl_Kunden"."Kd-Nr")
Reicht da nicht:

Code: Alles auswählen

SELECT * FROM "tbl_Kunden" WHERE "Kd_Nr" = (SELECT "tempKd-Nr" FROM "tbl_KdFilter2")
... oder hat Deine Filtertabelle mehr als einen Datensatz?
Und wenn dann der Wert in der Filtertabelle leer sein sollte:

Code: Alles auswählen

SELECT * FROM "tbl_Kunden" 
WHERE "Kd_Nr" = COALESCE((SELECT "tempKd-Nr" FROM "tbl_KdFilter2"),"Kd_Nr")
Damit müsste dann alle Dateen mit Eintrag bei der "Kd_Nr" ausgegeben werden, wenn in der Filtertabelle kein Eintrag steht.
Und jetzt die Firma dazu:

Code: Alles auswählen

SELECT * FROM "tbl_Kunden" 
WHERE "Kd_Nr" = COALESCE((SELECT "tempKd-Nr" FROM "tbl_KdFilter2"),"Kd_Nr") 
AND "Firma" = COALESCE((SELECT "tempFirma" FROM "tbl_KdFilter2"),"Firma")
Es gibt also nicht einfach die Bedingung: Wenn das Feld NULL ist, dann ignoriere es, sondern wenn das Feld NULL ist, dann nimm einen anderen Wert zum Vergleich.

Schau Dir dazu einmal in dem Kapitel "Datenbank-Aufgaben" das Unterkapitel "Datenfilterung" an.
Passant
Beiträge: 8
Registriert: Fr, 22.05.2020 19:06

Re: Formular, Unterformular, Abfrage? (Anfänger)

Beitrag von Passant »

Hallo Robert,

die Abfrage funktioniert mit dem Code leider nicht. Wahrscheinlich weil ich an anderer Stelle einen Fehler gemacht habe.

Die "Kd-Nr" ist in der Kundentabelle und in der Filtertabelle übrigens nicht der Primärschlüssel, weil die Kundennummern vorgegeben sind und nicht streng fortlaufend sind, teilweise muß ich sie noch nachtragen, deswegen habe ich bei beiden Tabellen tbl_Kunden und tbl_KdFilter2 zusätzlich die Spalte "ID" als Primärschlüssel hinzugefügt, weil der beim Erstellen der Tabelle verlangt wird. Ich bin mir aber nicht sicher, ob das vielleicht zu Problemen führt.

Wenn ich das Formular jetzt mit deinem Code öffne, dann erscheinen in der Liste, die eigentlich erst die Suchergebnisse anzeigen soll, nachdem ich das Formular mit den Suchbegriffen aktualsiert habe, alle Kunden, die schon eine Kundennummer haben. Wenn ich dann oben in irgend eines der 6 Suchfelder etwas eingebe z.B. in das Suchfeld "Firma", den Namen Müller und auf Aktualisieren klicke, dann erscheint immer diese Fehlermeldung:

Fehler beim Einfügen des neuen Datensatzes
Attempt to insert null into a non-nullable column: column: tempID table: tbl_KdFilter2 in statement
[INSERTINTO "tbl_KdFilter2" ( "tempKd-Nr") VALUES ( ?)]

Das Formular, ist eine Kopie des obigen Formulars, das ich mit deiner Hilfe erstellt hatte, um mir einzelne Kunden für eine Tour herauszufiltern, nur daß ich im Hauptformular nicht mehr das Listenfeld für die Eingabe der gesuchten Kd-Nummern verwendet habe, sondern 6 formatierte Felder für verscheidene Suchbegriffe.

Ist es überhaupt sinnvoll, das Formular so aufzubauen? Ich verwende das ja zum Eingeben neuer Kunden und zum Ändern vorhandener Kunden. Wenn ich aber einmal einen Kunden mit der Suchfunktion geöffnet habe, kann ich dann anschließend noch einen neuen Kunden erstellen, oder muß ich dafür das Formular erst wieder schließen?
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Formular, Unterformular, Abfrage? (Anfänger)

Beitrag von RobertG »

Hallo Passant,

der erste Fehler ist schon einmal, dass Du bei der Filtertabelle überhaupt versuchst, einen neuen Datensatz hinzuzufügen. Das ist nä#mlich die Fehlermeldung, die Du da erhältst. Du sollst nur ein Update immer des gleichen Datensatzes machen. Das Formular darf nur den aktuellen Datensatz ändern, nicht löschen und keinen neuen schreiben. Die Navigation geht auch immer durch den aktuellen Datensatz.

Wenn die Felder in der Ursprungstabelle auch leer sind, dann hilft vielleicht ein simpler Trick:

Code: Alles auswählen

SELECT * FROM "tbl_Kunden" 
WHERE "Kd_Nr" = COALESCE((SELECT "tempKd-Nr" FROM "tbl_KdFilter2"),"Kd_Nr")
wird zu

Code: Alles auswählen

SELECT "tbl_Kunden".*,  COALESCE( "Kd_Nr", '' ) AS "K"  FROM "tbl_Kunden" 
WHERE "K" = COALESCE((SELECT "tempKd-Nr" FROM "tbl_KdFilter2"),"K")
Gruß

Robert
Passant
Beiträge: 8
Registriert: Fr, 22.05.2020 19:06

Re: Formular, Unterformular, Abfrage? (Anfänger)

Beitrag von Passant »

Mit dem Code erhalte ich beim Öffnen des Formulars diese Fehlermeldung:

Code: Alles auswählen

Die Dateninhalte konnten nicht geladen werden.
Unresolved parameter type as output of CASE when operand types are LONGVARCHAR and INTEGER in statement 
[SELECT "tbl_Kunden".*, COALESCE ( "Kd_Nr", '' ) AS "K" FROM "tbl_Kunden" WHERE "K" = COALESCE 
( ( SELECT "tempKd-Nr" FROM "tbl_KdFilter2" ), "K" )]
Außerdem ist der Button zum Aktualisieren des Formulars nicht mehr klickbar. In der Tabelle tbl_Kunden sind auch Links zu Bildern und ein langer Beschreibungstext vorhanden, könnte das das Problem sein?

Habe mal versucht beim Select nur die Felder auszuwählen, die ich benötige:

Code: Alles auswählen

SELECT "Kd-Nr", "Firma", "Postleitzahl", "Ort", "Tour", "Bundesland" FROM "tbl_Kunden", 
COALESCE ("Kd_Nr", '') AS "K" FROM "tbl_Kunden" WHERE "K" = COALESCE 
( ( SELECT "tempKd-Nr" FROM "tbl_KdFilter2" ), "K" )
Aber das wird beim Speichern der Abfrage nicht akzeptiert, wegen: "Syntaxfehler im SQL-Ausdruck"
Passant
Beiträge: 8
Registriert: Fr, 22.05.2020 19:06

Re: Formular, Unterformular, Abfrage? (Anfänger)

Beitrag von Passant »

Sorry, das ist alles ziemlicher Anfänger-Murks, den ich hier verzapfe. Ich hoffe du hast trotzdem noch ein bißchen Geduld mit mir :-)

Habe jetzt mal ein Backup der Datenbank von vor ein paar Tagen verwendet und da funktioniert dieser Code von dir (zumindest halbwegs):

Code: Alles auswählen

SELECT * FROM "tbl_Kunden" WHERE "Kd-Nr" = COALESCE ( ( SELECT "ID" FROM "tbl_KdFilter2" ), "Kd-Nr" ) 
AND "Firma" = COALESCE ( ( SELECT "Firma" FROM "tbl_KdFilter2" ), "Firma" )
Das funktioniert mit der aktuellen Datenbank nicht ohne Fehlermeldung. Einziger Unterschied in der aktuellen, nicht funktionierenden DB, ist die Tabelle tbl_KdFilter2. Dort hatte ich die Felder umbenannt, um sie von der eigentlichen Kundentabelle zu unterscheiden. Also z.B. Firma in tempFirma, Ort in tempOrt, usw. und die Abfrage entsprechend geändert.

Außerdem heißt die Kundennummer im funktionierenden Backup dieser Tabelle "ID" und ist tatsächlich der Primärschlüssel. Auch die hatte ich in tempKd-Nr umbenannt. Ich verwende jetzt also wieder das besser funktionierende Backup mit deinem COALESCE-Code.

Haken dabei ist leider: Ich darf das Such-Feld "Kd-Nr" (bzw. jetzt wieder "ID") im Hauptformular nicht leer lassen, weil dann wieder diese Fehlermeldung erscheint:

Code: Alles auswählen

Fehler beim Schreiben des aktuellen Datensatzes
Attempt to insert null into a non-nullable column: 
column: ID table: tbl_KdFilter2 in statement [UPDATE "tbl_KdFilter2" SET "ID" = ? WHERE "ID" = ?]
Hier habe ich also trotz "COALESCE" wieder das Problem, daß er bei Null nicht einfach weitersucht. Hast du dafür vielleicht noch eine Idee?
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Formular, Unterformular, Abfrage? (Anfänger)

Beitrag von RobertG »

Das Problem besteht wohl in der Tabelle tbl_KdFilter2. Dort ist das Feld "ID" drin, dass nach der Tabellendefinition so eingestellt ist, dass es einen Eintrag benötigt. Wenn ich das richtig verstanden habe, dann ist dieses Feld "ID" aber nicht der Primärschlüssel, oder? Dann solltest Du bei den Feldeigenschaften "Eintrag erforderlich" → "Nein" einstellen.
Passant
Beiträge: 8
Registriert: Fr, 22.05.2020 19:06

Re: Formular, Unterformular, Abfrage? (Anfänger)

Beitrag von Passant »

Danke Robert!

Das Feld "ID" in der Tabelle war genau das Problem. Es war als Primärschlüssel definiert.

Da mir die Kenntnisse fehlen, wie man sowas vernünftig löst, habe ich die Tabelle noch mal neu erstellt und dabei ein "Fake-Feld" als Primärschlüssel definiert. Das hört sich für dich jetzt wahrscheinlich gruselig an...

Aber die Suche funktioniert jetzt mit COALESCE wie gewünscht :-) Es werden nur die eingegebenen Werte berücksichtigt und mit UND verknüpft. Perfekt!

Bin mit dem Formular zwar noch nicht durch, ich kann z.B. tatsächlich keinen neuen Datensatz erstellen, unten die Navigation läßt sich nicht anklicken und wenn ich auf das Symbol für "Neuer Datensatz" klicke, kann ich zwar die Daten eingeben, aber nicht Speichern, weil dann wieder eine Fehlermeldung kommt.

Auch der Button zum Löschen der Suchfelder, mit dem Makro von dir, daß bei dem Listenfeld im anderen Formular funktionierte, funktioniert bei den formatierten Such-Feldern nicht mehr, bzw. es werden zwar alle Begriffe gelöscht, aber danach kann ich keine neuen Begriffe mehr in die Suchfelder eingeben.

Ich benutze zum Erstellen neuer Kunden jetzt erst mal das alte Formular, ohne Suchfunktion, und das Neue zum Suchen und Ändern der vorhandenen Kunden.

Vielen Dank nochmal, für die Zeit, die dir heute, am Sonntag wieder genommen hast.
Antworten