2016-11-21 9 views
0

QTP/UFTが比較的新しいです。私はテストを書いており、GlobalとLocal Data Sheetのデータを同じテストで使用する必要があります。QTP/UFT - ループ内で複数のデータシートにアクセス

Datatable.GetSheet("Global") 
RowCount = Datatable.GetRowCount 
For Cntr = 1 to RowCount 
    Datatable.SetCurrentRow(Cntr) 
    msgbox Datatable("Form", dtGlobalSheet) 'Form is my column Name from Global Data Sheet' 

    Datatable.GetSheet("Action1") 
    RowCount2 = Datatable.GetRowCount 
    For Cntr2 = 1 to RowCount2 
     Datatable.SetCurrentRow(Cntr2) 
     msgbox Datatable("Number", dtGlobalSheet) 'Number is my column Name from Action1 Data Sheet' 
    Next 
Next 

私の列の値は、両方のシートから台無しになっています

forループのようなものです。

答えて

1

データ型を変数に代入して、よりうまく動作させる必要があります。

  • Datatable.GetSheet("Global")に電話をかけていますが、どこにでも割り当てることはできません。
  • Datatable.GetRowCountを使用すると、実際にUFTにどのデータテーブルから行数を取得するのかはわかりません。これはおそらく問題の1つです。
  • コードの最後にmsgbox Datatable("Number", dtGlobalSheet)を使用していますが、おそらくmsgbox Datatable("Number", dtLocalSheet)を使用しているはずです(コード内でこれらの変数を割り当てたと仮定します)。データは、データテーブル、そこから来ているまさに定義した後、あなたはあなたのロジックが正しいことを確認するためにあなたのループをチェックすることもできます

    Dim dtGlobal : Set dtGlobal = Datatable.GetSheet("Global") 
    Dim dtLocal : Set dtLocal = Datatable.GetSheet("Action1") 
    RowCount = dtGlobal.GetRowCount 
    For Cntr = 1 to RowCount 
        'Working with global datatable 
        dtGlobal.SetCurrentRow(Cntr) 
        msgbox dtGlobal.GetParameter("Form") 'Form is my column Name from Global Data Sheet' 
    
        'Working with local datatable 
        RowCount2 = dtLocal.GetRowCount 
        For Cntr2 = 1 to RowCount2 
         dtLocal.SetCurrentRow(Cntr2) 
         msgbox dtLocal.GetParameter("Number") 'Number is my column Name from Action1 Data Sheet' 
        Next 
    Next 
    

    PS::チェックこの可能な解決策(テストしていません)

私はその部分をチェックしなかったので、これがあなたのために働くかどうか私に教えてください。

ハッピーコーディング。

+1

私はUFT 12.54を使用しており、dtGlobal.Value( "Form")をサポートしていません。だから、私はdtGlobal.GetParameter( "Form")に置き換えました – phpfreak

+0

私はうまくいきました。残念なことに私はUFTをもう使用していないので、私はそれを覚えていないので、[tutorialspoint](https://www.tutorialspoint.com/qtp/qtp_data_table_methods.htm)からメソッドをチェックし、事前にテストすることができませんでした。私は将来の参考のためにこのウェブサイトをブックマークすることをお勧めします;) –

+0

確かに、私はしました。ありがとう! – phpfreak

関連する問題