Re: Re: Re: Re: Re: Re: Re: Änderung eines Feldes in allen Datensätzen - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Michael (450 Beiträge) am Dienstag, 4.Oktober.2011, 19:49.
    Änderung eines Feldes in allen Datensätzen

      Hallo Leute,

      ist wahrscheinlich ein alter Hut, aber ich habe auch nach dem Studieren der Doku sowie des Forums keine funktionierende Hilfe gefunden.
      Ich möchte ein Feld (Optionsfeld) in einer Datenbank global auf einen Wert ändern. Ich habe dies mit dem in der Doku angegebenen mod-Befehl versucht, aber hat nicht funktioniert.

      Wäre super, wenn mir jemand helfen könnte.

      Danke und Gruß
      Michael

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 4.Oktober.2011, 21:05.
    Re: Änderung eines Feldes in allen Datensätzen

      welchen befehl hast du probiert?

      mod "Id==*",["Feldname","Wert"],"dbname";
      

      sollte innerhalb von <perl> klappen (immer an einem Duplikat ausprobieren!!!)

     Antworten

    Beitrag von Michael (450 Beiträge) am Dienstag, 4.Oktober.2011, 22:17.
    Re: Re: Änderung eines Feldes in allen Datensätzen

      Hallo Sander,

      habe es probiert, aber nichts passiert.

      Habe den Befehl wie folgt gechrieben:
      <perl>
      mod "Id==*",["Status", "nicht kontaktiert" ],"Arkansas";
      </perl>
      

      "Status" ist der Feldname
      "nicht bearbeitet" ist der Feldinhalt (Optionsfeld)
      "Arkansas" ist der Tabellenname

      Gruß
      Michael

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 5.Oktober.2011, 00:33. WWW: www.baseportal.de
    Re: Re: Re: Änderung eines Feldes in allen Datensätzen

      sag mir mal deinen usernamen, dann schau ich mal direkt - sollte so nämlich funktionieren.

     Antworten

    Beitrag von Michael (450 Beiträge) am Mittwoch, 5.Oktober.2011, 06:15.
    Re: Re: Re: Re: Änderung eines Feldes in allen Datensätzen

      Hallo Sander,

      mein Username ist MichaelHehn.

      Danke und Gruß
      Michael

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 5.Oktober.2011, 11:21.
    Re: Re: Re: Re: Re: Änderung eines Feldes in allen Datensätzen

      ah, die Datenbank ist zu groß und passt nicht komplett in den Speicher.
      Ich ändere es jetzt schrittweise

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 5.Oktober.2011, 11:28. WWW: hammoniaweb.com
    Re: Re: Re: Re: Re: Re: Änderung eines Feldes in allen Datensätzen

      Bin ja kein Hellseher...;)

      kann man aber mit dem Script auch machen:


      <perl>
      get "Id==* range=0,3000", "Arkansas","erg";
      while(get_next("erg"))
      {
      $Idm=$Id;
      mod "Id==$Idm ",["Status", "nicht kontaktiert" ],"Arkansas";
      }
      </perl>
      

      Dann entsprechend den Range anpassen...

      Gruesse

      Claus

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 5.Oktober.2011, 12:21.
    Re: Re: Re: Re: Re: Re: Re: Änderung eines Feldes in allen Datensätzen

      ich glaube, ein einzelnes mod auf 3000 DS geht schneller und ist weniger speicherintensiv als erst mal 3000 DS zu holen und dann jeden einzelnen zu modden

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 5.Oktober.2011, 12:37. WWW: hammoniaweb.com
    Re: Re: Re: Re: Re: Re: Re: Re: Änderung eines Feldes in allen Datensätzen

      Kann sein, habe ich nie gemessen, aber ich habe das Script auch für einige andere Dinge gemacht, so kann man dann z.B. nur bestimmte DS in vernetzten DB's ändern, simples Beispiel als Rohbau:

      <perl>
      get "$Feld1==$var", "$db1","erg";
      while(get_next("erg"))
      {
      get"$Feld2==$var2","$db2";
      mod "$Feld3==$var3 ",["Feldname", "$feldinhalt" ],"$db3";
      }
      </perl>
      

      Da ist man dann sehr flexibel...;)

      Gruesse

      Claus

     Antworten

    Beitrag von Michael (450 Beiträge) am Mittwoch, 5.Oktober.2011, 12:57.
    Re: Re: Re: Re: Re: Re: Re: Re: Re: Änderung eines Feldes in allen Datensätzen

      Hallo Claus, hallo Sander,

      besten Dank für Eure Hilfe - Ihr seid großartig!!!

      Liebe Grüße
      Michael

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 5.Oktober.2011, 13:30.
    Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Änderung eines Feldes in allen Datensätzen

      falls du das script noch für andere brauchst, es ist das erste in der Templateliste.
      Einfach immer nur die Ids ändern (Datenbanke natürlich auch) und in 10000der Schritten durchgehen.

     Antworten

    Beitrag von Michael (450 Beiträge) am Mittwoch, 5.Oktober.2011, 13:40.
    Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Änderung eines Feldes in allen Datensätzen

      Nochmals besten Dank!

      Gruß
      Michael

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 5.Oktober.2011, 07:44. WWW: hammoniaweb.com
    Re: Re: Re: Änderung eines Feldes in allen Datensätzen

      Nimm mal dieses kleine Script:

      <perl>
      get "Id==*", "Arkansas","erg";
      while(get_next("erg"))
      {
      $Idm=$Id;
      mod "Id==$Idm ",["Status", "nicht kontaktiert" ],"Arkansas";
      }
      </perl>
      

      hth

      Gruesse

      Claus

     Antworten

    Beitrag von Michael (450 Beiträge) am Mittwoch, 5.Oktober.2011, 08:46.
    Re: Re: Re: Re: Änderung eines Feldes in allen Datensätzen

      Hallo Claus,

      danke für Deine Hilfe - leider funktioniert es aber nicht. Der Feldinhalt wird nicht überschrieben und ich bekomme folgende Fehlermeldung:

      [ Fehler: Fehlerhafter Perl Code in /MichaelHehn/Arkansas.meta{begin}:
      '' trapped by operation mask at (eval 77) line 1. ]

      Hat es vielleicht damit zu tun, daß es sich hierbei um ein Radio-Feld handelt?
      Der angegebene Wert ist einer der fdefinierten Werte.

      Gruß
      Michael

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 5.Oktober.2011, 09:14. WWW: hammoniaweb.com
    Re: Re: Re: Re: Re: Änderung eines Feldes in allen Datensätzen

      Wo hast Du das eingefügt?

      Richte einfach eine Neue! Seite in dem entsprechenden Verzeichnis ein und nenne Sie z.B. testmod1

      dann nur dieses Script dort einfügen und abschicken.

      Dann die Seite aufrufen.

      Der Datenbankname ist doch wohl richtig mit Arkansas ????

      Das Script funktioniert schon, habe ich schon selbst im Einsatz gehabt....;)

      Gruesse

      Claus

     Antworten

    Beitrag von Michael (450 Beiträge) am Mittwoch, 5.Oktober.2011, 10:39.
    Re: Re: Re: Re: Re: Re: Änderung eines Feldes in allen Datensätzen

      Hallo Claus,

      ich habe alles so gemacht wie Du es geschrieben hast - allerdings wird das Feld nicht verändert.

      Ich habe eine neue Seite angelegt (Name: Script).

      Dort habe ich unter dem Punkt "Aussehen bearbeiten" den Code eingefügt.
      Zunächst nur den Code - Resultat keine Veränderungen.

      Danach den Code nach dem kompletten Statement do action=all den Code eingefügt - Resultat keine Veränderungen.

      Danach habe ich es auch versucht unter Verwaltung im Bereich Beginn-Block / Ende-Block - - Resultat keine Veränderungen.

      Ich habe danach auch die Datenbank reorganisiert - auch keine Veränderung.

      Um Deine Frage zu beantworten - ja, der Datenbankname ist Arkansas.

      Gruß
      Michael

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 5.Oktober.2011, 10:56. WWW: hammoniaweb.com
    Re: Re: Re: Re: Re: Re: Re: Änderung eines Feldes in allen Datensätzen

     Antworten


     
 Liste der Einträge von 4800 bis 4950:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.12s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!