1
*!*          TransForm(m.TCuatro,"@Z 999,999,999") + " "
*!*  CDate("mx",Val(Right(Allt(field(4,"_Actual")),2)),Val("20"+SubStr(Allt(field(3,"_Actual")),2,2))) + " N(15,2)," + ;
*!*           CDate("mx",Val(Right(Allt(field(5,"_Actual")),2)),Val("20"+SubStr(Allt(field(4,"_Actual")),2,2))) + " N(15,2)," + 
CadExel = CDate("mx",Val(Right(Allt(field(2,"_Actual")),2)),Val("20"+SubStr(Allt(field(2,"_Actual")),2,2))) + " N(15,2)," + ;         
          "Promedio N(15,2), " + ;
          "Cuota" + CDate("mx",__Mes,__Ano) + " N(12), " + ;
          "VsProm N(12,2), " + ;
          "Dobles N(12), Triples N(12), Fuera C(6)"
*!*           CDate("mx",Val(Right(Allt(field(6,"_Actual")),2)),Val("20"+SubStr(Allt(field(5,"_Actual")),2,2))) + " N(12),"
*!*           Padl(CDate("mx",Val(Right(Allt(field(4,"_Actual")),2)),Val("20"+SubStr(Allt(field(4,"_Actual")),2,2))),14) + " " + ;
*!*           Padl(CDate("mx",Val(Right(Allt(field(5,"_Actual")),2)),Val("20"+SubStr(Allt(field(5,"_Actual")),2,2))),14) + " " + 
TitNF   = Padl(CDate("mx",Val(Right(Allt(field(3,"_Actual")),2)),Val("20"+SubStr(Allt(field(3,"_Actual")),2,2))),14) + " " + ;
          Padl("Promedio",14) + " " + ;
          Padl("Cuota",11) + " " + ;
          Padl("VsAA",11) + " " + ;
          Padl("Dobles",11) + " " + ;
          Padl("Triples",11) + " " + ;
          Padl("Rango",5) + " " 
*!*           Padl(CDate("mx",Val(Right(Allt(field(6,"_Actual")),2)),Val("20"+SubStr(Allt(field(6,"_Actual")),2,2))),11) + " "

Select * From __Cadena Order By Que Into Cursor __Paso
Select __Cadena
Zap
Select __Paso
   Cad = "insert into __Cadena Values ( "
   For i= 1 To FCount()
      Cad = Cad + "__Paso." + Allt(Field(i,"__Paso")) + ","
   EndFor
   Cad = Left(Cad,Len(Cad)-1) + ")"
Go Top
Do While !Eof()
   &Cad
   Select __Paso
   Skip    
EndDo
Select __Paso
Use

*!* Set ClassLib To MyTool
*!* Barra = CreateObject("MiBarra")
*!* Barra.Dock(0)
*!* Barra.Show

*!* Define Class MiBarra As MyToolBar
*!* EndDefine
*!* Read Events
Select __Cadena
Go Top
Do vfreport With "Premier", TitNF , " Cuotas Club-Premier" + " de " + cDate("my",__Mes,__Ano) + IIf(__EsCF," (CF)"," (UV) "),"("+Allt(m.xNomPunto)+")",  "Cuotas",;
   CadExel,"",.F.,.F.,1,1,2,1,.F.,.F.,0

そのコードは、これを作成するための最後の部分です。 ここに画像の説明を入力してください

したがって、Marzo2008または「march2008」である「mar08」という列を呼び出す列を見ることができます。この例では、列がありますが、コードの一部に3つ以上の列があるので、これを追加する必要があります。すべての列の行:

新しい列のこのコード

CDate("mx",Val(Right(Allt(field(3,"_Actual")),2)),Val("20"+SubStr(Allt(field(2,"_Actual")),2,2))) + " N(12)," + ;

この列のデータのこのコード

Padl(CDate("mx",Val(Right(Allt(field(3,"_Actual")),2)),Val("20"+SubStr(Allt(field(3,"_Actual")),2,2))),11) + " " + ;

私の質問は

列とデータのコードを自動的に追加するために、ループを実行するにはどうすればよいですか?

私はビジュアルフォックス98の初心者です

4

1 に答える 1

1

あなたがここで求めていることを私が理解しているなら、あなたはそれをどのように行うことができるかです...

CadExel = ""
TitNF = ""
FOR X = 1 TO n (where n is the number of columns you want to add)
    CadExel = CadExel + CDate("mx",Val(Right(Allt(field(3,"_Actual")),2)),Val("20"+SubStr(Allt  (field(2,"_Actual")),2,2))) + " N(12),"
    TitNF = TitNF + Padl(CDate("mx",Val(Right(Allt(field(3,"_Actual")),2)),Val("20"+SubStr(Allt(field(3,"_Actual")),2,2))),11) + " "
ENDFOR

CadExel = CadExel + ; 
    "Promedio N(15,2), " + ;
      "Cuota" + CDate("mx",__Mes,__Ano) + " N(12), " + ;
      "VsProm N(12,2), " + ;
      "Dobles N(12), Triples N(12), Fuera C(6)"
TitNF = TitNF + ;
      Padl("Promedio",14) + " " + ;
      Padl("Cuota",11) + " " + ;
      Padl("VsAA",11) + " " + ;
      Padl("Dobles",11) + " " + ;
      Padl("Triples",11) + " " + ;
      Padl("Rango",5) + " " 

基本的に、FORループ内から列をCadExに連結し、列データをTitNFに連結します。「X」は反復ごとにインクリメントされる変数であるため、式の一部を変更するには、CadExel変数とTitNF変数内のどこかでそれを使用する必要がある場合があります。

私がこれについてかなり離れているなら、多分これはあなたが探している列と列データを構築するためにFORループをどのように使用するかについてあなたに少なくともあなたにアイデアを与えるでしょう。

于 2012-07-03T13:54:52.323 に答える