Autor Thema: Feldinhalt ersetzen  (Gelesen 3785 mal)

Offline macom111

  • Senior Mitglied
  • ****
  • Beiträge: 293
  • Geschlecht: Männlich
  • Anfänger in der Datenbankentwicklung!!!
Feldinhalt ersetzen
« am: 25.03.04 - 14:16:54 »
Hallo zusammen,

gibt es die Möglichkeit, den Feldinhalt durch einen anderen Wert auszutauschen?
Beispiel: Meine Ansicht enthällt eine Spalte "Haendler".
Alle Dokmente (ca.1600) haben hier eine "0", bzw. eine"1" stehen. Ich möchte einen Agenten laufen lassen, der mir die "1" durch ein "X" ersetzt und wenn möglich die "0" löscht.
 ???
Schon mal Danke im vorraus für Eure Tipps!
Siggi

klaussal

  • Gast
Re:Feldinhalt ersetzen
« Antwort #1 am: 25.03.04 - 14:30:51 »
ansicht bauen, die nur die docs enthält, wo eine "1" drinne ist.
agenten bauen mit einer "einfachen aktion" <-- feldwert ändern in "x", soll für alle docs in der ansicht gelten, etc).
agent starten. fertig.
analog das gleiche spiel für das zweite feld.

Driri

  • Gast
Re:Feldinhalt ersetzen
« Antwort #2 am: 25.03.04 - 14:43:28 »
Jo, das ist ein einfacher Agent.

@If(Feld="0"; @SetField("Feld"; ""); Feld="1"; @SetField("Feld"); "X"; "")


Edit : Ich sehe gerade Klaussals Vorschlag. Wenns zwei Felder sind, dann gilt die obige Formel nicht. Ich hatte es so verstanden, daß Du in einem Feld entweder 0 oder 1 stehen hast.
« Letzte Änderung: 25.03.04 - 14:44:47 von Driri »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Feldinhalt ersetzen
« Antwort #3 am: 25.03.04 - 14:44:56 »
Das geht sich einfacher:
Je nachdem, ob in Deiner Ansicht bereits alle in Frage kommenden Doks befinden oder nicht, einen Formel-Agent bauen, der auf
- ausgewählte Dokumente oder
- alle Dokumente in der Datenbank
wirkt.

Dort folgende Formel (unter der Massgabe, dass Dein Feld "Haendler" heisst):

FIELD Haendler := @If (Haendler = "1"; "X"; Haendler = "0"; ""; Haendler);
@All

Fertig. In einem Durchlauf werden alle Doks geupdated. Gibt es einen Fall "Haendler nicht 1 und nicht 0", dann macht der Agent nix.

HTH,
Bernhard

klaussal

  • Gast
Re:Feldinhalt ersetzen
« Antwort #4 am: 25.03.04 - 14:58:30 »
... oder bei OBI  ;)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Feldinhalt ersetzen
« Antwort #5 am: 25.03.04 - 15:47:42 »
Oder bei OBI ... was ?

Offline macom111

  • Senior Mitglied
  • ****
  • Beiträge: 293
  • Geschlecht: Männlich
  • Anfänger in der Datenbankentwicklung!!!
Re:Feldinhalt ersetzen
« Antwort #6 am: 25.03.04 - 23:12:32 »
Erst mal Danke @All.
Bernhards Lösung ist für mich die richtige gewesen.
Ich bin auch fast selbst auf die Formel gekommem; hatte
nur nicht geschnallt, daß ich vor dem @If das := setzen muß.
Jetzt gibt´s nur noch ein Problem:
Die Formeln von Bernhard und Klaussal lassen sich nur in Feldern
Anwenden, in denen nur Text od. Text und Zahl enthält.
Nur Zahlen lassen sich nicht ändern.

Bei Anwendung von Berhards Formel steht im Protokoll des
Agenten:
"Agent 'Händler' wurde am 25.03.2004 21:44:20 gestartet
Bearbeitet alle Dokumente in der Ansicht: 1626 insgesamt
1626 Dokumente gefunden, die die Suchkriterien erfüllen
1626 Dokument(e) wurden durch die Formel geändert
Agent 'Händler' wurde am 25.03.2004 21:44:20 beendet"

Geändert wird jedoch nichts!

Bei Anwendung von Klaussals Formel steht im Protokoll des
Agenten:
"Agent 'X' wurde am 25.03.2004 22:39:07 gestartet
Bearbeitet alle Dokumente in der Ansicht: 1626 insgesamt
1626 Dokumente gefunden, die die Suchkriterien erfüllen
Fehler: Text kann nicht in eine Zahl umgesetzt werden
Fehler: Text kann nicht in eine Zahl umgesetzt werden
Fehler: Text kann nicht in eine Zahl umgesetzt werden
Fehler: Text kann nicht in eine Zahl umgesetzt werden" usw.

(Eigentlich will ich ja eine Zahl in Text umsetzen)

Bei Ausführung dieses Agenten erscheint zuerst folgende Meldung:

"Speicheranforderung über 65,000 Byte."

Jetzt habe ich versucht, in der Maske alle Felder als Text-Felder
zu deklarieren und dann die Daten zu Importieren - bringt alles nichts.

Ich denke, es hat wohl was damit zu tun, wie die Daten aus Access
übernommen werden.
In neu erstellten Dokumenten funktioniern die Formeln einwandfrei!

Ich habe schon einmal versucht, Daten aus einer anderen AccessDB zu importieren und stehe auch dort vor dem selben Problem.

Hat dazu noch jemand eine Idee? Ansonsten werde ich wohl aufgeben.

Siggi

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Feldinhalt ersetzen
« Antwort #7 am: 25.03.04 - 23:17:21 »
Wenn die Daten mal in den Dokumenten drin sind, werden Aenderungen an der Maske, im Gegensatz zu MS-Abzess, in den Dokumenten nicht mehr geändert.

Versuche mal mit folgender Formel:

FIELD Haendler := @If (@Text(Haendler) = "1"; "X"; @Text(Haendler) = "0"; ""; Haendler);
@All
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Feldinhalt ersetzen
« Antwort #8 am: 25.03.04 - 23:52:18 »
Irgendwie haben wir hier mal das "übliche" Problem: Leute, nennt doch bitte von Anfang an den Kernpunkt Eures Problems ! Schreibt lieber etwas mehr, und kommt nicht "hinterher" mit der Meldung "Das war alles nicht so gemeint !".
Zitat
haben hier eine "0", bzw. eine"1" stehen
"0" und "1" sind TEXTwerte, und darauf haben wir uns dann "weisungsgemäss" gestürzt. Plötzlich geht es um Zahlen, obwohl
Zitat
Die Formeln von Bernhard und Klaussal lassen sich nur in Feldern Anwenden, in denen nur Text od. Text und Zahl enthält.
Nur Zahlen lassen sich nicht ändern.
Äh, was ? Text und Zahl ja, aber Zahl nicht ?

Leute, wir unterbrechen hier unsere Arbeit, mit denen wir unseren Lebensunterhalt verdienen, um Euch zu helfen ! Daher bitte: Drückt Euch so klar wie möglich aus und leistet die minimale Denkarbeit in Vorbereitung Eures Postings - in den allermeisten Fällen helft Ihr Euch dabei sowieso schon selber !

Sorry, Siggi, dass es jetzt gerade Deinen Thread "erwischt" hat, aber das musste jetzt (mal wieder) mal gesagt werden. Ich schätzte dieses Forum zu sehr, als dass ich in den Status "ich antworte nur auf hochgestochene Fragen" ausweichen möchte.

Bernhard

Offline macom111

  • Senior Mitglied
  • ****
  • Beiträge: 293
  • Geschlecht: Männlich
  • Anfänger in der Datenbankentwicklung!!!
Re:Feldinhalt ersetzen
« Antwort #9 am: 25.03.04 - 23:55:14 »
Jo, das war´s.

Darum hat´s vermutlich auch nie mit der anderen AccessDB funktioniert. Scheint so, als werden grundsätzlich alle Daten als Text importiert.

Vielen Dank!
 :D
Gruß
Siggi

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Feldinhalt ersetzen
« Antwort #10 am: 25.03.04 - 23:58:36 »
Siggi, das ist aber nicht so. Hier wurden ganz offensichtlich Zahlenfelder produziert und in dem Sinne ist meine Abwandlung an der Formel nicht unbedingt der Weisheit letzter Schluss, bei reinen Zahlenfeldern liesse sich der Vergleich natürlich auch auf Zahlenbasis durchführen. Allerdings hat dieses Vorgehen hier den Vorteil, dass es keine Rolle mehr spielt, ob das Feld als Zahlenfeld oder als Textfeld vorliegt.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline macom111

  • Senior Mitglied
  • ****
  • Beiträge: 293
  • Geschlecht: Männlich
  • Anfänger in der Datenbankentwicklung!!!
Re:Feldinhalt ersetzen
« Antwort #11 am: 26.03.04 - 23:36:10 »
Ich bitte vielmals um Entschuldigung, wenn ich mich unklar ausgedrückt habe.
Und es macht mir auch nichts aus, daß es meinen Thread erwischt hat (Bernhard).
Bin ja auch selbst Schuld, wenn ich mich so dödelhaft ausdrücke.
Aber ich denke, es ist auch nicht immer leicht, (zumindest für mich)
das Problem genau zu beschreiben.
Werde aber in Zukunft versuchen, mir mehr Mühe zu geben.

Habe auf jedenfall einiges dazugelernt und die Formel von Jens
läßt sich für meine Zwecke fast universell einsetzen.

Habe auch mittlerweile für den Datenimport aus der AccessDB eine andere Lösung gefunden. Lest bitte meinen aktuellen Thread im Problem-Forum "Datum richtig anzeigen".
Derartige Probleme dürften sich für mich in Zukunft hoffentlich erledigt haben.

Trotzdem nochmals vielen Dank für die Hilfe.
Ich hoffe, ich darf Euch auch in Zukunft Nerven ... wenn´s denn sein muß.

Gruß
Siggi

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Feldinhalt ersetzen
« Antwort #12 am: 26.03.04 - 23:57:34 »
No problem, Bernhard ist hier tatsächlich etwas übers Ziel hinausgeschossen, mit Deinem Hintergrund wars nicht möglich, besser zu informieren - denke ich mal. Und Du bist sehr schnell dem Problem auf die Spur gekommen und Deine Lösung ist gut

Vielen Dank dafür, dass Du im anderen Thread Deine Lösung offengelegt hast, das kann anderen Benutzern wieder gut weiterhelfen.

Da hab ich nur noch eine ganz kleine Bitte: Setze den Thread doch noch auf Erledigt. Danke
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Feldinhalt ersetzen
« Antwort #13 am: 27.03.04 - 00:13:18 »
No problem, Bernhard ist hier tatsächlich etwas übers Ziel hinausgeschossen

Ich denke, gerade hier bin ich nicht über's Ziel hinausgeschossen, denn Siggi hat ja darauf hervorragend reagiert und seine Schlüsse daraus gezogen. Daher mein Dank an Siggi, der davon bestimmt auch etwas hat  :)

Bernhard

PS: Siggi - always welcome !

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz