Prozedurfunktionen für Selektionen

Ich möchte Ihnen heute einige Funktionen vorstellen, die seit längerer Zeit in CONZEPT 16 implementiert sind und nach denen immer wieder gefragt wird. Es geht um SelInfo(), SelInfoAlpha(), SelInfoDate(), SelInfoTime() und RecInfo(<Datei>, _RecCount, <Selektion>).


Mit den Befehlen können unterschiedliche Informationen zu einem Selektionsdeskriptor abgefragt werden.

SelInfo()

Mit SelInfo() können numerische Selektionsinformationen ermittelt werden. Mit der Option _SelFile wird die Tabelle ermittelt, mit der Option _SelSort der aktuelle Sortierungsschlüssel der Selektion. Bei Wertemengen können mit den Optionen _SelCount die Anzahl der Werte und mit _SelCountD die Anzahl der unterschiedlichen Werte ermittelt werden.

SelInfoAlpha()

Mit der Prozedurfunktion SelInfoAlpha() können Informationen, wie der Selektionsname (_SelName) oder der Benutzer (_SelUser), der die Selektion zuletzt geändert hat, abgefragt werden. Zusätzlich können Sie bei Wertemengen den Minimalwert (_SelMin) und den Maximalwert (_SelMax) ermitteln. Mit der Option _SelRemarks kann die Bemerkung der Selektion gesetzt oder abgefragt werden. Zum Setzen wird zusätzlich zum Selektionsdeskriptor und der Option noch die neue Bemerkung angegeben.

SelInfoDate() / SelInfoTime()

Bei den Prozedurfunktionen SelInfoDate() und SelInfoTime() kann mit der Option _SelNModified das letzte Änderungsdatum oder die letzte Anderungszeit der Selektion ermittelt werden. Die Option _SelCreated ermittelt den Erstellungszeitpunkt und _SelExecuted den letzten Ausführungszeitpunkt.

RecInfo()

Da mit SelInfo(_SelCount) nur die Anzahl der Werte in einer Selektion mit Wertemenge ermittelt wird, muss der Befehl RecInfo() mit der Option _RecCount zum zählen der Datensätze verwendet werden. Im dritten Parameter wird der Deskriptor der Selektion angegeben.

Beispiel

Im folgenden Beispiel wird in einer allgemeinen Funktion der Befehl SelInfoAlpha() dafür verwendet, um eine Selektion zu löschen.

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Selektion löschen                                     +
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sub Sel.Delete
(
  aSel            : handle;  // Selektion
)
: int;
  local
  {
    tTable        : int;     // Tabelle
    tName         : alpha;   // Selektionsname
    tResult       : int;     // Löschresultat
  }
{
  // Tabelle und Name der Selektion ermitteln
  tTable # aSel->SelInfo(_SelFile);
  tName  # aSel->SelInfoAlpha(_SelName);
  // Selektion schließen und löschen
  aSel->SelClose();
  tResult # SelDelete(tTable, tName);
  return(tResult);
}

Klicken Sie hier, um die Nutzungsbedingungen für unseren Blog zu lesen.

5 Antworten

  1. Jetzt habe ich die Hilfe für die Selektionen mit Wertemengen gefunden. Der Hilfe-Button befindet sich im Dialog "Selektionsparameter". Da gibt es die Beschreibung mit Beispielen, wo die Selektionen mit Wertemengen verwendet werden können.

  2. @Alex Kosman:
    Die Befehle SelInfo…() sind auch für dynamische Selektionen ausführbar. Jedoch können bei dynamischen Selektionen keine Wertemengen erzeugt werden. Somit gibt SelInfo() mit _SelCount und _SelCountD immer 0 zurück. Auch bei SelInfoAlpha() mit _SelMin und _SelMax wird bei einer dynamischen Selektion eine leere Zeichenkette zurückgegeben.

  3. @Alex Kosman:
    In einer Selektion mit einer Wertemenge über ein Int-Feld sind beispielsweise folgende Werte enthalten:
    1, 2, 2, 3, 3, 3, 4
    In diesem Fall gibt RecInfo(…, _RecCount, …) den Wert 7 zurück.
    Das gleiche Ergebnis gibt SelInfo(…, _SelCount) zurück.
    Wird bei SelInfo() die Option _SelCountD angegeben, ist das Ergebnis die Anzahl der unterschiedlichen Werte.
    In diesem Fall wären es 4.

  4. Könnten Sie bitte ein einfaches Beispiel für die Befehle SelInfo(_SelCount/_SelCountD) mit der Selektion, die die Wertemenge enthält, zeigen? Es ist nicht ganz klar, um welche Anzahl hier geht – vielen Dank!

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Leave the field below empty!

Wünsche, Fragen oder Feedback sind willkommen:

Nutzungsbedingungen der Kommentarfunktion im Blog

1. Allgemeines

Vectorsoft AG („Anbieter“) stellt für Internetnutzer („Nutzer“) auf der Website
vectorsoft.de einen öffentlichen Blog bereit. Der öffentliche Blog dient dem
Informations- und Gedankenaustausch. Die Nutzer, welche sich mit Beiträgen und
Kommentaren beteiligen, verpflichten sich dazu, die Blog-Nutzungsbedingungen
einzuhalten und tragen die Verantwortung für die Richtigkeit und Angemessenheit
sowie Freiheit von Rechtsverletzungen ihrer Beiträge. Mit Nutzung der
Kommentarfunktion in unserem Blog akzeptieren Sie diese Nutzungsbedingungen.

2. Netiquette

Wir bitten Sie von persönlichen Angriffen und Provokationen aufgrund anderer
Meinungen abzusehen. Bitte argumentieren Sie sachlich und bewegen Sie sich auf
der Basis einer konstruktiven Diskussionskultur. Ihr Kommentar sollte stets im
Zusammenhang mit dem jeweiligen Thema sein, um Ausschweifungen in andere
Themenbereiche zu vermeiden. Das mehrmalige Posten desselben Kommentars
oder mehrerer ähnlicher Kommentare ist nicht erlaubt.

3. Verbot rechtswidriger Inhalte

Mit Absenden Ihres Kommentars bestätigen Sie, dass Sie keine Urheberrechte oder andere Rechte Dritter verletzen. Volksverhetzende, rassistische Äußerungen, Anleitungen zu Straftaten und deren Verherrlichung, Gewaltdarstellungen, pornografische Inhalte und Äußerungen, die Persönlichkeitsrechte verletzen sind untersagt.

4. Keine Werbung

Die Nutzung der Kommentarfunktion ist für kommerzielle oder parteipolitische
Zwecke nicht erlaubt. Werbliche Beiträge aller Art werden von uns umgehend
gelöscht.

5. Angaben zum Namen

Bei der Eingabe Ihres Namens achten Sie auf die zuvor genannten Grundsätze.

6. Quellenangaben

Bitte geben Sie bei der beabsichtigten Veröffentlichung von Zitaten oder Beiträgen
Dritter die jeweiligen Quellen an und erläutern dessen Bezug zum Blogbeitrag.

7. Verstoß gegen die Nutzungsbedingungen

Beiträge, die gegen diese Richtlinie verstoßen werden umgehend gelöscht. Sollten
Sie selbst Verstöße bemerken, so senden Sie uns bitte den Link des betreffenden
Kommentars per E-Mail an . Wir weisen ausdrücklich daraufhin, dass wir einzelne Nutzer bei wiederholten oder schweren Verstößen gegen diese
Nutzungsbedingungen ausschließen werden.

Stand: Sept. 2024

Deine Trial Version - jetzt anfordern!

Teste yeet - unverbindlich und kostenfrei

IHRE EVALUIERUNGSLIZENZ - JETZT ANFORDERN!

TESTEN SIE DIE CONZEPT 16 VOLLVERSION - UNVERBINDLICH und KOSTENFREI

Melden Sie sich bei unserem Newsletter an

Anrede*
     
Zustimmung zur Datenverarbeitung gem. DSGVO*



WordPress Cookie-Hinweis von Real Cookie Banner