Re: [de-users] Base Datumsfeld ohne automatischen Eintrag was: Base Feldtypen
Hi, Marc Santhoff schrieb: Am Di, den 15.02.2005 schrieb Marcus Troester um 23:05: Sub resetDateField(Event as Object) if !ThisComponent.DrawPage.Forms.GetByName(Standard).isNew Then if Event.Source.isNew Then Event.Source.GetByIndex(0).GetByName(Col12).BoundField.updateNull() end if end if End Sub Natürlich muß der Control- und Spaltenname angepaßt werden ... Okay, statt ! xxx schreibst Du NOT xxx. das macht er. Standard ersetze ich durch die Bezeichnung, des Form-Feldes im Menü: Form Properties - General - Name? Kann sein, ich arbeite mit OOo1.1, da geht es so: Formular öffnen, Bearbeitungsmodus einschalten, Entwurfsmodus einschalten, ein Formularfeld markieren, damit die Symbolleiste sichtbar wird, Formularnavigator öffnen. Dann sieht man die Hirarchie beginnend mit Formular und dem ersten Unterknoten, der normalerweise Standard heißt (bei der deutschen und englischen Version). Das ist der hier gefragte Name. wo der Wert standardmäßig auch standard gesetzt ist? Jap, das meinte ich auch. Einfacher ist vielleicht ThisComponent.DrawPage.Forms(0).IsNew Damit benutzt man immer das erste Formular. Die Dinger können aber nicht nur Unterformulare sondern auch mehrere Hauptformulare enthalten. auch das habe ich mal versucht. Und Col12 durch die entsprechende Zeile im Tabellendesign? Öhm, Du stellst Fragen. Dazu müßte man jetzt wissen, welcher Service von Event.Source zurückgegeben wird. Ich sepekuliere mal, daß es das Formularelement ist, in dem das Datum im Formular angezeigt wird. Dessen BoundFiled, also das dazugehörige Feld in der DB-Tabelle auf OOo-Seite wird auf bzw. Null gesetzt. Wobei ich mich Frage, ob man nicht einfach das Datumseingabefeld (Control) leer setzen kann ... meinst du: Event.Source.GetByIndex(0).GetByName().BoundField.updateNull() Also ich habe es jetzt auch mit Geburtsdatum versucht, dass ist der FielName in der Tabelle und auch der Control Name, zu finden über Rechtsklick über dem Formularfeld - Control - General - Name Auch habe ich es mit Col15 Versucht, weil der Feldname Geburtsdatum in der Tabelle in der 15. Spalte liegt. Insgesamt hat nichts hingehauen. :( Es gab mal ein Tutorium für SO5.2, dessen erste AUsgabe auch ien Kapitel über dieses Thema hatte. Vielleicht gibt es das bei Sun noch, allerdings vermutlich ohne Kapitel 4 -Datenbanken. von Sun habe ich zu Basic und SO7 das hier gefunden: http://docs.sun.com/app/docs/doc/817-3924 Gruß Marcus - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [de-users] Base Datumsfeld ohne automatischen Eintrag was: Base Feldtypen
Am Mi, den 16.02.2005 schrieb Marcus Troester um 13:03: [...] Standard ersetze ich durch die Bezeichnung, des Form-Feldes im Menü: Form Properties - General - Name? Kann sein, ich arbeite mit OOo1.1, da geht es so: Formular öffnen, Bearbeitungsmodus einschalten, Entwurfsmodus einschalten, ein Formularfeld markieren, damit die Symbolleiste sichtbar wird, Formularnavigator öffnen. Dann sieht man die Hirarchie beginnend mit Formular und dem ersten Unterknoten, der normalerweise Standard heißt (bei der deutschen und englischen Version). Das ist der hier gefragte Name. wo der Wert standardmäßig auch standard gesetzt ist? Jap, das meinte ich auch. Vorsicht, Groß-/Kleinschreibung beachten, aber sonst okay. Einfacher ist vielleicht ThisComponent.DrawPage.Forms(0).IsNew Damit benutzt man immer das erste Formular. Die Dinger können aber nicht nur Unterformulare sondern auch mehrere Hauptformulare enthalten. auch das habe ich mal versucht. Und Col12 durch die entsprechende Zeile im Tabellendesign? Öhm, Du stellst Fragen. Dazu müßte man jetzt wissen, welcher Service von Event.Source zurückgegeben wird. Ich sepekuliere mal, daß es das Formularelement ist, in dem das Datum im Formular angezeigt wird. Dessen BoundFiled, also das dazugehörige Feld in der DB-Tabelle auf OOo-Seite wird auf bzw. Null gesetzt. Wobei ich mich Frage, ob man nicht einfach das Datumseingabefeld (Control) leer setzen kann ... meinst du: Event.Source.GetByIndex(0).GetByName().BoundField.updateNull() Also ich habe es jetzt auch mit Geburtsdatum versucht, dass ist der FielName in der Tabelle und auch der Control Name, zu finden über Rechtsklick über dem Formularfeld - Control - General - Name Auch habe ich es mit Col15 Versucht, weil der Feldname Geburtsdatum in der Tabelle in der 15. Spalte liegt. Also ich hatte mal ein ähnliches Problem, nämlich ein ID-Feld mit einem generierten Schlüssel virzubelegen. Das habe so gelöst (und weiß, das es funktioniert hat ;): ' Gebunden an: ' Form Standard.Nach dem Zurücksetzen sub FillInIfNew dim oDoc as object dim oForm as object oDoc = thisComponent oForm = oDoc.drawpage.forms(0) if oForm.isNew then FillInKey() endif end sub ' Wird nach Eingabe ins Kategorienamen-Feld ' aufgerufen und schreibt automatisch den Schlüssel Sub FillInKey dim key as string dim oDoc as object dim oForm as object dim oField as object key = DB_Basis.newGlobalDBKey() oDoc = thisComponent oForm = oDoc.drawpage.forms(0) oForm.updateString(1, key) end sub Wobei klar sein sollte, das key = DB_Basis.newGlobalDBKey() natürlich den Wert erzeugt und zurückgibt. Der Wert in der vorletzten Zeile bei updateString(1, key) ist die Spaltennummer in der zugrunde liegenden Tabelle. Also müßte bei Dir etwas wie oForm.updateNull(die Spaltennummer, beginnend mit eins) den Job tun. Insgesamt hat nichts hingehauen. :( Wird schon noch ... Es gab mal ein Tutorium für SO5.2, dessen erste AUsgabe auch ien Kapitel über dieses Thema hatte. Vielleicht gibt es das bei Sun noch, allerdings vermutlich ohne Kapitel 4 -Datenbanken. von Sun habe ich zu Basic und SO7 das hier gefunden: http://docs.sun.com/app/docs/doc/817-3924 Steht denn da was zu dem Thema drin? Wenn ja: Lesen. ;) Gruß, Marc - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [de-users] Base Datumsfeld ohne automatischen Eintrag was: Base Feldtypen
Am Di, den 15.02.2005 schrieb Marcus Troester um 23:05: Hallo zusammen, Hi Marcus, [...] Sub resetDateField(Event as Object) if !ThisComponent.DrawPage.Forms.GetByName(Standard).isNew Then if Event.Source.isNew Then Event.Source.GetByIndex(0).GetByName(Col12).BoundField.updateNull() end if end if End Sub Natürlich muß der Control- und Spaltenname angepaßt werden ... Bei mir beschwert er sich zunächst über das ! Okay, statt ! xxx schreibst Du NOT xxx. Standard ersetze ich durch die Bezeichnung, des Form-Feldes im Menü: Form Properties - General - Name? Kann sein, ich arbeite mit OOo1.1, da geht es so: Formular öffnen, Bearbeitungsmodus einschalten, Entwurfsmodus einschalten, ein Formularfeld markieren, damit die Symbolleiste sichtbar wird, Formularnavigator öffnen. Dann sieht man die Hirarchie beginnend mit Formular und dem ersten Unterknoten, der normalerweise Standard heißt (bei der deutschen und englischen Version). Das ist der hier gefragte Name. Einfacher ist vielleicht ThisComponent.DrawPage.Forms(0).IsNew Damit benutzt man immer das erste Formular. Die Dinger können aber nicht nur Unterformulare sondern auch mehrere Hauptformulare enthalten. Und Col12 durch die entsprechende Zeile im Tabellendesign? Öhm, Du stellst Fragen. Dazu müßte man jetzt wissen, welcher Service von Event.Source zurückgegeben wird. Ich sepekuliere mal, daß es das Formularelement ist, in dem das Datum im Formular angezeigt wird. Dessen BoundFiled, also das dazugehörige Feld in der DB-Tabelle auf OOo-Seite wird auf bzw. Null gesetzt. Wobei ich mich Frage, ob man nicht einfach das Datumseingabefeld (Control) leer setzen kann ... Auch war es mir nicht möglich, das Makro nachzuvollziehen, da mir die Begriffe wie DrawPage Forms etc. nichts sagen. Ein markieren des Wortes und drücken von F1 brachte mich genauso wenig weiter, wie eine gezielte Suche in der Hilfe. Zu 1.9.x kann ich nichts beitragen, (vielleicht prüft das jemand anders?) aber: Ein Formular ist bisher ein Dokument, in dessen DrawPage (Zeichnungsseite?) die Formulare aufbewahrt werden, ist bei writer, calc, ... so. Jedes Formular ist eine Behälter und besitzt ein oder mehrere Elemente (Knöppe, Eingabefelder, etc.), die darin angeordnet sind. Das kann man im Formularnavigator schön sehen. In der DrawPage landen AFAIR auch Zeichnungselemente (Shapes) wie Linien, Rechtecke usw. SOlche Strukturen sind im DevelopersGuide erklärt. Bei den Anleitungen im Netz fand ich zwar auch leicht verständliche. Die befassten sich aber ausschließlich mit den Grundbegriffen also nicht mit dem Austausch von Werten aus Tabellen/Dokumenten etc. Und die Anderen die ich fand, welche dieses beinhalteten, waren gleich so komplex, dass das nichts mehr für mich war. Eine Erklärung der vermutlich einfachen Begriffe war mir daher nicht möglich. Es gab mal ein Tutorium für SO5.2, dessen erste AUsgabe auch ien Kapitel über dieses Thema hatte. Vielleicht gibt es das bei Sun noch, allerdings vermutlich ohne Kapitel 4 -Datenbanken. Andere Materialien kann ich aus dem Stand auch nicht benennen. Zumindest keine, die die Strukturen erklären... HTH, Marc - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]