2009-09-02 17 views

答えて

3

RunBaseReportクラスを新規に作成し、の方法でレポートにSysDatabaseLogという名前を付けることを忘れないでください。

dialogメソッドでテーブル名を要求します。ルックアップを有効にするには、TableName拡張データ型を使用します。

Object dialog() 
{ 
    DialogRunbase dlg = super(); 
    ; 
    dialogTableName = dlg.addFieldValue(typeId(TableName),tableId2Name(tableId));  
    return dlg; 
} 
super()

を呼び出した後getFromDialog方法でqueryRun.query()のテーブルIDの範囲を更新します。テーブルidに変換するには、tableName2Id関数を使用します。

boolean getFromDialog() 
{ 
    boolean ret = super(); 
    ; 
    tableId = tableName2Id(dialogTableName.value()); 
    this.queryrun().dataSourceNo(1).findRange(fieldNum(SysDatabaseLog,Table)).value(queryValue(tableId)); 
    return ret; 
} 

validate方法において、そのテーブル名が有効である(テーブルIDではない0、テーブルないTEMPなど)を検証します。

最後に、レポートではなくクラスを指すように出力メニュー項目を変更します。

警告:コードはテストされていません!

+0

"super()を呼び出した後にgetFromDialogメソッドのqueryRun.query()のテーブルID範囲を更新します。tableName2Id関数を使用してテーブルIDに変換してください。 私は上記のことにちょっと固執しています。あなたは私のためにもう少し明確にすることができますか? - お返事ありがとうございました。 –

+0

回答が更新されました。 –

+0

ありがとうございます - 私はあなたが提供したすべての助けを借りて少しでもハッキングすることによってそれを稼働させました。 –

関連する問題