Re: [de-users] Geändertes Listbox-Verhalten die 2.
Hallo Heiko, Selbst wenn ich ein Listenfeld mit folgenden Einträgen anlege wird die leere Zeile in der Liste nicht mit angezeigt und kann nicht mit der Maus ausgewählt werden: Listeneinträge: ;nicht abgerechnet;abgerechnet Werteliste: 0;1;2 Örks. In der Tat, leere Einträge werden in Listboxen einfach überhaupt nicht angezeigt. Egal, an welcher Stelle sie stehen. http://www.openoffice.org/issues/show_bug.cgi?id=110044 Doch, das sollte gefixt werden. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Re: OpenOffice 3.2 und Mac OS X Adressbuch
Hallo Andreas, Hilft doch auch nichts. So z.B. http://www.openoffice.org/issues/show_bug.cgi?id=108390. Priority=2, gefunden in 3.2RC2, sofort gefixt aber bis RC4 nicht integriert. Zusätzlich zu dem, was Mecthilde schon dazu gesagt hat: Der war durchaus für die Integration zum nächsten RC geplant. Leider wurde dann in dem entsprechenden CWS festgestellt, dass an einer anderen Stelle was kaputt gegangen war durch den Fix. Daraufhin haben wir für den kompletten CWS die Notbremse gezogen, und beschlossen, ihn nicht mitzunehmen. Ganz so einfach, wie es sich von außen darstellt - der wurde sofort gefixt, aber nie mitgenommen -, ist es nicht immer. Ich finde es sehr bedauerlich, vorsichtig formuliert, dass dieser Bug in der 3.2 drin ist. Mit ein wenig mehr externer Lobby-Arbeit auf relea...@ooo wäre es aber vieleicht auch zu einem späteren RC noch möglich gewesen, den (dann korrekten) Fix mitzunehmen. Die internen Möglichkeiten hatten wir schon ausgeschöpft. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] update auf base 3.2 meiden?
Hallo Robert, Ich habe es mit einer einfachen Beispieldatenbank versucht und das Fehlverhalten dort nicht nachstellen können. Falls es mir dennoch irgendwann wieder über den Weg läuft melde ich mich. Nur in meinem Dokument von gestern (Vereinsdatenbank) kann ich das Ganze reproduzieren - da muss irgendwo eine Leiche im Keller liegen ... Hat OOo es geschafft, einen Fehler-Bericht zu senden? Wenn ja, kannst Du mir gerne mal die ID sagen, vielleicht kann man da was sehen. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Re: [3.2.0 Base] geändertes Listb ox-Verhalten (Bug???)
Hallo Heiko, Der aktuelle Listbox-Eintrag definiert sich über den Inhalt der entsprechenden Spalte im aktuellen Datensatz des Formulars. reload lädt das *gesamte* Formular neu, ein refreshRow [1] sollte nur den aktuellen Datensatz neu laden. Leider funktioniert das mit Text-Feldern bei mir nicht. Diese werden nicht aktualisiert. kleines Beispiel: Ich habe ein Textfeld, in welches ich eine Zeichenfolge (Suchstring) eingeben kann, in dessen Abhängigkeit Datensätze in einer Listbox angezeigt werden. ... Sub Suchstring_2_reset() sSQL1=update Steuerung set Suchstring_2=NULL _ where ClientID = iClientID SQL_execute(sSQL1) oList_Projektauswahl.refresh() oForm_Steuerung_1.refreshRow() 'geht nicht oForm_Steuerung_1.reload() 'geht End Sub Mit dem anschließenden refreshRow bleibt der Inhalt des Textfeldes unverändert, obwohl der Wert in der Datenbank sich geändert hat. Mit reload jedoch wird der Wert aktualisiert. Ist dieses Verhalten bei Textfeldern so gewollt? Hmm, eher nicht. Müßte ich mal nachbauen und reinschauen, wozu ich aber im Augenblick eher wenig Gelegenheit habe. Versuch doch mal bitte, eine kleine Beispiel-DB zu basteln, und schreib' einen Bug in IssueZilla. Danke Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] update auf base 3.2 meiden?
Hallo Robert, Ende vom Lied: Nach mehreren weiteren Abstürzen hatte ich raus, dass, egal welche Spalte die zweite war, der Aufruf der zweiten Spalte in diesem Tabellenkontrollfeld immer zum Absturz führte - und das nur bei diesem Tabellenkontrollfeld, Und Du hast das natürlich schon in IssueZilla hinterlassen, nicht wahr? :) Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] [3.2.0 Base] geändertes Listbox- Verhalten (Bug???)
Hallo Heiko, Bisher habe ich mit folgenden Anweisungen gearbeitet die an das Ereignis Modifiziert gekoppelt sind: oListBox_1.commit() oForm.updateRow() oListBox_2.refresh() oForm.reload() Autsch, teuer. Aber das nur nebenbei. Unter OOo 3.2 wird beim ausführen von commit der ausgewählte Eintrag zurückgesetzt und die Listbox und auch das dazugehörige Datenfeld am Server ist leer. Der Typ der Spalte, an die die ListBox gebunden ist, ist nicht zufällig verschieden vom Typ der Spalte in der Fremd-Tabelle? Dann wäre das Bug 109081. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] [3.2.0 Base] geändertes Listbox- Verhalten (Bug???)
Hallo Heiko, oListBox_1.commit() oForm.updateRow() oListBox_2.refresh() oForm.reload() Autsch, teuer. Aber das nur nebenbei. Wie meinst Du denn das? Kann ich da etwas verbessern? Geht es um die vielen Datenbankanfragen durch das reload? Ja. Bin mir nicht sicher, was Du damit erreichen willst, aber ein reload des gesamten Formulares ist teuer, und kann vielleicht durch etwas Billigeres ersetzt werden. Gibt es eine Möglichkeit einen Patch oder eine gefixte Datei Version für linux vor der Veröffentlichung von 3.2.1 zu bekommen? Wenn Du weißt, wie man ein OOo baut, kann ich Dir den entsprechenden CWS (dba321a) empfehlen. Irgend etwas Fertiges zur Verfügung stellen kann ich nicht, das würde dir Legal-Abteilung nicht mögen :) Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Base: Abfragen zerstört durch Update von 2.0 auf 3.0
Hallo Marcus, Win XP Prof. SP 3 // OOo 3.0 Hallo OOo Gemeinde, nach einem Update von OOo von 2.0 auf 3.0 finde ich (in der Design-Ansicht) zerschossene Abfragen vor: ... so habe ich in der Design-Ansicht nun alle Kriterien in Kriterienzeile 1 (nebeneinander, Spalte für Spalte): Wir hatten mal einen derartigen Bug, dass die Kriterien aus der SQL-Ansicht falsch in die graphische Ansicht übersetzt wurden. Ich erinnere mich nicht mehr, wann der behoben wurde, da Du allerdings von 3.0 schreibst, und die schon ein ganzes Stückchen älter ist, sind die Chancen gut, dass es wirklich dieser Bug ist, über den Du gestolpert bist. Ich vermute, eine aktuellere Version könnt oder wollte Ihr nicht nehmen, und damit kann ich Dir leider nicht weiterhelfen, kaputt ist kaputt - und es ist Base in Deiner OOo-Version, welches kaputt ist :(. Trotzdem wäre es schön, wenn Du in mindestens der 3.1.1, besser in der 3.2 RC6 (selbst wenn Ihr diese Versionen nicht ausrollen wollt), mal ausprobieren würdest, ob das Problem da wirklich behoben ist. Nur, damit wir auf der sicheren Seite sind ... Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Maximalgröße von Formularfen stern
Hallo Robert, mit der Version 3.2 hält ja jetzt auch der einstellbare Zoom bei *.odb-Dateien bzw. den Formularen darin Einzug. Was immer noch störend erscheinen wird ist die nicht vorhersagbare, auf keinen Fall 100%ige Größe der Formulare auf dem Bildschirm. So erscheint in der Regel beim Formularstart im Hintergrund weiter das Datenbankfenster mit den anderen Auswahlmöglichkeiten, auch wenn der Nutzer eigentlich in der Hauptsache mit Formularen zu tun haben sollte und den Unterbau eher selten benötigt. Weiß jemand Abhilfe, außer: Formulare auslagern? Hmm, das scheinen mir zwei Dinge zu sein - die nicht 100%ige Größe (was meinst Du damit?), und die Tatsache, dass das Hauptfenster immer sichtbar ist. Letzteres kannst Du vermutlich mit einem ThisDatabaseDocument.CurrentController.Frame.ContainerWindow.setVisible( false ) lösen - nur halt sicherstellen, dass es auch wieder sichtbar wird, wenn das letzte Formular geschlossen wird, sonst hast Du ein Zombie-Dokument. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Base: Reihenfolge Programmablauf Makros
Hallo Robert, SUB Neu_Disable REM Der Button ButtonNeu wird auf Disabled geschaltet. oDoc=thisComponent oDrawpage = oDoc.Drawpage oForm = oDrawpage.Forms.getByName(Artikel) oFeld = oForm.getByName(ButtonNeu) oDocCrl = ThisComponent.getCurrentController() oCtlView = oDocCrl.GetControl(oFeld) oCtlView.Enable = False END SUB Einer der häufigsten Fehler, durch die Architektur zugegebenermaßen provoziert: Dein Makro ändern den Status am *Control*, nicht am *Model*. Selbst wenn Dir das Dokument gehört (im Sinne von: Dein Makro weiß, was es da tut, und hat die Kontrolle), das Control gehört Dir nicht. Es gibt diverse Gelegenheiten, bei denen andere Instanzen den Enabled-Status des Controls ändern, aus legitimen Gründen (zum Beispiel wird es während des Speicherns kurzzeitig disabled). Insofern: Was immer Du für Änderungen am Control machst, Du weißt nie, wann die überschrieben werden. oFeld.Enabled = FALSE sollte Dein Freund sein: oFeld ist das Model, und über das hast Du die Kontrolle. Das beschreibt, wie Controls, die zu diesem Model gehören, aussehen und sich verhalten sollen. Insoferm: Immer das Model verändern, nie das Control. Meine Frage: - gibt es eine Möglichkeit, eine Pause in einem Makro einzubauen? sleep, wenn ich mich richtig erinnere. Meine Frage (aus Neugier): - was läuft da im Hintergrund ab, so dass diese Pause anscheinend notwendig ist? schwer zu raten, wüßte ich so aus der Beschreibung heraus nicht. ... Was übrigens nicht funktioniert: Den Button in der GUI auf aktiviert - Nein zu stellen und dann anschließend per Makro eine Aktivierung zu erreichen. Zumindest nicht mit oCtlView.Enable = True. ... Weil das, was Du in der UI einstellst, das Model betrifft. Wenn das Model sagt, dass der Button nicht deaktiviert ist, dann ist er das auch - ohne Wenn und Aber. Wenn das Model sagt, dass der Button aktiviert ist, dann ist er das *üblicherweise* - mit den oben genannten Einschränkungen, dass es Situationen gibt, in denen das übersteuert wird. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Base hängt sich auf bei: Formu larassistent unter Schritt 3 (Subformular)
Hallo Bernd, bei mehreren Rechnern unter dem Betriebssystem Linux (opensuse 11.1; 11.2) in der 64-Bit und 32-Bit Version hängt sich OpenOffice (3.1.1)unter dem Formularassistent unter Schritt 3 (Subformular hinzufügen), reproduzierbar, auf. Tabellen hinzufügen unter Schritt 3 ist noch möglich aber nach dem aktivieren des WEITER-Button geht es eben nicht mehr weiter. Woran kann das liegen oder handelt es sich dabei um einen Fehler in OpenOffice in Verbindung mit opensuse da unter Win-XP dieser Effekt nicht auftritt. Eine mögliche (und nach aller Erfahrung nicht unwahrscheinliche) Erklärung wäre, dass die SuSE-Version von OOo immer ein paar zusätzliche Patches enthält, die leider nicht immer die eigentlich erwünschte Qualitätssicherung erfahren. Deswegen wäre das erste, was Du ausprobieren solltest, ob das Problem auch mit der OOo-Version von http://download.openoffice.org auftritt. Wenn ja, dann am besten (falls Du des Englischen halbwegs mächtig bist) einen Bug auf http://qa.openoffice.org schreiben. Wenn nein, dann mußt Du auf die Expertise dern anderen hier Mitlesenden hoffen. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Re: Makro in Base
Hi Robert, Hast Du auch überprüft, ob wirklich das korrekte Datum in die Datenbank eingetragen wird? Bei der Konvertierung zwischen Double und Datum verwenden Datenbanken den 1900-01-01 als Tag Null, während die Basic-Sprache aus bestimmten Gründen immer den 1899-12-30 als Tag Null zugrundelegt. Hast Recht, das Datum, das bei mir anschließend auftaucht, ist in dieser einfachen Version unserer Zeit um 2 Tage voraus: 27.1. statt 25.1. Einfach 2 abziehen vor dem updateDouble. Eine double-Zahl alleine ist kein Datum. Zu einem Datum wird sie erst, indem man sie zu bestimmten anderen Datum in Beziehung setzt. Das heißt, wann immer Du ein Datum als double durch die Gegen reichst, mußt Du Die über das entsprechende Benzugsdatum, und insbesondere eventuelle Underschiede im Klaren sein. Wie Andreas schon sagte, ist in Datenbanken das Bezugsdatum der 1.1.1900, in Basic der 30.12.1899. Um also ein Datum als double von einem Bezugssystem ins andere zu transportieren, mußt Du halt diesen Unterschied ausgleichen ... Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Schließen einer Datenbankdate i aus dem Formular
Hi Robert, Das Problem konnte ich auf die automatische Öffnung des Formulars zum Start der Datenbank eingrenzen: ... Habe eine neue DB erstellt, mir einer Tabelle und einem Formular, Deine beiden Makros da reingeackt, das erste an Dokument öffnen der DB gebunden, das zweite an einen Knopf im Formular. Datei öffnen = Formular wird geöffnet. (.lck-Datei ist vorhanden) Knopf im Formular drücken = DB und Formular werden geschlossen (.lck-Datei ist nicht mehr vorhanden) Mit anderen Worten: Es funktioniert hier wie erwartet. OOo 3.1.1, Windows. Kannst Du eine (minimale) DB zusammenbasteln, mit der das Problem bei Dir auftritt, und mir die zukommen lassen? Danke Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Schließen einer Datenbankdate i aus dem Formular
Hi Robert, ThisDatabaseConnection.ActiveConnection.close() Lapidare Antwort von Basic: Objektvariable nicht belegt. Als wenn keine Verbindung da ist. Argh. Da war ich gerade frisch im Büro, ohne Kaffee ... ThisDatabaseDocument statt ThisDatabaseConnection, natürlich. Tss, Dein Finden meiner Flüchtigkeitsfehler funktionierte aber auch schon mal besser :) Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Schließen einer Datenbankdate i aus dem Formular
Hi Robert, Nichts für ungut, aber so weit war ich im Testen auch schon: Da kommt nur Eigenschaft oder Methode nicht gefunden. Da fand ich Objektvariable nicht belegt schon viel schöner - so eine Meldung hatte ich bisher eher selten. Okay, Versuch Nummer 3 in dieser Sache: ThisDatabaseDocument.CurrentController.ActiveConnection.close(). Irgendwann muß ich versuchen, mir anzugewöhnen, in solchen Mails nicht schneller zu tippen als zu denken ... Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Schließen einer Datenbankdate i aus dem Formular
Hallo Robert, Kommt zu dem gleichen Ergebnis wie ich es bereits erzielt habe. Jetzt keine Fehlermeldung, aber nach dem Speicherbefehl hatte ich die ja inzwischen auch nicht mehr. OpenOffice schließt, aber die Lock-Datei bleibt weiterhin bestehen. Hmm das bedeutet, dass noch eine andere Verbindung offen ist. Ist irgendwo in Deinem Makro Code, der eine Verbindung anders als via ThisDatabaseDocument.CurrentController.connect/ActiveConnection anlegt (zum Beispiel per ThisDatabaseDocument.DataSource.getConnection( ... )), und diese Verbindung nicht korrekt aufräumt? Ich vermute, dass es irgend etwas in der Richtung ist. Was Du unabhängig davon versuchen kannst, ist, an der ActiveConnection des Controllers das SQL-Statement SHUTDOWN auszuführen. (Ich schreib' jetzt nicht den Code dafür, da vertu' ich mich nur wieder :) - Idee ist, eine Statement anzulegen, und das SQL dort reinzustopfen). Das ist eigentlich ein schmutziger Trick, und sollte nicht angewandt werden, wenn Du nicht ganz sicher bist, dass niemand mehr eine Verbindung zu der Datenbank offen hat. Aber in Deinem Szenario sollte es sicherstellen, dass die DB korrekt heruntergefahren wurde. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Zeilenformatierung Tabellen-Kontrollfeld in Formularen
Hi Robert, ein Tabellenkontrollfeld in Formularen ... Kenn jemand irgendeine Möglichkeit, den aktiven Datensatz grundsätzlich irgendwie einzufärben ... Hübsche Idee. Nein, geht im Augenblick nicht, aber wenn ich mal gar nix zu tun habe, muß ich mal schauen, wie aufwendig das wäre :) (Hey, noch ein Grund für Dich, Deinen IZ-Account wieder auszugraben, dann kannst Du einen RFE dafür schreiben :) ) Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Base: öffnen eines Formulars b eim Öffnen einer OO-B
Hallo Robert, Manchmal habe ich den Eindruck, dass Du aus didaktischen Gründen kleine Fehler einbaust, damit ich einmal genauer hinsehe und Deine nachfolgende Mail auch intensiver zur Kenntnis nehme. Neinneinein, das ist keine derartige Bösartigkeit, das ist eine ganz normale Alters-Erscheinung bei mir. So verstehe ich langsam auch einige Teile der api, die ich sonst nur im trial-and-error-Modus versucht habe. Naja, dann war es doch für was gut. Die Verbindung muss natürlich nur dann noch erfolgen, wenn sie bisher nicht erfolgte und auf das Formular wird zugegriffen, indem, wie sonst üblich, der Begriff mit einem Punkt an das übergeordnete Element gehängt wird. 'tschuldigung, das waren einfach zwei Flüchtigkeitsfehler. Ich würd' jetzt sagen kommt nicht wieder vor, aber mein Lügen-Kontingent für dieses Jahr ist schon aufgebraucht ;) Na also, geht doch. Schön. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Schließen einer Datenbankdate i aus dem Formular
Hallo Robert, ich versuche gerade für jemanden den Wunsch zu realisieren, mittels eines Buttons aus einem Formular der Datenbankdatei heraus Formular und Datei zu schließen. Das Schließen der Formulare ist mit oController = ThisDatabaseDocument.CurrentController oController.closeSubComponents kein Problem. oDoc = ThisDatabaseDocument oDoc.close(True) führt aber regelmäßig dazu, dass OpenOffice das Ganze als Absturz interpretiert Magst Du dafür einen Bug in IssueZilla schreiben? Setze ich oDoc.close(True) nach geschlossenem Formular bei der Datenbank.odb ab, so schließt sich zwar das Datenbankfenster, aber die Lock-Datei (*.lck) bleibt bestehen. Zumindest kommt aber nicht die Botschaft eines Absturzes ... Versuch' mal ThisDatabaseConnection.ActiveConnection.close() unmittelbar vor dem Schließen des Dokumentes. Bin mir nicht sicher, ob es den Absturz behebt, aber es schließt wenigstens definitert die Verbindung. Mit dem ActiveConnection aber bitte vorsichtig sein, wenn Du die zum falschen Zeitpunkt schließt, ist das potentiell Nicht Gut (TM). Also die obige Zeile bitte nicht in das Kann man jederzeit mal machen-Repertoire aufnehmen. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Re: Schließen einer Datenban kdatei aus dem Formular
Hallo Volker, Ich habe die Doku zu Openoffice.org Base so verstanden, das Base keine Macros enthalten kann. Dann ist die Doku nicht aktuell, seit 3.1 kann Base das. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Base: öffnen eines Formulars b eim Öffnen einer OO-B
Hi Robert, ich gebe zu, den Thrad nicht im Detail verfolgt zu haben, werfe aber trotzdem mal was in die Runde ... das angesprochene Makro öffnet zwar ein Formular innerhalb einer Datenbank, schafft aber irgendwie nicht die Verbindung zur Datenbank. Deshalb ist das Verfahren eigentlich nutzlos. Scheint mir so, als gäbe es keine Methode, ein nutzbares Formular beim Starten zu öffnen. Vermutlich wird dieses Beim Öffnen zu früh ausgeführt und nicht so, wie z.B. bei Webseiten, nachdem sämtlicher andere Inhalt geladen ist. Dann existiert die Verbindung zur Datenbank noch nicht und die aufrufbaren Formulare sehen zwar schön aus, sind aber nicht nutzbar. Die Verbindung wird nicht automatisch hergestellt, das muß das Makro auch machen. (Auch wenn Du das Dokument normal öffnest, wird die Verbindung ja nicht sofort hergestellt, sondern erst, wenn Du auf Tabellen klickts, oder ein Formular per UI öffnest, etc.). Versuch mal das folgende: oController = ThisDatabaseDocument.CurrentController If ( oController.isConnected() ) Then oController.connect() End If oController.loadComponent( _ com.sun.star.sdb.application.DatabaseObject,FORM, _ KinderProKG, _ FALSE ) Wenn irgendetwas im Bereich der Formulare bei Öffnen richtig funktionieren soll, dann müsste es eigentlich so etwas wie Dein ThisDatabaseDocument.FormDocuments.getByName( KinderProKG ).open sein. Das sollte prinzipiell equivalent zum dem obigen loadComponent am Controller sein, aus diversen Gründen würde ich aber die Methode per Controller empfehlen. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Re: Base: Zeilenumbruch in Unterformularen
Hallo Andreas, Ich fürchte, wir reden gegenseitig aneinander vorbei. Jedenfalls sind mehrzeilige Steuerelemente nicht in irgendeiner Form von Tabellenansicht darstellbar, weder in Tabellenkontrollfeldern noch Tabellenansicht des Formulars, in der direkten Ansicht der Tabelle bzw. Abfrage ebenfalls nicht. Der Umbruch wird dort immer zum Leerzeichen umgewandelt. Hmm? In der normalen Tabellen/Abfrage-Ansicht ist das definitiv nicht der Fall, dort werden Memo-Felder korrekt mit Zeilen-Umbruch dargestellt. Für Tabellen in Formularen würde ich das auch stark erwarten, es aber im Augenblick nicht beschwören. In beiden Fällen hängt es, wenn ich mich richtig erinnere, vom Typ der gebundenen Spalte ab, das muß ein Memo, nicht ein normales Text-Feld sein. Vergleichbares gilt für Binärfelder (Bilder), die ebenfalls nicht in Tabellenansichten angezeigt werden. Das wiederum ist richtig. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Base: öffnen eines Formulars b eim Öffnen einer OO-B
Hallo Siegfried, Kann mann beim öffnen einer OO 3.0 Datenbank sagen, das sofort ein von mir erstelltes Formular, hier Menuformular geöffnet wird. 3.0 nein, ab 3.1 sollte es die von Robert beschriebene Lösung tun. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Base Makro zum öffnen eines Form ulaes
Hallo Robert, So aus dem Kopf: ThisDatabaseDocument.Forms.getByName( Adressen ).open Ich ergänze einmal, weil ich diesen Tip prompt ausprobiert habe: ThisDatabaseDocument.FormDocuments.getByName( Adressen ).open Autsch - Danke und 'tschuldigung, es gab wohl einen Grund, warum ich aus dem Kopf geschrieben habe :-\ Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Base Makro zum öffnen eines Form ulaes
Hallo openoff...@skerra.net, Ich habe im Base ein Makro geschrieben womit ich mein erstelltes Formular mit dem Namen Adressen öffnen möchte. Dieses Makro habe ich im Internet gefunden. aber es geht nicht. Sub OpenFormAdressen OpenForm(Adressen) End Sub Das sieht ein wenig veraltet aus. Kann mir einer sagen wie mein Makro lauten muss. So aus dem Kopf: ThisDatabaseDocument.Forms.getByName( Adressen ).open Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Base Makro zum öffnen eines Form ulaes
Hallo Siegfried, ich habe eine Datenbank in Base erstellt und in diesem ein Formular mit dem Namen Hauptmenu. Auf diesem möchte ich PushButtons hinterlegen, mit denen mann dann einzelne Formulare und Berichte aufrufen kann. Mit einen Buttens möchte ich ein Makro aufrufen das z.B. das Formular Adressen öffnet. Okay, lass mich die Fragen nochmal wiederholen :) Wo ist das Basic-Makro gespeichert? Ich *vermute* in der Datenbank-Datei. Eine weitere Möglichkeit wäre das globale Basic - da gibt es ThisDatabaseDocument nicht. Allerdings hast Du auch noch nichts dazu gesagt, welche Version von OOo Du benutzt. Wenn es irgendwas vor 3.1 ist, dann a) gibt es ThisDatabaseDocument auch noch nicht und b) das Makro könnte auch noch in dem Formular selber stehen. Die andere Frage war: Was genau ist geht nicht? Wenn Du uns erzählst, was genau passiert, kann man daraus Rückschlüsse auf die Ursache ziehen. Ansonsten kann man nur raten. Oder eine fertige Lösung für Dich entwickeln, aber dazu hab'ch keine Zeit, und Du würdest nix 'bei lernen :) Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Base: Abfragen zerstört durch Update von 2.0 auf 3.0
Hi Marcus, nach einem Update von OOo von 2.0 auf 3.0 finde ich (in der Design-Ansicht) zerschossene Abfragen vor: Hmmm 3.0 ist ja nun schon ein Stückchen älter. Wahrscheinlich hast Du einen Grund, die zu nehmen, aber wenn der Bug in einer aktuellen 3.2 Beta nicht mehr auftritt (was ich vermute), dann ist die beste Antwort, die ich Dir geben kann, die Empfehlung eines Upgrades. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Re: Datenbankabfrage leer, aber nicht isNull
Hallo Robert, ich hätt diese Mail weiter lesen sollen ... Sql = SELECT recID FROM Abgang WHERE Anzahl='0' Abfrageergebnis = SQL_Anweisung.executeQuery(Sql)' Ergebnis auswerten formneu = 2 IF NOT isNull(Abfrageergebnis) THEN http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XStatement.html#executeQuery executeQuery liefert ein ResultSet, also eine Menge von Zeilen. Diese Menge kann leer sein, das Objekt, das sie repräsentiert, ist es aber nicht. Deswegen schlägt NOT isNull(Abfrageergebnis) immer zu. Wenn Du wissen möchtest, ob die Ergebnismenge leer ist, tut es wohl ein einfaches Dim bHatMindestensEinenDatensatz As Boolean bHatMindestensEinenDatensatz = Abfrageergebnis.next , denn per definitionem steht ein ResultSet immer *vor* dem ersten Datensatz, so dass das *erste* daran gerufene next auf den ersten Datensatz positioniert. Wenn es keinen solchen gibt, bewegst Du Dich unmitelbar von vor dem ersten (abfragbar mit isBeforeFirst, ansteuerbar mit beforeFirst) zu nach dem letzten (isAfterLast/afterLast). Wie alle Positionierungsmethoden liefert next TRUE, wenn Du auf einem echten Datensatz stehst, und FALSE, wenn Du auf einem der beiden virtuellen Datensätze before first/after last stehst. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Datenbankabfrage leer, aber nicht isNull
Hallo Robert, IF NOT isNull(Abfrageergebnis) THEN traf immer zu, ELSE kam nie. abhängig davon, wo Du das Abfrageergebnis her hast ... an dem selben Objekt sollte es auch ein .wasNull() geben, welches auf SQL-NULL (nicht das von Andreas beschriebene Basic-NULL) testet. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Henne-Ei-Problem mit Java
Hallo Amadeus, Starte ich jetzt OOo werde ich angmeckert, daß das JRE defekt ist. Auch das ist schließlich richtig und ich würde es gerne ändern! :) Aber - dieses Meckerfenster läßt sich nicht schließen, damit ich an den Einstellungs-Dialog komme. Das klingt ein wenig, als hättest Du (Java-)Extensions installiert, die irgendwie schon beim Starten von OOo angezogen werden. Versuch mal, das Program unopkg im program-Verzeichnis der Installation mit dem Paramter gui zu starten, und dort alle Erweiterungen zu deaktivieren. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Zugriff auf Listbox im Tabellenkontrollfeld
Hallo Robert, Ich habe jetzt einige Zeit probiert und weiter keinen Zugriff gefunden, der mir ermöglicht, die Liste einer ListBox incl. der ID-Werte der Datenbank (also ein zweidimensionales Array) irgendwo per Makro neu zu schreiben. Hmm, eigentlich solltest Du nur den Inhalt der ListSource-Eigenschaft ändern müssen. Irgendwas der Art: oListBoxModel = ... Dim aListSource as String() aListSource() = oListBoxModel.ListSource aListSource(0) = SELECT ... FROM ... WHERE ... (hier gewünschten und sich ändernden Filter eintragen) oListBoxModel.ListSource = aListSource() oListBoxModel.refresh. zentraler Einstiegspunkt in der Doku wäre wohl: http://api.openoffice.org/docs/common/ref/com/sun/star/form/component/DatabaseListBox.html#ListSourceType Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] DANKE (NotesSQL und OOo 3.2)
Halllo Marcus, vielen Dank Frank Schönheit (und allen Beteiligten). Mit der 3.2 Beta geht Dank eurem Einsatz die ODBC-Anbindung von Notes-Datenquellen an OOo über den (fehlerhaften) IBM odbc-Treiber NotesSQL wieder fehlerfrei. das hört man doch gerne :) Danke Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Datenquellen migrieren (von OOo 1.1.5 nach 3.x)
Hallo Marcus, Ich habe viele Anwender mit ausgefeilten Datenquellen (incl. vielfältiger Abfragen) aus einem OOo 1.1.5 (damals noch ohne BASE). Gibt es eine Möglichkeit, die Datenquellen (xcu-File?) nach OOo 3.x (mit BASE) zu migrieren? Uhm. Es ganz dafür einen Assistenten, aber der ist später wieder rausgeflogen. Wenn es sich um eine überschaubare Anzahl handelt, könnt Ihr Euch vielleicht eine OOo 2.x besorgen, die einmaling installieren und starten, und Euch dabei aus der Datenquellen-Konfiguration .odbs erzeugen lassen (der Assistent beim ersten Start erledigt das mit, beim Importieren der persönlichen Daten). Die .odbs sind dann mit aktuellen Versionen verwendbar. Falls das nicht machbar ist, dann ... hmm, vermutlich könnte man sich in der 1.x ein Makro stricken, welches die Daten irgendwie exportiert, und in der 3.x ein anderes Makro, welches .odbs daraus erzeugt. Das wäre aber vermutlich ein wenig Aufwand ... Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Zugriff auf Listbox im Tabellenkontrollfeld
Hallo Robert, Wenn Du also den Listen-Inhalt einschränken willst (was ich einer Deiner vorigen Mails entnehme), dann solltest Du vielleicht einfach mit einem Filter auf dem SQL-Statement für die ListBox arbeiten - das ginge völig ohne Makros. Ohne Makros? Das hieße in dem Fall aber, dass ich vom Prinzip her mehrere Formulare habe (in meinem Falle habe ich das hier mit 4 Formularen schon probiert, wollte aber die 4 Auswahlmöglichkeiten im Formular selbst haben). Hmm, okay, wenn Du den Filter öfter ändern willst, kommst Du nicht ohne Makro aus. Aber auch dann würde ich lieber den gewünschten Filter in die Command-Property der ListBox einbauen, und den Inhalt mit einem listBoxModel.refresh neu laden. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Makros: Reihenfolge von Prozeduren
Hi Robert, Kann es sein, dass, ähnlich wie in der Webprogrammierung bei AJAX, Prozedur 2 auch schon einmal vor Prozedur 1 durchgeführt wird, Nein, für Basic gibt es sowas nicht. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Zugriff auf Listbox im Tabellenkontrollfeld
Hi Robert, Ich will ein Auswahlfeld neu bestücken. Dazu habe ich gerade noch einmal das Model probiert. Dort steht mir nur SelectedItems, StringItemList und ValueItemList zur Verfügung. Das Object wird bei dbg_properties als unknown bezeichnet. Ich benötige aber eben auch die Möglichkeit, alte Items zu entfernen und neue in das Auswahlfeld zu schreiben. Dazu müßtet Du StringItemList manipulieren, das ist die Liste der Einträge. Der Nachteil gegenüber der API am Control ist, dass man hier halt nur alle Einträge als eine große Liste bekommen, und Dinge wie lösche den dritten Eintrag manuell machen muß, während es das am Control direkt gibt. Wenn Du allerdings das Control manipulierst, und nicht das Model, dann wirst Du spätestens beim Schreiben der Daten Probleme bekommen. Wenn Du zum Beispiel im Control den dritten Eintrag löschst, dann weiß das Control nichts davon. Wenn jetzt der Benutzer des Formulars den (neuen) dritten (und ehemals vierten) Eintrag selektiert, und das in die Datenbank geschrieben werden soll, dann passiert das am *Model*. Und da das nicht weiß, dass der dritte Eintrag gelöscht wurde, wird es Dir etwas Falsches schreiben. Deswegen: Sobald Daten-Anbindung bei Formular-Kontrollfeldern ins Spiel kommt, immer mit dem Model arbeiten, nie mit dem Control. Alles, was Du am Control erledigen kannst, geht prinzipiell auch am Model - nur manchmal leider etwas anders oder komplizierter. So, nach diesere Vorrede die schlechte Nachricht: Wie oben erklärt ist es eine schlechte Idee, die Listen-Einträge direkt am Control zu manipulieren. Leider ist es *auch* eine schlechte Idee, dass am Model zu tun :-\ Das Problem ist, das für ein Listenfeld zwei Listen existieren, die von Dir schon erwähnten StringItemList und ValueItemList. Erstere enthält die anzuzeigenden Texte, letztere die korrespondierenden Werte, die bei Auswahl eines Listen-Eintrages in die DB geschrieben werden. Du müßtest also beide immer konsistent halten - was nicht funktioniert, weil die ValueItemList nur zum Lesen, aber nicht zum Schreiben gedacht ist, da der Inhalt implizit aus der DB gefüllt wird. Wenn Du also den Listen-Inhalt einschränken willst (was ich einer Deiner vorigen Mails entnehme), dann solltest Du vielleicht einfach mit einem Filter auf dem SQL-Statement für die ListBox arbeiten - das ginge völig ohne Makros. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Zugriff auf Listbox im Tabellenkontrollfeld
Hallo Robert, ich versuche gerade auf Listboxen in einem Tabellenkontrollfeld eines Formulars zuzugreifen. Allerdings wirft mich das Makro jedes Mal raus, wenn ich SelectItem bzw. SelectedItem abfragen will - Objektvariable nicht belegt. Mein Zugriffsversuch: odoc=thisComponent odrawpage=odoc.drawpage oform=odrawpage.forms.getByName(Hauptform) ouform=oform.getbyName(Subform) oGrid=ouform.getbyName(Grid) DocCrl = ThisComponent.getCurrentController() oControl=oGrid.getByName(LB1) oControl_Z=oGrid.getByName(LB2) oListBox = DocCrl.GetControl(oControl) mySelect = oListBox.SelectedItem bei mySelect bleibt das Ganze jedes Mal stehen. Weiß jemand, ob das Unterfangen überhaupt mit einem Tabellenkontrollfeld möglich ist? aus dem Kopf, weil es zu spät am Abend ist, als dass ich noch nachschauen wollte :) : Am Controller wirst Du kein Control für eine Grid-Spalte bekommen, dessen Wissen hört auf der Ebene der Controls auf - also beim Grid Control selber. Du kannst Dir aber das Grid Control besorgen (DocCrl.getControl( oGrid )), und an diesem mittels getByIndex eine Art Control für die entsprechende Grid-Spalte abholen. eine Art, weil diese Objekte keine richtigen Controls sind, weil einige der Aspekte von Controls für Grid-Spalten nicht sinnvoll sind. Aber SelectedItems etc. ist dort auch verfügbar. *allerdings* ... wie immer gilt eigentlich, dass man solche Dinge wie SelectedItems nicht über das Control, sondern über das Model abfragen sollte: Auch das Model (also oControl resp. oControl_Z) hat eine Property SelectedItems. Sowohl für das Model als auch das Control der Spalte (ersteres nennt Dein Makro oControl, weswegen wir hier vielleicht ein Terminologie-Problem haben :) gilt, dass immer der Zustand der aktuellen Zeile widergespiegelt wird. Wenn sich also der Datenbank-Cursor auf einen anderen Datensatz ändert, ändern sich auch die entsprechenden Eigenschaften dieser Objekte. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Re: Base: per Makro erstellter Kontrollfeldinhalt nicht speicherbar
Hi Andreas, Mit ostamp.Text = now() versuchst Du einen Basic-Datentyp als text an ein Datenbankfeld zu übergeben. Okay, ich hätte meine Antwort nicht ganz so fix schreiben sollen :) http://api.openoffice.org/docs/common/ref/com/sun/star/sdb/XColumnUpdate.html#updateTimestamp basicTime = Now() unoTime = createUnoStruct(com.sun.star.util.DateTime) Dann schreibst Du die Zeiteinheiten in das Struct. unoTime.Year = Year(basicTime) und so weiter, und schließlich: updateTimestamp(unoTime) Yep, so sollte es gehen. Danke Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Base: per Makro erstellter Kontrollfeldinhalt nicht speicherbar
Hallo Robert, Sub Stamp DIM odoc AS OBJECT DIM odrawpage AS OBJECT DIM oform AS OBJECT DIM ostamp AS OBJECT odoc=thisComponent odrawpage=odoc.drawpage oform=odrawpage.forms.getByName(MainForm) ostamp=oform.getByName(Stamp) ostamp.Text = now() End Sub Der Timestamp erscheint in dem Formularfeld Stamp. Der Speicherbutton zeigt allerdings nicht an, dass das Formular diese Änderung wahrnimmt. ... Wie erreiche ich, dass Formularinhalte auch von der Speicherfunktion übernommen werden? Eine meiner Lieblings-Fallen ... :-\ ostamp.BoundField.updateString( now() ) Was Dein Makro ändert, ist der Inhalt des Kontrollfeldes, nicht der Inhalt der entsprechenden Spalte der Tabelle/Abfrage. An die kommst Du mit BoundField ran. In einem lebenden Formular gibt es eine Instanz (den FormController), der dafür sorgt, dass zum richtigen Zeitpunkt der Inhalt des Kontrollfeldes in die Datenbank-Spalte übernommen wird, wenn Du das programmatisch machst, mußt Du eben gleich an die richtige Stelle schreiben. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Datumsändern in Datumsfeld ei nes Baseformulars über Mausrad deaktivieren
Hallo Thomas, ich verwende Openoffice in der Version 3.1.1 unter WinXP und habe folgende Frage: Ist es möglich, das an sich nützliche Feature das Datum in einem Datumsfeld eines Formulars von Base mittels Mausraddrehung zu verändern zu deaktivieren und wenn ja wie? In 3.1.1 nicht, in 3.2, von der es demnächst eine Beta gibt, ja - da gibt es dann einen Eintrag im Eigentschaften-Dialog dafür. Ciao Frank -- - Frank Schönheit, Software Engineer frank.schoenh...@sun.com - - Sun Microsystems http://www.sun.com/staroffice - - OpenOffice.org Base http://dba.openoffice.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org