Announcement

Collapse
No announcement yet.

Rave: Problem mit Nachschlagetabellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Rave: Problem mit Nachschlagetabellen

    Ich möchte in einem Rave Report Daten eines Objekts (z.B. eines Transformators) darstellen. Die Objektdaten sind in Delphi so realisiert, dass sie sich z.T. in der Transformator-Tabelle und z.T. in Nachschlagetabellen befinden.<P>

    In dem Delphi-Formular setze ich dafür DBLookupComboBoxes ein, z.B. für das Fabrikat des Trafos:<P>

    DBLookupComboBoxFabrikat.DataSource:= MyTrafoTable;<BR>
    DBLookupComboBoxFabrikat.DataField:= Fabrikat_ID;<BR>

    DBLookupComboBoxFabrikat.ListSource:= MyNachschlagetabelle;<BR>
    DBLookupComboBoxFabrikat.KeyField:= Fabrikat_ID;<BR>
    DBLookupComboBoxFabrikat.ListField:= Fabrikat;<BR>
    <P>
    Nun kommt es ab und an vor, dass in MyTrafoTable in der Spalte Fabrikat_ID ein NULL-Wert steht. Delphi verhält sich dann ganz 'vernünftig' und zeigt halt in der DBLookupComboBoxFabrikat nichts an.<P>

    Wenn ich nun die Daten dieses Transformators in einem Rave-Report ausdrucken möchte, baue ich für das Fabrikat eine DataText-Komponente mit folgenden Eigenschaften ein:<P>

    DataView:= DataViewMyTrafoTable;<BR>
    DataField:= Fabrikat_ID;<BR>

    LookupDataView:= DataViewMyNachschlagetabelle;<BR>
    LookupField:= Fabrikat_ID;<BR>
    LookupDisplay:= Fabrikat;<BR>
    <P>
    Das funktioniert solange vernünftig, wie in DataField eine gültige Fabrikat-ID (Integer) steht. Enthält Fabrikat_ID einen NULL-Wert, erzeugt Rave eine Exception &lt '' ist kein gültiger Integerwert &gt und der Report wird nicht erzeugt.<P>

    Wie kann ich Rave 'beibringen', auch in diesem Fall den Report zu erzeugen und das Feld Fabrikat leer zu lassen ???

  • #2
    hallo,

    so auf die schnelle und ungetestet:
    die kannst in der dataview bei dem entsprechenden datenfeld die eigenschaft null-text definieren. mit einem pseudowert sollte/müsste es klappen (schreib bitte das ergebnis, danke).

    gruss

    :-) thoma

    Comment


    • #3
      Hallo Thomas,

      Danke für den Tip; es hat wunderbar geklappt: Ich habe in der DataView NullText = -1 gesetzt (der Nachschlageschlüssel ist ein positiver Integerwert) und in der DataText-Komponente noch LookupInvalid = '-----'. Jetzt haut alles bestens hin. Rave erzeugt keine Exception mehr und im Report steht in den entsprechenden Fällen -----.

      Gruss & Danke

      :-) Hans-Geor

      Comment

      Working...
      X