1

Crystal Reports アプリケーションで、DatabaseTable オブジェクトの Fields プロパティにフィールドを取得できないという問題が発生しています。Fields.Count は、すべてのテーブルに対してゼロを返します。これは、ユーザーのコンピューターの 1 つでのみ発生しています。オフィスのすべての開発者にとって問題なく機能しています。違うものは何も見えません。また、根本的に間違ったことをしているのだろうかと思っています。ドキュメントには、Fields プロパティについて「レポートによってアクセスされるすべてのデータベース フィールドのコレクションに 1 つのオブジェクトが存在する」と記載されていますが、各テーブルのデータベースに存在するすべてのフィールドに対して 1 つのオブジェクトが表示されます。報告します (ところで、これは私たちが本当に望んでいるものです)。CR ランタイム バージョン 11.5 を使用しています。どんなアイデアでも大歓迎です。使用しているコードは次のとおりです (Delphi):

    procedure TfrmPCMSCrystalReportViewer.BuildColumnList;
    { Populate slColumns with the list of column. 
      For each table in the report, add every column. }
    var
      I, J: Integer;
      Tbl: DatabaseTable;
    begin
      slColumns.Clear;
      with crReport1.Database do begin
        for I := 1 to Tables.Count do begin
          Tbl := Tables[I];
          //process each column in table
          for J := 1 to Tbl.Fields.Count do   
            //add column to list
            slColumns.Add(Tbl.Fields[J].DatabaseFieldName);  
        end; //for
      end; //with
    end;
4

0 に答える 0