Autor Thema: Wie werde ich das Feld $Tabellenname wieder los?  (Gelesen 2440 mal)

Offline PLi

  • Frischling
  • *
  • Beiträge: 42
  • Geschlecht: Männlich
Wie werde ich das Feld $Tabellenname wieder los?
« am: 20.08.15 - 17:18:43 »
Hallo zusammen!

Ich habe eine Maske mit einer Tabelle mit Tabs, welche im letzten Reiter der Tabelleneigenschaften den Namen Tabellenname hat.
Bei den Zeilen der Tabelle ist als Zeilen-Tags im letzten Reiter der Tabelleneigenschaften bei der ersten Tabellenzeile eine 1, bei der zweiten Zeile eine 2 usw. eingetragen.

Dass ich programmatisch die Tabellen-Tabs durch setzen einer 1, 2, 3 usw. wechseln kann bekomme ich ja sehr gut hin.
z.B.
@SetField($Tabellenname ; "1");
@Command([RefreshHideFormulas])

Allerdings habe ich das Problem, dass beim Speichern des Dokuments im Dokument ein Feld $Tabellenname gespeichert wird, was zur Folge hat, dass zum einen das Dokument in dem Tab geöffnet wird in dem es gespeichert wurde, aber was noch schlimmer ist, wenn das Dokument im Bearbeitenmodus geöffnet wird, dann verursacht ein simples Umschalten zwischen den Tabs beim Schließen des Dokuments schon die Frage, ob die Änderungen gespeichert werden sollen.

Nun habe ich schon versucht im Querysave Event der Maske das Feld wieder zu löschen
Sub Querysave(Source As Notesuidocument, Continue As Variant)
   Dim doc As NotesDocument
   Set doc = Source.Document
   Call doc.RemoveItem("$Tabellenname")
End Sub

allerdings wird es trotzdem mit gespeichert.

Ich habe mir zwar so beholfen, dass der Wert von $Tabellenname immer "1" ist, aber lieber wäre es mir, wenn ich das Feld ganz los werden würde.

Wer hat eine tolle Idee?
Ihr seid ja nur neidisch weil diese leisen Stimmen nur zu mir sprechen...

Offline cebolina

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
Re: Wie werde ich das Feld $Tabellenname wieder los?
« Antwort #1 am: 20.08.15 - 17:40:31 »
Server: Lotus Domino 9.0.1FP4 HF70
Client: Release 9.0.1FP6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Wie werde ich das Feld $Tabellenname wieder los?
« Antwort #2 am: 20.08.15 - 22:54:09 »
Neben dem Tipp, die Tabellenstellensteuerung in ein Computed-for-display-Feld auszulagern, hier noch der Grund, warum Dein RemoveItem in die Hose gehen muss:
Du machst das im Im QuerySave der Maske. Also Frontend ... Dein Code wird aber für das Backend ausgeführt (Souce.Document) und dann noch nicht einmal gespeichert. Das wäre aber auch wurscht, Banane - denn nach dem "Query"Save folgt das wirkliche Frontend-Save - mit dem, was dem FRONTend bekannt ist. Und heh - das hat das Item doch noch und schreibt es fröhlich auf die Platte (Backend).
Das ist wohl jedem schon passiert (und besonders lustig wird das, wenn RichText-Felder und -Items (beachte den Unterschied!) im Spiel sind. Da muss man immer nachdenken, was da WIRKLICH passiert (und dann ist das ganz logisch), aber das ist zugegebenermassen auch nicht ganz einfach.

Zur Beruhigung: In anders ausgeprägter Form haben mit diesem "Kampf Front- gegen Backend" alle modernen Middlewares zu kämpfen. Wenn ich SharePoint-Kollegen (als Beispiel) so sehe, dann denke ich oft: Wir haben es (auch dank längerer Community-Erfahrung) immer noch um einiges einfacher.

Bernhard

Offline DominoDancing

  • Aktives Mitglied
  • ***
  • Beiträge: 141
  • Geschlecht: Männlich
  • Kugel im Käfig, lsmf, hurz ...
Re: Wie werde ich das Feld $Tabellenname wieder los?
« Antwort #3 am: 21.08.15 - 11:41:56 »
Hallo Peter Lichtensteiner, Prinz der Liebe, PaprikaLimette, Poland included oder was immer PLi bedeuten mag, ;D

ja, der Bernhard ist so'ne Art Torsten und hat deshalb immer Recht. ;D Aber das ist ja auch kein Wunder, der hat hier schon mehr Beiträge geschrieben als ich Tage gelebt habe. So 'ne Art Methusalem also. ;D Das Feld 'Berechnet zur Anzeige' zu machen habe ich selbst noch nicht ausprobiert, klingt aber so als könnte das funktionieren.

In einer Anwendung, in der ich die Tabellenstellensteuerung auch verwende, führt jedoch das reine Wechseln zwischen den Tabellenreitern beim Schließen des Dokuments noch nicht zur Abfrage, ob die Änderungen gespeichert werden sollen, obwohl das Feld bei mir auch 'Berechnet' ist. Erst das Entering eines Feldes (unabhängig ob vor oder nach dem Wechsel des Tabellenreiters) führt dann beim Schließen zu dieser Abfrage. Vermutlich ist also die Frage, ob der Cursor in einem Feld (oder wie bei mir auf einem Abschnitt) positioniert ist. Soll heißen: vielleicht ist es auch ausreichend, den Cursor so zu positionieren, dass er nicht in einem Feld steht?! Aber natürlich ist 'Berechnet zur Anzeige' chicer, wenn's funktioniert.

Liebe Grüße
René
... ich fühl' mich so ... Regenbogen ... ;D
... man muss die Ursache des Problems finden ... oder eine Tüte Glitzerfeenstaub ...
... Ich bin rhythm, I'm a dancer und I don't like Influenzer ...

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz