Seite 1 von 2

Fehler bei Makro Aktualisieren

Verfasst: Mi 23. Aug 2017, 09:11
von Helles58
Hallo zusammen

ich bekomme beim Aufruf aus dem Formular folgende Fehlermeldung mit dem Makro "Aktualisieren" (aus der Doku übernommen) :

Basic Laufzeitfehler.
Es ist eine Ausnahme aufgetreten.
Type:com.star.container.NoSuchElementExeption.

Hier der Code
SUB Aktualisieren
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
oDoc = thisComponent
oDrawpage = oDoc.Drawpage
oForm = oDrawpage.forms.getByName("F_Akquise") ' Fehlerzeile
oForm.reload()
END SUB

Hat jemand eine Idee?

Gruß Helles58

Re: Fehler bei Makro Aktualisieren

Verfasst: Mi 23. Aug 2017, 11:55
von RobertG
Hallo Helles58,

nach der Fehlermeldung zu urteilen gibt es in dem Formulardokument, von dem aus Du das Makro aufrufst, nicht das Formular "F_Akquise". Wie löst Du das Formular aus und wie lauten die Bezeichnungen der Formulare, wenn Du den Formularnavigator öffnest?

Gruß

Robert

Re: Fehler bei Makro Aktualisieren

Verfasst: Mi 23. Aug 2017, 12:29
von Helles58
Hallo Robert

Danke für die schnelle Reaktion.
Du hast recht.
Natürlich hab ich wieder den falschen Formzularname benutzt. F-Aquise anstatt MainForm.
(Mit dem Syntax und den Formulardefinitionen von StarBasic hadere ich immer noch.)
Dieser Fehler wäre behoben.
Was mich zur nächsten Frage(n) bringt.
Ich habe in meinem Formular zwei Listenfelder die mit dem Makro "hierachisches_Kontrollfeld" verbunden sind.Funktioniert.
1.Wie kann ich den Filter aus Listenfeld 2 zurücksetzten, der Filter aus Listenfeld 1 soll aber erhalten bleiben.
2. Wie können, wenn Listenfeld 1 aktiviert wurde, mittels Schaltflächen weitere Tabellenspalten (Bool) als Filter ein- und ausgeschaltet werden.

Beispiel: Listenfeld 1 wählt eine Kategorie aus, dann soll noch die Spalte "keinBedarf" = Nein abgefragt werden.

Gruß Helles58

Re: Fehler bei Makro Aktualisieren

Verfasst: Mi 23. Aug 2017, 15:43
von RobertG
Hallo Helles58,

rufe ich in der Beispieldatenbank "Beispiel_Suchen_und_Filtern_mit_Makros.odb" das Formulardokument "Suche_Filter_hierarchisch_allround" auf, dann kann ich da mit Listenfeldern filtern. Will ich den Filter zurücksetzen, so muss ich einfach nur das leere Feld am Anfang des Listenfeldes wählen.

Wenn das bei Dir nicht klappen sollte, dann poste hier bitte das Dokument.

Die Filterung, wie die in der obigen Datenbank funktioniert, holt ihre Filterwerte aus der Tabelle "Filter", die nur aus einem einzigen Datensatz besteht. Ein Feld für jedes zu filternde Feld kannst Du da problemlos hinzufügen, musst dann aber auch die Abfrage, auf der das Hauptformular beruht, entsprechend anpassen, dass auch das Feld ausgelesen wird.

Gruß

Robert

Re: Fehler bei Makro Aktualisieren

Verfasst: Mi 23. Aug 2017, 16:42
von Helles58
Hallo Robert

Danke für die Antwort.
Ich probier das mal aus und hoffe es klappt gleich auf Anhieb.

Gruß Helles58

Re: Fehler bei Makro Aktualisieren

Verfasst: Do 24. Aug 2017, 13:48
von Helles58
Hallo Robert

das ist doch etwas zu schwierig für mich.Die Messlatte liegt zu hoch.
Anbei die bereinigte Datenbank mit dem Formular.
Es soll nach Kategorie und dann nach Adresse gefiltert werden können.
Wenn möglich sollen zusätzlich noch die Markierfelder nach Bedarf gefiltert werden (Ein/Aus).

Gruß Helles58

Re: Fehler bei Makro Aktualisieren

Verfasst: Do 24. Aug 2017, 16:16
von RobertG
Hallo Helles58,

was ist bei Dir "Adresse". In dem Formular steht "Firma". Soll da jetzt eine Firma nach der Adresse ausgewählt werden oder wie stellst Du Dir das vor?

Du hast bisher keine Beziehungen definiert (Extras > Beziehungen). Das hängt vermutlich damit zusammen, dass Du gerade erst angefangen hast, z.B. die Kategorien in eine Tabelle auszulagern. Die stehen nämlich gleichzeitig noch ausgeschrieben in T_Master_Adressen.

Die Listenfelder, die Du erstellt hast, haben keine Beziehung zu der Filter-Tabelle. Ich habe die jetzt erst einmal in das entsprechende Formular verschoben.

Mit den Markierfeldern meinst Du die 5 Felder, die so auch im Formular und in der Tabelle T_Master_Adressen stehen?

Gruß

Robert

Re: Fehler bei Makro Aktualisieren

Verfasst: Do 24. Aug 2017, 17:18
von RobertG
Hallo Helles58,

ich habe das jetzt einmal so weit überarbeitet, dass das Formular filterbar ist. Damit nicht allzu viele Makros verwirren habe ich die Übernahme der Filterung durch einen Button realisiert. Nur ein Makro ist hinterlegt: Das Makro für das Listenfeld "Kategorie", das das zweite Listenfeld beeinflussen soll.

Gruß

Robert

Re: Fehler bei Makro Aktualisieren

Verfasst: Fr 25. Aug 2017, 09:48
von Helles58
Hallo Robert

Vielen Dank für die Unterstützung.
Kann leider die Datei nicht öffnen.
Ich bekomme folgende Fehlermeldung:
Die Datei 'Test_004.odb' ist defekt und kann deshalb nicht geöffnet werden. LibreOffice kann versuchen, die Datei zu reparieren.
Der Defekt kann durch eine Manipulation am Dokument oder durch einen Fehler bei der Datenübertragung verursacht worden sein.
Sie sollten dem Inhalt der Datei nicht vertrauen.
Das Ausführen von Makros wird in diesem Dokument deaktiviert.
Soll LibreOffice die Datei reparieren?

Die Datei 'Test_004.odb' konnte nicht repariert werden und kann deshalb nicht geöffnet werden.

Meine Office Version ist 5.3.4.2

Gruß Helles58

Re: Fehler bei Makro Aktualisieren

Verfasst: Fr 25. Aug 2017, 11:54
von Acco
Hallo Helles58,

bei mir klappt entpacken und öffnen der DB einwandfrei. Umgebung siehe Signatur.

Gruß acco