💚 BITTE helfen Sie uns NOCH HEUTE mit einer SPENDE 💚
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Sprungfunktion erstellen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
paola93
Beiträge: 6
Registriert: Do 3. Aug 2017, 14:50

Sprungfunktion erstellen

Beitrag von paola93 » Do 3. Aug 2017, 15:07

Hallo Liebe Leute,

Ich beschäftige mich mit LibreOffice und eine Fragebogen zur Programmiren durch Datenbank. Es ist mir sehr wichtig eine Sprungfunktion zu erstellen aber es klappt irgendwie nicht. Vlt. weiß ich nicht so genau alle Steps für eine Sprungfunktion zu erstellen?
Das ist das Script aber ich verstehe nicht wo meine Fehler ist:

SUB JumpToNext(oEvent AS OBJECT)
DIM oField AS OBJECT
DIM oForm AS OBJECT
DIM oDoc AS OBJECT
DIM oController AS OBJECT
DIM oView AS OBJECT
oField = oEvent.Source.Model
IF oField.State = 1 THEN
oForm = oField.Parent
oDoc = thisComponent
oController = oDoc.getCurrentController()
oView = oController.getControl(oForm.getByName(oField.Tag))
oView.setFocus
END IF
END SUB

Ich habe Erfahrung mit Matlab und Javascript aber wenn ich Javascript in LibreOffice zu benutzen versuche, geht es irgendwie nicht. Kann ich script von MatLab in LibreOffice exportieren?! Ich bin leider Anfängerin bei Macrosache ;)

Kann mir jemanden helfen?!

Vielen lieben Dank

Gruß
Paola

RobertG
Beiträge: 2735
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Sprungfunktion erstellen

Beitrag von RobertG » Do 3. Aug 2017, 15:33

Hallo Paola,

die Prozedur geht davon aus, dass sie über ein Markierfeld oder über ein Optionsfeld (rundes Feld, mehrere Optionen alternativ wählbar) ausgelöst wird. Der Status dieses Feldes wird über

Code: Alles auswählen

oField.State = 1
abgefragt. Nur wenn das Feld aktiviert wurde (true/1), dann wird dort der Sprung vollzogen. Ansonsten passiert beim Anklicken des Markierfeldes oder Optionsfeldes nichts.
In den Zusatzinformationen des Markierfeldes ist verzeichnet, nach wohin der Sprung gehen soll.

Code: Alles auswählen

oForm.getByName(oField.Tag)
oField.Tag = Zusatzinformationen des Feldes.
oForm.getByName = Feld, das in dem gleichen Formular liegt. Hier ist der Name des Feldes einzutragen. Den kannst Du über die Feldeigenschaften > Allgemein > Name raus bekommen.

Welche Fehler tauchen denn bei der Prozedur auf, wenn Du sie starten lässt? Wo bleibt die Prozedur stehen?

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

paola93
Beiträge: 6
Registriert: Do 3. Aug 2017, 14:50

Re: Sprungfunktion erstellen

Beitrag von paola93 » Do 3. Aug 2017, 16:32

Lieber Robert,

Vielen Dank, das ist sehr hilfsreich!

Es steht dass die Fehler ist hier:

Basic Laufzeitfehler. Das argument ist nicht optional:

oField = oEvent.Source.Model

Gruß

Paola

RobertG
Beiträge: 2735
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Sprungfunktion erstellen

Beitrag von RobertG » Do 3. Aug 2017, 16:49

Hallo Paola,

es sieht so aus, als wolltest Du das Makro über Extras > Makros > Makro ausführen starten. Das Makro versucht aber, über das auslösende Ereignis das Formularelement zu ermitteln. Du musst das Makro also an eins der Ereignisse des Formularelementes binden und dann auf das Element klicken (Ja/Nein-Felder). Schau Dir einmal in dem Dir vorliegenden Beispiel an, an welcher Stelle über das Formularelement das Makro ausgelöst wird.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

paola93
Beiträge: 6
Registriert: Do 3. Aug 2017, 14:50

Re: Sprungfunktion erstellen

Beitrag von paola93 » Fr 4. Aug 2017, 09:15

Hallo Robert,

Vielen Dank. Doch hat jetzt ab sofort geklappt!!!! Dankeschön :)))) Ich habe jetzt das Mechanismus verstanden!

Ich habe noch eine Frage über die Tabelle in Excel und eventuell später in SPSS zu transportieren oder exportieren. Geht es auch über Macro auch? Ich möchte nicht immer Copy Paste machen weil ich viel Daten habe. Ich vermute dass ich auch eine Script programmieren muss. Hast du zufällig eine Beispiel Script oder Tipps und Hinweiese wie funkzuniert es?

Herzlichen Dank!!!

Beste Grüße

Paola

RobertG
Beiträge: 2735
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Sprungfunktion erstellen

Beitrag von RobertG » Fr 4. Aug 2017, 19:31

Hallo Paola,

wenn Du nur eine Möglichkeit suchst, die Daten in eine noch nicht bestehende Tabellenkalkulationsdatei zu bekommen, dann würde ich Dir raten, einen Bericht zu erstellen. Beim Erstellen musst Du darauf achten, dass das Ausgabeformat kein Textdokument, sondern ein Tabellendokument wird.

So einen Bericht kannst Du auch von einem Formular aus über einen Button starten, gegebenenfalls auch direkt mit einem entsprechend zu vergebenden Namen abspeichern.

... oder geht es darum, die Daten für eine Weiterverarbeitung in eine Tabellenkalkulationsdatei zu befördern?

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

paola93
Beiträge: 6
Registriert: Do 3. Aug 2017, 14:50

Re: Sprungfunktion erstellen

Beitrag von paola93 » Mo 7. Aug 2017, 09:20

Hallo Robert,

ja, es geht darum, die Daten in einen Tabellenkalkulationsdatei zu befördern. Um genau zu sein, geht es darum, von fünf bis zehn Laptops die Daten am Ende in einer Tabelle zu haben. Da wir in diesem Fall offline arbeiten, müssen wir einen manuellen Weg finden.

Vielen Dank!

Gruß

Paola

RobertG
Beiträge: 2735
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Sprungfunktion erstellen

Beitrag von RobertG » Mo 7. Aug 2017, 10:38

Hallo Paola,

wenn Du das nur zum Schluss einmal brauchst, dann kannst Du auch die jeweiligen Tabellen kopieren (Kontextmenü, wenn Du eine Tabelle markiert hast) und dann in einer Calc-Datei einfügen.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

paola93
Beiträge: 6
Registriert: Do 3. Aug 2017, 14:50

Re: Sprungfunktion erstellen

Beitrag von paola93 » Mo 7. Aug 2017, 11:05

Hallo Robert,

es geht darum, dass wir am Ende jedes Tages von allen 10 Rechnern die Daten exportieren, da sie auf den Endgeräten selber aus Datenschutzgründen gelöscht werden müssen. Aus diesem Grund suchen wir nach einer automatisierten Lösung, auch um Flüchtigkeitsfehler zu vermeiden.

Ich bin Dankbar für alle Ideen oder Denkanstöße,

Liebe Grüße,

Paola

RobertG
Beiträge: 2735
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Sprungfunktion erstellen

Beitrag von RobertG » Mo 7. Aug 2017, 15:16

Hallo Paola,

ich hatte so etwas einmal für die Kopie von einer Datenbank in eine andere hergestellt. Das könnte gegebenenfalls abgewandelt werden. Ich hänge einmal die Beispieldateien an.

In der QuellDB befindet sich ein Makro. Das Makro kopiert die Inhalte der Tabelle der Quelldatenbank in die Tabelle der Zieldatenbank. Gestartet wird das aus dem Formular der Quelldatenbank.

In der Zieldatenbank sollte der Primärschlüssel am besten automatisch geschrieben werden. Das ist bei dem Beispiel nicht der Fall. Auch könnte anschließend die Tabelle in der Quelldatenbank geleert werden, so dass dem Datenschutz genüge getan wird.

Gruß

Robert
Dateianhänge
Datenkopie_Quelle_Ziel.zip
(13.41 KiB) 114-mal heruntergeladen
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten