Hallo !
Ich hab eine Frage (eigentlich zwei, aber ich stell die wahrscheinlich einfachere zuerst):
Ich benutze seit geringer Zeit Base (OpenOffice 4.0, unter Windows 7) und möchte im Moment eine Bibliotheksdatenbank für meine Bücher erstellen. Bei der Erstellung der Tabelle kann man bei Feldeigenschaften auch Defaultwerte angeben für jedes Feld.
Ich habe nun neben normalen Feldern wie Autor, Titel, Verlag auch zwei Felder mit Nummern, eines genannt „Notation“, das andere „Signatur“. Normalerweise entspricht die Signatur auch der Notation (ist also im Normalfall identisch, aber nicht immer).
Ich möchte mir nun die Arbeit ein wenig erleichtern und frage deshalb, ob es eine Möglichkeit gibt, im Feld „Signatur“ immer automatisch das einzutragen, was vorher unter „Notation“ eingetragen wurde. Es soll jedoch auch immer noch die Möglichkeit vorhanden sein, die „Signatur“ dann mit einer anderen zu überschreiben, falls „Notation“ und „Signatur“ doch einmal voneinander abweichen sollten.
Ich stelle mir das so vor, dass man wohl in „Defaultwert“ des Feldes „Signatur“ statt einem konkreten Text eine Art Formel eingeben muss, die sagt: „Übernimm den Wert, der im Feld ‚Notation‘ eingetragen wird“.
Ich hab schon das Forum ein bisschen durchsucht und dann gelesen, sowas soll irgendwie mit Makros gehen, aber aus dem Handbuchkapitel über Makros, das ich runtergeladen habe, werde ich nicht schlau. (Ich habe bislang auch keine Erfahrung mit Makros)
Kann mir jemand weiterhelfen ?
Automatischer Defaultwert aus anderem Feld
Moderator: Moderatoren
Re: Automatischer Defaultwert aus anderem Feld
Hi,
ein kleines Makro, an das Formularereignis "vor der Datensatzaktion" gebunden, hilft:
Damit das Makros laufen darf, stellst du unter Extras/Optionen/Openoffice.org oder LibreOffice.org/Sicherheit/Makrosicherheit mindestens die Stufe "Mittel" ein, dann wirst du beim Öffnen von Dokumenten gefragt, ob du Makros ausführen möchtest.
Anbei eine Beispieldatei.
Gruß R
ein kleines Makro, an das Formularereignis "vor der Datensatzaktion" gebunden, hilft:
Code: Alles auswählen
Sub s_insert_default_signatur
oform = thiscomponent.drawpage.forms.getbyname("MainForm")
sNotation = oform.getstring(oform.findcolumn("Notation"))
if oform.getstring(oform.findcolumn("Signatur")) ="" then
oform.updatestring(oform.findcolumn("Signatur"),sNotation)
end if
End Sub
Anbei eine Beispieldatei.
Gruß R
- Dateianhänge
-
- Auto_Signatur.odb
- (13.26 KiB) 90-mal heruntergeladen
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO