AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Fastreport Objekt in abhängikeit von DB Feld
Thema durchsuchen
Ansicht
Themen-Optionen

Fastreport Objekt in abhängikeit von DB Feld

Ein Thema von manfred_h · begonnen am 7. Mai 2009 · letzter Beitrag vom 12. Jun 2009
Antwort Antwort
Seite 3 von 3     123   
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#21

Re: Fastreport Objekt in abhängikeit von DB Feld

  Alt 8. Jun 2009, 10:45
Hallo nochmals

leider hat sich da ein Fehler eingeschlichen.
Habe das bis jetzt nicht bemerkt. Es werden nicht mehr alle Datensätzte dargestellt.
Dies versuchte ich bis jetzt wie folgt zu lösen:
"bestehender" Code:
Delphi-Quellcode:
procedure DetailData1OnBeforePrint(Sender: TfrxComponent);
var
i: Integer;
ds: TfrxDataSet;
list: TStringList;
db_list: String;
begin
  ds := Report.GetDataset('default');// username of ds
  list := TStringList.Create;
  ds.GetFieldList(list);
  for i := 0 to list.Count -1 do
  begin
    if list[i]='PERSONSthen
    begin
      var_dist_persons.Visible := true; //Feld vorhanden
      dist_persons.Visible := true;
    end;
    //
    if list[i]='WORKERthen
    begin
      var_dist_worker.Visible := true;
      dist_worker.Visible := true;
    end;
    //
    if list[i]='PLACEMENTthen
    begin
      var_dist_placement.Visible := true;
      dist_placement.Visible := true;
    end;
    //
    if list[i]='BEDSthen
    begin
      var_dist_beds.Visible := true;
      dist_beds.Visible := true;
    end;
    //
    if list[i]='Q_GIDEONSthen
    begin
      var_dist_q_gideons.Visible := true;
      dist_q_gideons.Visible := true;
    end;
    //
    if list[i]='CATthen
    begin
      var_dist_cat.Visible := true;
      dist_cat.Visible := true;
    end;
    //
    ds.Next;
  end;
end;
versucht habe ich es so:
Delphi-Quellcode:
    if list[i]='PERSONSthen
    begin
      var_dist_persons.Visible := true; //Feld vorhanden
      dist_persons.Visible := true;
    end
    else var_dist_persons.Visible := false;
    //
Dies natürlich bei jedem if list[i]= leider ohne Erfolg.
Die Datenbankabfrage ist garantiert ok.

Bin für einen Tipp dankbar.
Manfred
  Mit Zitat antworten Zitat
squetk

Registriert seit: 29. Aug 2004
Ort: Cottbus
118 Beiträge
 
Delphi XE2 Professional
 
#22

Re: Fastreport Objekt in abhängikeit von DB Feld

  Alt 8. Jun 2009, 23:09
Auch wenn das Problem an sich schon gelöst ist: Es gibt im FastReport-Script durchaus eine Möglichkeit, die Existenz eines Datenfeldes abzufragen:

  if MasterDataXYZ.DataSet.HasField('FIELDNAME') then...
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#23

Re: Fastreport Objekt in abhängikeit von DB Feld

  Alt 9. Jun 2009, 13:51
Hallo squetk

Zitat:
Auch wenn das Problem an sich schon gelöst ist: Es gibt im FastReport-Script durchaus eine Möglichkeit, die Existenz eines Datenfeldes abzufragen:
leider ist es noch nicht ganz gelöst ( siehe ein Post weiter oben ).
Danke für Deinen Vorschlag werde das Testen.

Manfred
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#24

Re: Fastreport Objekt in abhängikeit von DB Feld

  Alt 10. Jun 2009, 14:57
habe bemerkt das ich ds.Next; zwei Zeilen zu weit oben hatte.
Es wird nun die hälfte der Daten dargestellt.

Delphi-Quellcode:
    
if list[i]='CATthen
    begin
      var_dist_cat.Visible := true;
      dist_cat.Visible := true;
    end;
  // ds.Next;
  end;
  ds.Next;
end;
@squetk
Wenn ich Deinen Idee Teste erhalte ich immer die Fehlermeldung:
> Undeclared identifier:'default'

Delphi-Quellcode:
  if default.DataSet.HasField('PERSONS') then
    begin
     var_dist_persons.Visible := true; //Feld vorhanden
     dist_persons.Visible := true;
    end;
Manfred
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#25

Re: Fastreport Objekt in abhängikeit von DB Feld

  Alt 11. Jun 2009, 15:42
Das Problem ist gelöst.

Es darf kein ds.Next; verwendet werden.
hier die funktionierende Version:
Delphi-Quellcode:
procedure DetailData1OnBeforePrint(Sender: TfrxComponent);
var
i: Integer;
ds: TfrxDataSet;
list: TStringList;
db_list: String;
begin
  ds := Report.GetDataset('default');// username of ds
  list := TStringList.Create;
  ds.GetFieldList(list);
  for i := 0 to list.Count -1 do
  begin
    if list[i]='PERSONSthen
    begin
      var_dist_persons.Visible := true;
      dist_persons.Visible := true;
    end;
    //
    if list[i]='WORKERthen
    begin
      var_dist_worker.Visible := true;
      dist_worker.Visible := true;
    end;
    //
    if list[i]='PLACEMENTthen
    begin
      var_dist_placement.Visible := true;
      dist_placement.Visible := true;
    end;
    //
    if list[i]='BEDSthen
    begin
      var_dist_beds.Visible := true;
      dist_beds.Visible := true;
    end;
    //
    if list[i]='Q_GIDEONSthen
    begin
      var_dist_q_gideons.Visible := true;
      dist_q_gideons.Visible := true;
    end;
    //
    if list[i]='CATthen
    begin
      var_dist_cat.Visible := true;
      dist_cat.Visible := true;
    end;
  end;
end;
Shalom
Manfred
  Mit Zitat antworten Zitat
squetk

Registriert seit: 29. Aug 2004
Ort: Cottbus
118 Beiträge
 
Delphi XE2 Professional
 
#26

Re: Fastreport Objekt in abhängikeit von DB Feld

  Alt 11. Jun 2009, 22:53
Es müsste so funktionieren:

Delphi-Quellcode:
var
  ds: TfrxDataSet;
begin
  ds := Report.GetDataset('default');// username of ds
  if ds.HasField('PERSONS') then
  begin
    var_dist_persons.Visible := true; //Feld vorhanden
    dist_persons.Visible := true;
  end;
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#27

Re: Fastreport Objekt in abhängikeit von DB Feld

  Alt 12. Jun 2009, 14:35
Danke für den Tipp squetk.

Manfred
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz