Seite 1 von 1
Re: Nachträgliches Ändern/Ergänzen des Formulares
Verfasst: So, 14.11.2010 17:12
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.
Re: Nachträgliches Ändern/Ergänzen des Formulares
Verfasst: So, 14.11.2010 18:16
von turtle47
Hallo,
panograf hat geschrieben:Wie mache ich diese Änderung?
Schau mal
hier nach wie das beim Tabellenentwurf geht.
Viel Erfolg.
Jürgen
Re: Nachträgliches Ändern/Ergänzen des Formulares
Verfasst: So, 14.11.2010 18:45
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!
Re: Nachträgliches Ändern/Ergänzen des Formulares
Verfasst: Mo, 15.11.2010 11:50
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
Re: Nachträgliches Ändern/Ergänzen des Formulares
Verfasst: Di, 16.11.2010 11:12
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
Re: Nachträgliches Ändern/Ergänzen des Formulares
Verfasst: Di, 16.11.2010 13:46
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
Re: Nachträgliches Ändern/Ergänzen des Formulares
Verfasst: Di, 16.11.2010 15:53
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".
Re: Nachträgliches Ändern/Ergänzen des Formulares
Verfasst: Di, 16.11.2010 16:21
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.
Re: Nachträgliches Ändern/Ergänzen des Formulares
Verfasst: Di, 16.11.2010 17:51
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").
Re: Nachträgliches Ändern/Ergänzen des Formulares
Verfasst: Di, 16.11.2010 18:42
von DPunch
Ansicht -> Symbolleisten -> Formular-Entwurf
1.JPG
In dieser Symbolleiste das 2. Icon von links
2.JPG