(gelöst) bestimmte Felder per Makro (Schalter) leeren

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: (gelöst) bestimmte Felder per Makro (Schalter) leeren

Re: NEU- bestimmte Felder per Makro (Schalter) leeren

von schane65 » Mi, 08.08.2012 13:07

Hallo Robert !

Danke erst mal für die Hilfe.
Du hast recht, das Ding hier ist völlig durcheinander, daher werde ich es jetzt auch hier beenden. Bzgl. der letzten Anfrage versuche ich auch dauernd etwas zu finden, aber ich bekomme ständig gesagt, die Suche steht nicht zu Verfügung. Egal, ich habe ja jetzt.
Es wäre für die Zukunft aber auch schön, wenn OpenOffice solche Sachen nicht über ein Makro löst, sondern analog zu Access. Dort kann ich es einfach über einen Schalter lösen und kann dann wählen, was ich vor habe.
Vielleicht gibt es das ja mal.

Gruß Andreas

Re: NEU- bestimmte Felder per Makro (Schalter) leeren

von RobertG » Mi, 08.08.2012 08:20

Hallo Andreas,

mittlerweile ist dieser Thread völlig durcheinander geraten.

Über das Starten von Berichten kannst Du auch an anderer Stelle in diesem Forum viel lesen.

Als Makro reicht:
ThisDatabaseDocument.ReportDocuments.getByName("Berichtsname").open

Muss also nur eine Bezeichnung für die Prozedur dazu und Du kannst mit dem Makro Deinen Bericht aufrufen.

Gruß

Robert

Re: NEU- bestimmte Felder per Makro (Schalter) leeren

von schane65 » Mi, 08.08.2012 07:48

Hallo Robert !

Ich weiß zwar nicht genau, was du geändert hast, aber es scheint zu funktionieren, herzlichen Dank. Eine Frage, über die wir ansatzweise schon mal an anderer Stelle gesprochen haben, hätte ich noch:
Ich würde gerne auf dem Hauptformular einige Button (Schalter) einfügen, mit denen ich Berichte, die ich erstelle, direkt öffnen kann. Einfach einen Schalter einfügen und den dann über das Kontrollfeld mit Aktionen zu steuern, geht ja nicht. Wie würde da das Makro lauten? Oder soll ich lieber einen neuen Beitrag erstellen?


Gruß Andreas

Re: NEU- bestimmte Felder per Makro (Schalter) leeren

von RobertG » Di, 07.08.2012 16:48

Hallo Andreas,

stimmt, das liegt an dem etwas merkwürdigen Datenbankaufbau. Wenn Personen so kein Stichwort zugewiesen bekommen haben, dann erscheinen sie auch nicht mehr in der Abfrage. Ich muss mir da noch etwas anderes einfallen lassen, damit sowohl die Filterung als auch die Komplettanzeige geht.
Ich habe das jetzt mit einer zusätzlichen Ansicht gelöst. Da erscheinen dann alle AdressenID zusammen mit einem Stichwort - allerdings haben alle AdressenID, zu denen kein Stichwort vergeben wurde, stattdessen einen "-". Die Abfrage greift jetzt auf diese Ansicht zu.

Gruß

Robert
Dateianhänge
Adressen(3).odb
(46.38 KiB) 156-mal heruntergeladen

Re: NEU- bestimmte Felder per Makro (Schalter) leeren

von schane65 » Mo, 06.08.2012 22:03

Hallo Robert !

Wenn ich den Dateianhang von dir runterlade, funktioniert bei mir eigentlich nichts mehr. Ich bekomme nur noch zwei Datensätze angezeigt und kann auch keine anderen Felder filtern. Ich benutze OO 3.4, denke aber, daran liegt es nicht, oder?


Gruß Andreas

Re: NEU- bestimmte Felder per Makro (Schalter) leeren

von RobertG » Mo, 06.08.2012 21:31

Hallo Andreas,

ich nehme an, dass da irgendwo ein Copy-Paste-Fehler drin sein wird. Ich habe das jetzt von einer in die andere datei kopiert. Bei mir klappt es. Und auch vorher hat ja bei Dir "Adressen".* keinen Fehler ausgelöst. An dem Teil des Codes habe ich nämlich nichts geändert.

Gruß

Robert
Dateianhänge
Adressen(3).odb
(45.06 KiB) 162-mal heruntergeladen

Re: NEU- bestimmte Felder per Makro (Schalter) leeren

von schane65 » Mo, 06.08.2012 20:58

Hallo !

Das klappt leider nicht. Ich bekomme die Fehlermeldung:

Warnung!
syntax error, unexcepted INVALIDSYMBOL, Invalid symbol: "Adressen".*

Ich hänge noch mal die aktulle Datenbank an, vielleicht weiß du ja, woran es liegt.


Danke schon mal

Andreas
Dateianhänge
Adressen.odb
(44.83 KiB) 155-mal heruntergeladen

Re: NEU- bestimmte Felder per Makro (Schalter) leeren

von RobertG » Mo, 06.08.2012 17:18

Hallo Andreas,

ersetze die Abfrage "Adressen_gefiltert1" mit dem folgenden Code:

Code: Alles auswählen

SELECT "Adressen".* FROM "Adressen" WHERE UCASE( "Nachname" ) LIKE IFNULL( ( SELECT UCASE( "Nachname" ) FROM "Filter" ) || '%', UCASE( "Nachname" ) ) AND "AdressenID" IN ( SELECT "Adressen_ID" FROM "Stichworte" WHERE "Stichwort" = IFNULL( ( SELECT "Stichwort" FROM "Filter" ), "Stichwort" ) )
In der Abfrage war die Bedingung für "AdressenID" nur so gestellt, dass sie bei einem Datensatz Erfolg hatte, aber nicht bei vielen.

Gruß

Robert

Re: (gelöst) bestimmte Felder per Makro (Schalter) leeren

von schane65 » Mo, 06.08.2012 13:47

Hi Robert !

Ich muss nochmal nerven, tut mir leid, aber vielleicht kannst du ja helfen.
Da ich erst jetzt so richtig dazu komme, die Datenbank zu testen, ist mir ein weiteres Problem aufgefallen. Wenn ich ein Stichwort zwei oder mehrfach an verschiedene Personen vergebe, kann ich im Bereich "Felder zur Namens- und Stichwortsuche plötzlich nichts mehr mache. Wenn ich dort ein Stichwort abfrage, bekomme ich u.U. einen Datensatz angezeigt, danach geht aber nichts mehr. Erst wenn ich die gesamte Datenbank schließe, funktioniert es erstmal wieder.

Woran kann das denn nun liegen?


Gruß Andreas

Re: bestimmte Felder per Makro (Schalter) leeren

von schane65 » Fr, 03.08.2012 11:23

Hallo Robert !

Vielen vielen Dank. Was so ein Zeichen doch bewirken kann. Es funktioniert jetzt.



Gruß Andreas

Re: bestimmte Felder per Makro (Schalter) leeren

von RobertG » Do, 02.08.2012 17:53

Hallo Andreas,

Du hast in den Makros folgende Zeile für den Filter stehen:
""Nachname"" Like '%" & sErsterBuchstabe & "%'
Bei LIKE stehen die Zeichen % für alle möglichen Zeichen. Das bedeutet, dass Du so im Nachnamen alles filterst, egal an welcher Position. Wenn es wirklich nach dem ersten Buchstaben gehen soll, so muss das so sein:
""Nachname"" Like '" & sErsterBuchstabe & "%'

Gruß

Robert

Re: bestimmte Felder per Makro (Schalter) leeren

von schane65 » Do, 02.08.2012 14:16

Hallo Robert !

Ich habe aber noch ein Problem festgestellt:

Im Formular Adressen habe ich Schalter für jeden Anfangsbuchstaben eingebaut. Jetzt, bei der Übertragung der gesammelten Datensätze musste ich folgendes feststellen:
Wenn der Nachname mehrere Großbuchstaben enthält (z.b. ABCD als Nachname), so wird dieser Datensatz bei Betätigung von Schalter "A" dort angezeigt. Bei Betätigung des Schalters "B" taucht der Datensatz dort auch auf usw.
Das ist natürlich nicht so gut.
Kann man das ändern?

Gruß Andreas
Dateianhänge
Adressen.odb
(45.04 KiB) 139-mal heruntergeladen

Re: bestimmte Felder per Makro (Schalter) leeren NEUES PROBL

von schane65 » Mi, 01.08.2012 22:37

Hallo Robert !

Wenn doch alles immer so einfach wäre. Danke, klappt wunderbar.



Gruß Andreas

Re: bestimmte Felder per Makro (Schalter) leeren NEUES PROBL

von RobertG » Mi, 01.08.2012 14:57

Hallo Andreas,

das liegt daran, dass die Beziehungsdefinition nur eben schnell erstellt wurde:
Öfnne die Datenbank, dann im Menü Extras → Beziehungen. Doppelklick auf die Verbindungslinie. Du bekommst ein Fenster angezeigt, bei dem in den Update-Optionen und in den Lösch-Optionen jeweils "Keine Aktion" gewählt ist. Wähle darunter "Kask. Update" und "Kask. Löschen". Das sorgt dafür, dass bei einer Änderung des Primärschlüssels in der Tabelle Adressen (Update) das entsprechende Feld in der Tabelle "Stichworte" ebenfalls geändert wird, die Verbindung also nicht verloren geht. Beim Löschen des Datensatzes werden automatisch auch die dazu notierten Stichworte gelöscht. "Kask." steht für kaskadieren, d.h. von dem Primärschlüssel aus (1) zu dem Fremdschlüssel (n).

Gruß

Robert
Dateianhänge
Beziehungsdefinition_Stichworte.png
Beziehungsdefinition_Stichworte.png (47.04 KiB) 4058 mal betrachtet

Re: (gelöst) bestimmte Felder per Makro (Schalter) leeren

von schane65 » Mi, 01.08.2012 13:43

Hallo Robert !

Es ist zwar schon einige Zeit ins Land gegangen, aber ich bin lange nicht zur Umsetzung der Daten aus einer Access-Datenbank in die OpenOffice Datenbank gekommen. Dabei habe ich aber ein Problem festgestellt:
Im Formular Adressen hast du ein Tabellenkontrollfeld für die Stichworte eingebaut. Wenn ich jetzt einem vorhandenen Datensatz (Name, pp.) ein Stichwort zuordne bzw. ein neues eintrage, klappt das tadellos. Wenn ich aber nun den gesamten Datensatz der Person löschen möchte, klappt das gar nicht mehr. Ich muss zunächst alle Stichworte im Formular im Tabellenkontrollfeld händisch löschen und kann dann den Datensatz über den Schalter löschen.

Gibt es da eine andere Lösung, zumal die Datensätze mit den Stichworten als Tabellen verknüpft sind.

Danke schon mal

Gruß Andreas

Nach oben