Re: [de-users] Base Datumsfeld ohne automatischen Eintrag was: Base Feldtypen

2005-02-16 Diskussionsfäden Marcus Troester
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

2005-02-16 Diskussionsfäden Marc Santhoff
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

2005-02-15 Diskussionsfäden Marc Santhoff
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]