Autor Thema: Felder in diversen Datensätzen automatisch ändern  (Gelesen 2364 mal)

Offline Remy9999

  • Junior Mitglied
  • **
  • Beiträge: 53
  • Geschlecht: Männlich
  • ALLES wird gut :-))
Hallo,

ich schon wieder..

Ich versuche mich an einer Datenbank, bei der ich in einer Maske (Kundeneinheiten) die Kundennummern von diversen Kunden habe. Für jede Kundennummer gibt es in der Maske ein eigenes Feld, wobei nicht zwingend jedes Feld gefüllt ist, da nicht jeder Kunde alle Vorgaben erfüllt. Weiterhin haben alle diese Kunden (so denn vorhanden) jeweils einen eigenen Datensatz, der auch genau durch diese Kundennummer definiert ist.

Jetzt möchte ich durch eine Aktion in alle diese genau definierten Datensätze in ein Feld einen Wert schreiben, der in der Maske Kundeneinheiten als Sammelbegriff für diese Einheit definiert ist.

Habe das ganze über eine Aktion versucht ->
  _temp = KD_Eng_neu; 
  @Command([OpenView];"Haupt";KD_alt1);
  @Command([EditDocument]);
  FIELD KD_Eng_neu := _temp;
  @Command([FileSave]);
  @Command([CloseWindow])...
klappt aber nur bis zum ersten Dokument, d.h. das wird geöffnet, der Dateninhalt geschrieben, aber die Speicherung funtkioniert schon nicht mehr.

Da ich Script so gut wie gar nicht beherrsche - stehe ich ein wenig auf dem Schlauch.  ???

Kann mir jemand einen Tipp geben??

Martin
______________________
WinDoof / 120 Clients / 8.53

Mitch

  • Gast
Re: Felder in diversen Datensätzen automatisch ändern
« Antwort #1 am: 20.09.10 - 12:00:42 »
Bau dir einen Agenten. Das geht dann sogar über die "Einfachen Aktionen". Neuen Agenten erstellen, Namen vergeben, Aktion hinzufügen...

Ist sogar per Default alles so eingestellt wie du es brauchst.

Dann einfach die Dokumente in einer Ansicht markieren und den Agenten über das "Aktionen"-Menü starten.

Agenten danach wieder entfernen.


Äääh, so einfach natürlich nur wenn du einen festen Wert reinschreiben willst. Aber das willst du ja gar nicht, hatte ich überlesen.

Aber im Prinzip das gleiche: Einfache Aktion "@Formel ausführen" und das eingeben:

FIELD NeuesFeld := AltesFeld;
@True
« Letzte Änderung: 20.09.10 - 12:05:46 von Mitch »

Offline Remy9999

  • Junior Mitglied
  • **
  • Beiträge: 53
  • Geschlecht: Männlich
  • ALLES wird gut :-))
Re: Felder in diversen Datensätzen automatisch ändern
« Antwort #2 am: 20.09.10 - 13:16:06 »
Hallo,

gedacht hatte ich mir das auch so - das Problem ist aber, dass ich ja das Feld bei den verschiedenen Kunden, also in bis zu 6 Datensätzen ändern muss - und mein Problem ist, dass ich diese Datensätze ja über die Aktion nicht genau definieren kann.

Darum der Versuch, den Datensatz mit OpenView zu selektieren und dann das Feld zu ändern.

Martin
______________________
WinDoof / 120 Clients / 8.53

Offline Grischu

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
Re: Felder in diversen Datensätzen automatisch ändern
« Antwort #3 am: 20.09.10 - 14:30:10 »
Wie wäre es damit ?


Code
_temp := KD_Eng_neu; 
unids:= @DbLookup("":"NoCache";"":"";"Haupt";KD_alt1;[RETURNDOCUMENTUNIQUEID]);
@For(i := 1; i < @Elements(unids); i := i + 1;@SetDocField(unids[i];KD_Eng_neu;_temp))

Hab ich nur so schnell zusammengeschrieben also bitte noch testen bevors auf die scharfe Datenbank geht :)
Twitter is eine typische Erscheinung der Generation ADS & SMS. Für einen Brief zu faul, für einen kompletten Satz zu dumm und für korrekte Grammatik zu cool.

Offline Remy9999

  • Junior Mitglied
  • **
  • Beiträge: 53
  • Geschlecht: Männlich
  • ALLES wird gut :-))
Re: Felder in diversen Datensätzen automatisch ändern
« Antwort #4 am: 21.09.10 - 09:28:16 »
mmhh, danke für den Tip mit dblookup - aber funzt irgendwie nicht.

Wahrscheinlich habe ich mich auch unklar ausgedrückt:
- wie gesagt habe ich für jede KundenNr. ein eigenes Feld, mit unterschiedlichen Namen. Ich möchte aus der Maske heraus, z.B. den/die Kundensatz(e) KD_Eng_neu2 und KD_Eng_neu3 befüllen. Die dort enthaltenen Kundennummern haben jeweils noch einen eigenen Datensatz - und den finde ich nicht, bzw. kann den nicht editieren.

Unten mal meine Maske.

Und der Agent sieht so aus:

_temp := KD_Eng_neu;
KDNummer := KD_Eng_neu1;
@SetDocField(@DbLookup("":"NoCache";"":"";"Haupt";KDNummer;[ReturnDocumentUniqueID]);"KD_Eng_neu";_temp);
KDNummer  := KD_Eng_neu2;
@SetDocField(@DbLookup("":"NoCache";"":"";"Haupt";KDNummer;[ReturnDocumentUniqueID]);"KD_Eng_neu";_temp);
KDNummer := KD_Eng_neu3;
@SetDocField(@DbLookup("":"NoCache";"":"";"Haupt";KDNummer;[ReturnDocumentUniqueID]);"KD_Eng_neu";_temp);
SELECT @All

Die Ansicht "Haupt" ist sortiert nach der KDNummer.

Wo habe ich meinen Denkfehler???

______________________
WinDoof / 120 Clients / 8.53

Offline Grischu

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
Re: Felder in diversen Datensätzen automatisch ändern
« Antwort #5 am: 21.09.10 - 10:58:28 »
Dieser eigene Datensatz ist in der Ansicht Haupt ?
in dieser ansicht gibt es nur genau einen  Datensatz mit der Nummer ?

 


Twitter is eine typische Erscheinung der Generation ADS & SMS. Für einen Brief zu faul, für einen kompletten Satz zu dumm und für korrekte Grammatik zu cool.

Offline Remy9999

  • Junior Mitglied
  • **
  • Beiträge: 53
  • Geschlecht: Männlich
  • ALLES wird gut :-))
Re: Felder in diversen Datensätzen automatisch ändern
« Antwort #6 am: 21.09.10 - 11:18:43 »

JA - jeder Datensatz ist eindeutig über das Feld KDNummer identifiziert und existiert auch nur einmal.

______________________
WinDoof / 120 Clients / 8.53

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Felder in diversen Datensätzen automatisch ändern
« Antwort #7 am: 21.09.10 - 11:35:35 »
Ich würde mit @Prompt KDNummer und _temp ausgeben lassen, vielleicht erkennt der Agent die Feldinhalte nicht.

Warum startest Du einen Agenten über die Schaltfläche? Du kannst doch die Formel direkt in die Aktion schreiben

Offline Remy9999

  • Junior Mitglied
  • **
  • Beiträge: 53
  • Geschlecht: Männlich
  • ALLES wird gut :-))
Re: Felder in diversen Datensätzen automatisch ändern
« Antwort #8 am: 21.09.10 - 12:11:40 »

- die Feldinhalte werden korrekt übergeben KDNummer wird vor jedem DBLookup angepasst, _temp ist immer gleich.

- die Aktion hatte ich auch schon angepasst und die Formel direkt dort hinein geschrieben.

______________________
WinDoof / 120 Clients / 8.53

Offline Grischu

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
Re: Felder in diversen Datensätzen automatisch ändern
« Antwort #9 am: 21.09.10 - 14:53:14 »
beim DBLookup fehlt ein Parameter, fehlte auch schon oben bei meinem Post.    Sorry!

_temp := KD_Eng_neu;
KDNummer := KD_Eng_neu1;
@SetDocField(@DbLookup("":"NoCache";"":"";"Haupt";KDNummer;1;[ReturnDocumentUniqueID]);"KD_Eng_neu";_temp);
KDNummer  := KD_Eng_neu2;
@SetDocField(@DbLookup("":"NoCache";"":"";"Haupt";KDNummer;1;[ReturnDocumentUniqueID]);"KD_Eng_neu";_temp);
KDNummer := KD_Eng_neu3;
@SetDocField(@DbLookup("":"NoCache";"":"";"Haupt";KDNummer;1;[ReturnDocumentUniqueID]);"KD_Eng_neu";_temp);
SELECT @All
Twitter is eine typische Erscheinung der Generation ADS & SMS. Für einen Brief zu faul, für einen kompletten Satz zu dumm und für korrekte Grammatik zu cool.

Offline Remy9999

  • Junior Mitglied
  • **
  • Beiträge: 53
  • Geschlecht: Männlich
  • ALLES wird gut :-))
Re: Felder in diversen Datensätzen automatisch ändern
« Antwort #10 am: 24.09.10 - 08:50:38 »
..danke für die Hilfe, aber klappt immer noch nicht.

Kann es leider nicht mehr weiter testen - muss "leider" in Urlaub gehen.

Vielleicht kommt ja dort der Geistesblitz.

Martin
______________________
WinDoof / 120 Clients / 8.53

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz