Nachträgliches Ändern/Ergänzen des Formulares

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Benutzeravatar
herz4
****
Beiträge: 145
Registriert: Mi, 29.09.2010 13:41

Re: Nachträgliches Ändern/Ergänzen des Formulares

Beitrag von herz4 »

Soll das ID-Feld automatisch oder manuell geschrieben werden? Wenn sich automatisch empfiehlt im Tabellenentwurf ändern! Dann braucht's auch nicht mehr angezeigt werden.
LinuxMint 13 maya, LibreOffice 4.1 mit externer HSQLDB 2.3.2
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Nachträgliches Ändern/Ergänzen des Formulares

Beitrag von turtle47 »

Hallo,
panograf hat geschrieben:Wie mache ich diese Änderung?
Schau mal hier nach wie das beim Tabellenentwurf geht.

Viel Erfolg.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Benutzeravatar
herz4
****
Beiträge: 145
Registriert: Mi, 29.09.2010 13:41

Re: Nachträgliches Ändern/Ergänzen des Formulares

Beitrag von herz4 »

Es erscheint mir nicht in Deinem Sinne, den Primärschlüssel auf das Feld Anrede zu legen: damit müssen sich alle Datensätze in der Anrede unterscheiden! Das Feld ID ist doch sicherlich als Primärschlüssel gedacht ...

Bevor Formulare "rannkommen", bitte erst mit Tabellen umgehen lernen - nicht "vorlernen" - wie in der Schule!
LinuxMint 13 maya, LibreOffice 4.1 mit externer HSQLDB 2.3.2
gogo
*****
Beiträge: 207
Registriert: Mi, 10.11.2010 13:11

Re: Nachträgliches Ändern/Ergänzen des Formulares

Beitrag von gogo »

Versuch mal das:

Code: Alles auswählen


Global DieseDB_Dateiname as String
Global DieseDB_Reg_Name as String
Global DieseDB_Pfad as String
Global DieseDB_Pfad_Und_Name as String


sub Initialisieren

DieseDB_Dateiname = "Adressen.odb"
DieseDB_Reg_Name = "Adressen"
DieseDB_Pfad = "c:\"
DieseDB_Pfad_Und_Name = "c:\Adressen.odb"

msgbox DieseDB_Pfad_Und_Name & " ist initialisiert!"


    dbFrame=StarDesktop.currentComponent
    oDataSource = dbframe.datasource
    oConnection = oDataSource.getConnection("","")
    dim Args(1) as new com.sun.star.beans.PropertyValue   
    Args(1).name = "OpenMode"
    Args(1).value = "open"
    Args(0).name = "ActiveConnection"
    Args(0).value = oConnection
    oForms = oDataSource.DataBaseDocument.getFormDocuments
    oForms.loadcomponentfromURL( "Adresseneingabeformular", "_Default", 63, Args()) 

end sub

Dann gehst Du unter Extras/Anpassen auf den Index "Ereignisse" und weist dem Punkt "Dokument öffnen" das Makro "Initialisieren" zu. Unten bei "Speichern in" sollte nicht OpenOffice.org, sondern Deine Datenbank stehen. Beim Öffnen der Datenbank wird dann das Makro "Initialisieren" ausgeführt, und in der letzten Zeile 'oForms.loadcomponentfromURL( "Adresseneingabeformular", "_Default", 63, Args())' wird dann das Formular "Adresseneingabeformular" geöffnet.


Die 4 Global-Definitionen und Wertzuweisungen sowie die Msgbox kannst Du natürlich weglassen, das benutze ich nur weil ich in den meisten Datenbaken dieselben Makros verwende und nicht immer die Strings umschreiben will und daher mit den Global-Variablem arbeite.

g
g
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
gogo
*****
Beiträge: 207
Registriert: Mi, 10.11.2010 13:11

Re: Nachträgliches Ändern/Ergänzen des Formulares

Beitrag von gogo »

panograf hat geschrieben: wie man direkt das fertige Formular zum Eintragen bzw. für Suchfunktionen öffnet.
Man wird doch das Base-StartFenster, das man auch für die Erstellung von Tabellen bekommt, überspringen können?
... genau das macht der Codeschnipsel von oben.

Um zu wissen wie Du Deine AdressDB öffnen kannst wäre es hilfreich Dein Bertiebssystem zu kennen.
Die Datenbank hat übrigens immer die Dateierweiterung ".odb" (OpenOfficeDataBase). ".odt" ist ein OpenOfficeText-Dokument, und die werden natürlich im Writer geöffnet ... ".ods"-Dateien sind OpenOfficeSpreadsheet-Dokumente die werden im Calc geöffnet ;)

g
g
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
gogo
*****
Beiträge: 207
Registriert: Mi, 10.11.2010 13:11

Re: Nachträgliches Ändern/Ergänzen des Formulares

Beitrag von gogo »

Aber ich will doch mit dem Klick auf ".odb" NICHT auf die Erstellungsebene.
Wenn Du in der "Erstellungsebene" das tust was ich oben beschrieben habe, dann wird beim nächsten Öffnen der odb-Datei das gewünschte Formular automatisch geöffnet werden.

mit:

Code: Alles auswählen


   Dim odok as object
   Dim oDokView as object

    odok=ThisComponent
    oDokView = oDok.CurrentController.Frame.ContainerWindow
    oDokView.Visible = FALSE
kannst Du die "Erstellungsebene" ausblenden. Einfach das Codeschnipsel oben in das Makro "Initialisieren" reinkopieren, sollte gehen.

g
g
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Nachträgliches Ändern/Ergänzen des Formulares

Beitrag von DPunch »

Aloha
panograf hat geschrieben:Ich habe aber inzwischen gelesen, dass man dabei die Datenbank NICHT durchblättern kann?
Wenn Du die Base-Ansicht gar nicht sehen willst, speicher das Formular extern, dann wird dies per Writer geöffnet und erlaubt trotzdem Eingaben in die Datenbank.
Zum "Durchblättern" kannst Du ebenfalls ein Formular mit nur einem Tabellkontrollfeld erstellen, das sieht dann im Endeffekt fast genauso aus wie der Doppelklick auf eine Tabelle unter Base.
Wenn Du das überhaupt mit "Durchblättern" meinst.

Im Übrigen kann ein User doch über Formular-Eingaben genausoviel Unsinn anrichten, wie über die "Erstellungsebene".
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Nachträgliches Ändern/Ergänzen des Formulares

Beitrag von DPunch »

Erstell Dir Dein Formular, geh auf Datei -> Kopie Speichern unter, speicher das Formular.
Nun öffnest Du die neu erstellte Datei, gehst in den "Entwurfsmodus" und setzt die Verknüpfungen neu (zuerst Formular -> Daten -> Datenquelle und Tabelle, dann die vorhandenen Felder).
Je nach Bedarf deaktivierst Du unter Formular... noch Optionen wie Hinzufügen, Ändern und Löschen.
Der Nachteil dabei: ohne Verwendung von Makros muss die Datenbank registriert sein.
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Nachträgliches Ändern/Ergänzen des Formulares

Beitrag von DPunch »

panograf hat geschrieben:"Erstell Dir Dein Formular, geh auf Datei -> Kopie Speichern unter, speicher das Formular." OK, da wird nur das Dateiformat ".odt" angeboten
Natürlich, Formulare sind ja auch Textdokumente.
panograf hat geschrieben:"Nun öffnest Du die neu erstellte Datei," also die Textdatei mit dem Writer öffnen (?)
Richtig.
panograf hat geschrieben:"gehst in den 'Entwurfsmodus' " hmmm,... noch nicht gefunden.
Standardmässig in der Symbolleiste "Formular-Entwurf" das zweite Icon von links (für genaues Aussehen des Icons siehe OpenOffice-Hilfe per F1 -> Suchbegriff "entwurfs").
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Nachträgliches Ändern/Ergänzen des Formulares

Beitrag von DPunch »

Ansicht -> Symbolleisten -> Formular-Entwurf

1.JPG
In dieser Symbolleiste das 2. Icon von links

2.JPG
Antworten