高手请教几个很菜的问题:
1、怎样将数据库中的内容通过spread7.0控件显示出来?
2、spread7.0的注册码有没有?最好能提供中文使用手册

解决方案 »

  1.   

    Public   Sub   DisPlayDate()   
              Dim   ADORst   As   ADODB.Recordset   
              Dim   ADORst1   As   ADODB.Recordset   
              Dim   ADORst2   As   ADODB.Recordset   
              Dim   ADORst3   As   ADODB.Recordset   
              Dim   strSQL   As   String   
              Dim   strSQL1   As   String   
              Dim   Nrow   As   Integer   
        
              
                      strSQL   =   ""   
                      strSQL   =   strSQL   &   "SELECT                                                               "   &   vbCrLf   
                      strSQL   =   strSQL   &   "               dbo.T_M_Assetssubject.Assetssubjectcode,           "   &   vbCrLf   
                      strSQL   =   strSQL   &   "               dbo.T_M_Assetssubject.Assetssubjectname,           "   &   vbCrLf   
                      strSQL   =   strSQL   &   "               dbo.T_M_Assetssubject.Assetsdivisioncode,         "   &   vbCrLf   
                      strSQL   =   strSQL   &   "               dbo.T_M_Assetssubject.Redemptioncode,                 "   &   vbCrLf   
                      strSQL   =   strSQL   &   "               dbo.T_M_Assetssubject.AccountItemCode                 "   &   vbCrLf   
                      strSQL   =   strSQL   &   "FROM                                                                                                 "   &   vbCrLf   
                      strSQL   =   strSQL   &   "                       dbo.T_M_Assetssubject                                         "   &   vbCrLf   
                      strSQL   =   strSQL   &   "ORDER   BY                                                                                         "   &   vbCrLf   
                      strSQL   =   strSQL   &   "     dbo.T_M_Assetssubject.Assetssubjectcode,                     "   &   vbCrLf   
                      strSQL   =   strSQL   &   "     dbo.T_M_Assetssubject.Assetssubjectname,                     "   &   vbCrLf   
                      strSQL   =   strSQL   &   "     dbo.T_M_Assetssubject.Assetsdivisioncode,                   "   &   vbCrLf   
                      strSQL   =   strSQL   &   "     dbo.T_M_Assetssubject.Redemptioncode,                           "   &   vbCrLf   
                      strSQL   =   strSQL   &   "     dbo.T_M_Assetssubject.AccountItemCode                           "   &   vbCrLf   
                      Set   ADORst   =   Connection.OpenSQL(strSQL,   adOpenKeyset,   adLockOptimistic)   
                      Nrow   =   0   
                      ADORst.MoveFirst   
                      Do   Until   ADORst.EOF   
                              Nrow   =   Nrow   +   1   
                              With   sprAssetsitemsMaster   
                                      .Row   =   Nrow   
                                      .Col   =   1   
                                      .Value   =   ADORst.Fields(0)   
                                      .Col   =   2   
                                      .Value   =   ADORst.Fields(1)   
                                      .Col   =   3         '第三列是COMBOBOX单元格,我在给其初始赋值时有两个字段(   
                  '   CODE,NAME),最终显示时想只显示CODE,NAME在他后面的单元格里显示   
                                      .Value   =   ADORst.Fields(2)   
                                      Dim   Adc   As   Integer   
                                      Adc   =   .Value   
                                      .Col   =   4     '第四列要显示的NAME   
                                      strSQL1   =   ""   
                                      strSQL1   =   strSQL1   &   "SELECT                       Assetsdivision   "   &   vbCrLf   
                                      strSQL1   =   strSQL1   &   "FROM                                                                   "   &   vbCrLf   
                                      strSQL1   =   strSQL1   &   "                       T_M_Assetsdivision                                 "   &   vbCrLf   
                                      strSQL1   =   strSQL1   &   "WHERE                                                                   "   &   vbCrLf   
                                      strSQL1   =   strSQL1   &   "                 Assetsdivisioncode="   &   CStr(Adc)   &   vbCrLf   
                                      Set   ADORst1   =   Connection.OpenSQL(strSQL1,   adOpenKeyset,   adLockOptimistic)   
                                      .Value   =   CStr(ADORst1.Fields(0))   
                                      Call   CloseRecordset(ADORst1)   
                                      .Col   =   5   
                                      ADORst.MovePrevious   
                                      .Value   =   ADORst.Fields(3)   
                                      Dim   RC   As   Integer   
                                      RC   =   .Value   
                                      .Col   =   6   
                                      strSQL1   =   ""   
                                      strSQL1   =   strSQL1   &   "SELECT                     Redemptionname               "   &   vbCrLf   
                                      strSQL1   =   strSQL1   &   "FROM                                                                   "   &   vbCrLf   
                                      strSQL1   =   strSQL1   &   "                       T_M_Redemption                         "   &   vbCrLf   
                                      strSQL1   =   strSQL1   &   "WHERE                                                                   "   &   vbCrLf   
                                      strSQL1   =   strSQL1   &   "                 Redemptioncode="   &   CStr(RC)       &   vbCrLf   
                                      Set   ADORst2   =   Connection.OpenSQL(strSQL1,   adOpenKeyset,   adLockOptimistic)   
                                      .Value   =   CStr(ADORst2.Fields(0))   
                                      Call   CloseRecordset(ADORst2)   
                                        
                                        
                                      .Col   =   7   
                                      .Value   =   ADORst.Fields(4)   
                                      Dim   AIN   As   Integer   
                                      AIN   =   .Value   
                                      .Col   =   8   
                                      strSQL1   =   ""   
                                      strSQL1   =   strSQL1   &   "SELECT                       AccountItemName                     "   &   vbCrLf   
                                      strSQL1   =   strSQL1   &   "FROM                                                                             "   &   vbCrLf   
                                      strSQL1   =   strSQL1   &   "                       T_M_AccountItem                                 "   &   vbCrLf   
                                      strSQL1   =   strSQL1   &   "WHERE                                                                           "   &   vbCrLf   
                                      strSQL1   =   strSQL1   &   "                 AccountItemCode="   &   CStr(AIN)               &   vbCrLf   
                                      Set   ADORst3   =   Connection1.OpenSQL(strSQL1,   adOpenKeyset,   adLockOptimistic)   
                                      .Value   =   CStr(ADORst3.Fields(0))   
                                        Call   CloseRecordset(ADORst3)   
                                      .MaxRows   =   Nrow   +   1   
                              End   With   
                              If   ADORst.EOF   =   False   Then   
                                      ADORst.MoveNext   
                                      
                              End   If   
                    Loop   
      end   sub   
      

  2.   

    楼上的做法效率很低,还不如用绑定来得快。Private Sub Form_Load()
            
        ' 初始化 Spread,当然也可以在Spread设计器里做
        With fpSpread1
        
            .MaxRows = 0
            .MaxCols = 3
            
            .Col = 1
            .DataField = "EmployeeID"
                
            .Col = 2
            .DataField = "FirstName"
            
            .Col = 3
            .DataField = "LastName"
            
            '...
            
        End With
        
    End Sub' 绑定到数据源
    Private Sub Command1_Click()
        
        Set fpSpread1.DataSource = Adodc1
        fpSpread1.MaxRows = fpSpread1.DataRowCnt
        
    End Sub
      

  3.   

    留个Email,我发个注册码给你。
      

  4.   

    我现在用的是6.0,主要这么用:
    With spdList
        .MaxRows = 0
        .MaxCols = 0
        .MaxRows = Rs.RecordCount
        .MaxCols = Rs.Fields.Count
        Do While Not Rs.EOF
          pRow = pRow + 1
          .Row = pRow
          .Col = 1: .Text = "" & Rs(0)
          .Col = 2: .Text = "" & Rs(1)
          .Col = 3: .Text = "" & Rs(2)
          .Col = 4: .Text = "" & Rs(3)
          .Col = 5: .Text = "" & Rs(4)
          .Col = 6: .Text = "" & Rs(5)
          .Col = 7: .Text = "" & Rs(6)
          Rs.MoveNext
        Loop
      
        .Row = -1
        .Col = 1
        .Lock = True
        
        .Row = -1
        .Col = 7
        .Lock = True
      End With
      

  5.   

    fj182,你好,假如我想把某列(.col=1)设成combo控件,在spread design设完后,用你的代码会失去combo1.
    要求:combo的初始值为数据表的字段值,下拉框可选择。如何办?