Datensätze löschen - 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 
    Beitrag von Gerhard (39 Beiträge) am Sonntag, 23.Februar.2014, 20:28.
    Datensätze löschen

      folgendes Problem:

      Eine Datenbank "einkauf" mit einem Feld "bis" in dem das Ablaufdatum des Aktionszeitraumes eingetragen ist.

      Ich möchte alle abgelaufenen Einträge löschen.

      <loop db=einkauf code=perl>
      my $d=datum ("jetzt", "intern");
      
        if (datum ("jetzt", "intern") ge datum ($bis, "intern")) {out datum ($bis, "intern") . ">" .$d." " . $Produkt ."<br>";
        del;
        };
      </loop>
      

      wobei die out-Befehle nur vorläufig zur Überprüfung vorhanden sind (vorher hatte ich das Ausgabeformat des Feldes "bis" auf "02.08.00" gestellt, datum($bis, "intern") lieferte dann YY.MM.DD...., satt YYYY.MM.DD....),
      jetzt mit benutzerdefiniert Tag.Monat.Jahr funktioniert wenigstens die Abfrage.

      2. Problem: Eingaben vom Tablet welche Umlaute enthalten sind verkehrt in der Liste. Bei Eingaben aus Linuxgeräten konnte ich den Fehler beheben durch Erweiterung des Headers mit folgendem Eintrag:

      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
      

      Android scheint das zu ignorieren. Gibt es dazu eine Abhilfe?

      Link: http://baseportal.de/cgi-bin/baseportal.pl?htx=/tcurtis/privat/einkauf


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Gerhard (39 Beiträge) am Sonntag, 23.Februar.2014, 20:28.
    Datensätze löschen

      folgendes Problem:

      Eine Datenbank "einkauf" mit einem Feld "bis" in dem das Ablaufdatum des Aktionszeitraumes eingetragen ist.

      Ich möchte alle abgelaufenen Einträge löschen.

      <loop db=einkauf code=perl>
      my $d=datum ("jetzt", "intern");
      
        if (datum ("jetzt", "intern") ge datum ($bis, "intern")) {out datum ($bis, "intern") . ">" .$d." " . $Produkt ."<br>";
        del;
        };
      </loop>
      

      wobei die out-Befehle nur vorläufig zur Überprüfung vorhanden sind (vorher hatte ich das Ausgabeformat des Feldes "bis" auf "02.08.00" gestellt, datum($bis, "intern") lieferte dann YY.MM.DD...., satt YYYY.MM.DD....),
      jetzt mit benutzerdefiniert Tag.Monat.Jahr funktioniert wenigstens die Abfrage.

      2. Problem: Eingaben vom Tablet welche Umlaute enthalten sind verkehrt in der Liste. Bei Eingaben aus Linuxgeräten konnte ich den Fehler beheben durch Erweiterung des Headers mit folgendem Eintrag:

      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
      

      Android scheint das zu ignorieren. Gibt es dazu eine Abhilfe?

      Link: http://baseportal.de/cgi-bin/baseportal.pl?htx=/tcurtis/privat/einkauf

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 24.Februar.2014, 11:00. WWW: hammoniaweb.com
    Re: Datensätze löschen


      <perl>
      del "Datumsfeld<jetzt", "DeineDB";
      </perl>
      

      sollte reichen, um alle DS zu löschen, die kleiner jetzt sind...;)

      Gruesse

      Claus

     Antworten

    Beitrag von Gerhard (39 Beiträge) am Montag, 24.Februar.2014, 16:19.
    Re: Re: Datensätze löschen

      Danke für die Hilfe.
      ganz verstehen tu ich es aber immer noch nicht.
      Das Eingabedatum hat ein internes Format "2014.02.24,00:00.00#2" (weil ja keine Zeit miteingegeben wurde), während jetzt "2014.02.24,16:18.00#2" liefern sollte, also den Datensatz löschen müßte, obwohl der Aktionszeitraum noch nicht abgelaufen ist. Aber es funktioniert trotzdem.
      habe es auch mit
      del "$bis<(jetzt+1)", "einkauf";
      versucht, das hat gar nichts gelöscht.
      Irgendwie funktioniert da die Funktion jetzt nicht mehr.

      Trotzdem vielen Dank Claus.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 24.Februar.2014, 17:39. WWW: hammoniaweb.com
    Re: Re: Re: Datensätze löschen

      Feld muß! auf sortiert gestellt sein

      diesen Code im Template ganz oben platzieren...

      <perl>
      del "bis<jetzt", "einkauf";
      </perl>
      

      alternativ auch:

      <perl>
      del "bis<=jetzt", "einkauf";
      </perl>
      

      hth

      Gruesse

      Claus

     Antworten

    Beitrag von Gerhard (39 Beiträge) am Montag, 24.Februar.2014, 19:19.
    Re: Re: Re: Re: Datensätze löschen

      Hallo Claus,

      das Feld "bis" ist sortiert.

      Ich verstehe aber nicht, warum "2014.02.24,00:00.00#2" (Wert von bis)<"2014.02.24,16:18.00#2" (Wert von jetzt) noch nicht erfüllt sein soll, derartige Datensätze verblieben in der Datenbank.

      Diese beiden Werte entsprachen etwa dem Zeitpunkt meines Tests.

      Werte "2014.02.13,...." und kleiner wurden anstandslos gelöscht.

      Abgesehen davon, daß dieses Verhalten ja eigentlich angestrebt wurde, weil ja der Aktionszeitraum für die Angebote ja bis Geschäftsschluss gelten, ist das Ergebnis der Funktion nicht logisch.

      Wie müßte ich die Abfrage gestalten, wenn ich etwa Datensätze erst nach Ablauf einer Woche löschen möchte? Oder anders gefragt, ist "jetzt" eine Variable oder eine Funktion?

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Montag, 24.Februar.2014, 19:48.
    Re: Re: Re: Re: Re: Datensätze löschen

     Antworten


     
 Liste der Einträge von 2700 bis 2850: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.09s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!