Autor Thema: Felder löschen  (Gelesen 5605 mal)

Offline Felix

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
  • Es ist noch kein Meister vom Himmel gefallen!
Felder löschen
« am: 11.11.02 - 11:10:08 »
Hallo zusammen,

habe ein kleines Problem beim löschen von Felder;

Verständnisfrage:
die Felder werden nur in dem jeweiligen Dok gelöscht ??
nicht in der Maske ?? Bei neuem Anlegen mit der Maske stehen
alle Felder zur Verfügung ?? ??

Formellösung:
beim speichern des Doks soll geprüft werden ob Feld1 einen
bestimmten Wert enthält falls ja sollen die Felder 2 bis 5
gelöscht werden ansonsten nichts tun.

Kann jemand helfen stehe momentan total auf dem Schlauch !!!!!!!

Gruss Felix

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Felder löschen
« Antwort #1 am: 11.11.02 - 11:32:04 »
Hi,


Zitat
Verständnisfrage:
die Felder werden nur in dem jeweiligen Dok gelöscht ??
nicht in der Maske ?? Bei neuem Anlegen mit der Maske stehen
alle Felder zur Verfügung ?? ??

Die Felder werden nur im jeweiligen Dokument gelöscht und nicht in der Maske. Somit stehen Sie für alle neuen Dokumente zur Verfügung.


Zitat
Formellösung:
beim speichern des Doks soll geprüft werden ob Feld1 einen
bestimmten Wert enthält falls ja sollen die Felder 2 bis 5
gelöscht werden ansonsten nichts tun.


Versuch's mal so:

@If(Feld1 = "bestimmter Wert"; ""; @Return(""));
FIELD Feld2 := @DeleteField;
FIELD Feld3 := @DeleteField;
FIELD Feld4 := @DeleteField;
FIELD Feld5 := @DeleteField;

Axel



Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Felix

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
  • Es ist noch kein Meister vom Himmel gefallen!
Re:Felder löschen
« Antwort #2 am: 11.11.02 - 11:38:55 »
Wo füge ich die Formel am besten ein??
Im Querysave hat die Formel keine Wirkung.

Felix
« Letzte Änderung: 11.11.02 - 11:44:52 von Felix »

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Felder löschen
« Antwort #3 am: 11.11.02 - 11:45:39 »
Hi,

wenn die Formel beim Speichern ausgeführt werden soll, dann muß die Formel in das QuerySave-Event der entsprechenden Maske.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Felix

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
  • Es ist noch kein Meister vom Himmel gefallen!
Re:Felder löschen
« Antwort #4 am: 11.11.02 - 13:03:16 »
Hallo @all,

leider immer noch nicht den gewünschten Erfolg bei der Geschichte
Hat jemand eine Lösung parat ?

Felix

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Felder löschen
« Antwort #5 am: 11.11.02 - 13:25:41 »
Felix,

das "Löschen" leerer Felder ist in jeder Hinsicht irgendwie ein falscher Ansatz. Ich weiß nicht, aus welcher DB technischen Ecke dieser Gedanke kommt (Du denkst hierbei sicherlich an leere Datenfelder zB in einer Oracle Db die natürlich Platz verbrauchen oder ganz simpel in Access, oder?).

Aber: Notes benötigt für nicht besetzte Datenfelder 0 Byte. Daher spielt das Lschen keine Rolle in diesem Bezug, wenn es um irgendwelche vermeintlichen Vorteile geht.

Wenn Du nun meinst, daß dem nicht so ist, weil Du im Lesemodus über Dokumenteneigenschaften die Felder dennoch einsehen kannst (wenn auch leer), dann täuscht Du Dich, da hierbei Notes lediglich die zugrundeliegende Form Just in Time zieht und dem User anzeigt. Feld für Feld, unabhängig ob gesetzt oder nicht. So zB Felder mit der Eigenschafte Displayed for View werden im Frontend zur Laufzeut gezogenund berechnet. Aber, datentechnisch verbrauchen sie nix.
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Felder löschen
« Antwort #6 am: 11.11.02 - 13:26:40 »
Hi,

versuch's doch mal mit der Scriptlösung im QuerySave-Event:


Dim doc As NotesDocument

Set doc = source.Document

If doc.Feld1(0) = "bestimmter Wert" Then
  Call doc.RemoveItem("Feld2")
  Call doc.RemoveItem("Feld3")
  Call doc.RemoveItem("Feld4")
  Call doc.RemoveItem("Feld5")
End If

Das sollte aber jetzt funktionieren.

Axel



Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Felder löschen
« Antwort #7 am: 11.11.02 - 13:29:33 »
Alex, sind diese anderen Felder berechnet und abhängig von Feld 1 oder wie ist das ?
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Felder löschen
« Antwort #8 am: 11.11.02 - 13:42:32 »
@Rob

Es wird, beim Speichern der Wert des Feldes Feld1 geprüft. Ist er, wie im Beispiel "bestimmter Wert", so werden die Felder Feld2, Feld3, Feld4 und Feld5 aus dem Dokument entfernt.


Das ist was Felix haben wollte. Allerdings in Script, da ja die Formellösung nach seinen Angaben nicht funktioniert hat. Warum auch immer, das kann ich im Moment nicht nachvollziehen.

Zitat
Formellösung:
beim speichern des Doks soll geprüft werden ob Feld1 einen
bestimmten Wert enthält falls ja sollen die Felder 2 bis 5
gelöscht werden ansonsten nichts tun.
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Felix

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
  • Es ist noch kein Meister vom Himmel gefallen!
Re:Felder löschen
« Antwort #9 am: 11.11.02 - 13:49:11 »
Andere Formulierung,

der User hat die möglichkeit über die Dialogliste einen
Wert auszuwählen.
Leider geht der User von hinten nach vorne vor und wählt
somit Werte in die Felder die auch im Feld übernommen werden.

Bei Auswahl des Feld1 werden die anderen Felder
ausgeblendet aber die Werte bleiben stehen.

So, ich möchte bei Auswahl von Feld1 bei bestimmtem Wert die
anderen Felder löschen da diese nicht leer sind.

Leider funzt bis jetzt keine Lösung.

Felix

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Felder löschen
« Antwort #10 am: 11.11.02 - 14:05:45 »
Hi,

so ganz ist die Sache noch nicht klar. Heisst das im Klartext, dass es in deiner Maske 5 Felder (Feld1 - Feld5) gibt, in der der User Werte über Dialoglisten auswählt. Diese Werte sollen in ein einzelnes Feld übernommen werden und zwar in der Art, dass bei einem bestimmten Wert in Feld1, nur Feld1 übernommen wird, sonst die Werte aus Feld 2 - 5. Ist das so richtig? Soll das Ganze erst beim Speichern geschehen? Ist dieses einzelene Feld berechnet?


Axel

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Felix

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
  • Es ist noch kein Meister vom Himmel gefallen!
Re:Felder löschen
« Antwort #11 am: 11.11.02 - 14:36:52 »
Hallo Axel,

nicht ganz so komplex.

Der user hat die Möglichkeit über 5 Felder
die einer Hierarchie folgen von oben nach
unten Daten einzugeben. Je nach Eingabe
erscheinen die Felder oder bleiben ausgeblendet.

Dem User fällt aber nach dem fünften Feld
dann plötzlich ein er will die oberst Kategorie
ändern und tut dies auch. Die unteren Felder
werden ausgeblendet aber die Werte bleiben
stehen.
Ich möchte nun die Felder löschen sobald
der User auf speichern geht, da diese ja
eh ausgeblendet sind.

Ich dachte an eine Formel die den Wert des
ersten Feldes abfragt und prüft sollte der
Wert PinNews heissen und das zweite Feld
Ungleich leer sein dann lösche die Felder.

Felix

Offline Felix

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
  • Es ist noch kein Meister vom Himmel gefallen!
Re:Felder löschen
« Antwort #12 am: 11.11.02 - 14:53:27 »
Hi,

versuch's doch mal mit der Scriptlösung im QuerySave-Event:


Dim doc As NotesDocument

Set doc = source.Document

If doc.Feld1(0) = "bestimmter Wert" Then
  Call doc.RemoveItem("Feld2")
  Call doc.RemoveItem("Feld3")
  Call doc.RemoveItem("Feld4")
  Call doc.RemoveItem("Feld5")
End If

Das sollte aber jetzt funktionieren.

Axel


Habe gerade versucht mit:

If doc.Feld1(0) = "bestimmter Wert" + doc.feld2(0) <> "" Then
  Call doc.RemoveItem("Feld2")
  Call doc.RemoveItem("Feld3")
  Call doc.RemoveItem("Feld4")
  Call doc.RemoveItem("Feld5")
End If


leider geht nicht, dass bestehende "falsche" Doks
dann richtig ohne die nicht benötigten Felder
erneut gespeichert werden.

Felix

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Felder löschen
« Antwort #13 am: 11.11.02 - 15:05:09 »
Hi,

dein Code sieht doch richtig aus. Ausserdem schreibst du:

... dann richtig ohne die nicht benötigten Felder erneut gespeichert werden.

Zitat
leider geht nicht, dass bestehende "falsche" Doks
dann richtig ohne die nicht benötigten Felder
erneut gespeichert werden.

Ich verstehe das so, dass das Dokument dann ohne die nicht benötigten Felder gespeichert wird.

Wo liegt denn genau das Problem.

Axel

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Felix

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
  • Es ist noch kein Meister vom Himmel gefallen!
Re:Felder löschen
« Antwort #14 am: 11.11.02 - 15:17:20 »
Ja Axel,

so sollte es sein; ist aber nicht so.

Die Felder sind immer noch vorhanden.

Und bei bereits falsch gespeicherten Doks
hat das Script keine Wirkung.

Felix

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Felder löschen
« Antwort #15 am: 11.11.02 - 15:39:53 »
Hi,

versuch's mal mit der Lösung:

Dim doc As NotesDocument

Set doc = source.Document

If doc.Feld1(0) = "PinNews" And doc.Feld(0) <> "" Then
  doc.Feld2 = ""
  doc.Feld3 = ""
  doc.Feld4 = ""
  doc.Feld5 = ""
End If

Das hab ich getestewt und es hat funktioniert. Die Felder sind zwar im Dokument noch vorhanden, aber leer. Das sollte aber nicht stören.

Axel

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Felix

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
  • Es ist noch kein Meister vom Himmel gefallen!
Re:Felder löschen
« Antwort #16 am: 13.11.02 - 07:45:57 »
Hi Axel,

danke dir das hat geklappt.
Das löschen des Inhalts reicht eigentlich aus.

Da es aber 5 Felder sind sollte ich die 5 Felder in die
If Verknüpfung einbringen oder gibt es da noch eine andere Lösung??

Soweit habe ich dieses genannt Script im Querysave im
Einsatz.

Felix

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Felder löschen
« Antwort #17 am: 13.11.02 - 08:08:30 »
Hi,

du musst die IF - Abfrage entsprechend erweitern. Eine andere Möglichkeit ist mir nicht bekannt.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Felix

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
  • Es ist noch kein Meister vom Himmel gefallen!
Re:Felder löschen
« Antwort #18 am: 13.11.02 - 09:03:34 »
OK Axel,

DANKE

Felix

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Felder löschen
« Antwort #19 am: 13.11.02 - 09:26:16 »
Was ich jetzt nicht verstanden habe, Felix, meintest Du
die Felder löschen oder einfach nur leeren ?

Ciao
Don Pasquale

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz