Public   conn   As   ADODB.Connection 
'Function   conndb()   连接数据库函数 
Public   Function   conndb()   As   Boolean         Dim   constring   As   String 
        Set   conn   =   New   ADODB.Connection 
        conn.CursorLocation   =   adUseClient         constring   =   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source= " 
        constring   =   constring   &   App.Path   &   "\1234.mdb;Persist   Security   Info=False;Jet   OLEDB: " 
        On   Error   GoTo   Errhandle 
        conn.Open   constring 
        conndb   =   True         Exit   Function 
Errhandle: 
        MsgBox   "连接数据库错误,原因是: "   &   Err.Description,   vbCritical,   "错误 " 
End   Function 
Private   Sub   Command1_Click() 
        
        Dim   i   As   Long 
        Dim   rsNewData   As   ADODB.Recordset 
        Dim   strSql   As   String 
        Dim   x 
        
        Call   conndb 
        
         Set   rsNewData   =   New   ADODB.Recordset 
        rsNewData.CursorLocation   =   adUseClient 
        
        rsNewData.Open   "Select   (sg+tz)   as   身高,tz   AS   体重   from   [200533013333D2F]   ",   conn,   adOpenStatic,   adLockOptimistic         Set   rsNewData.ActiveConnection   =   Nothing 
        rsNewData.MoveFirst 
        
        For   i   =   0   To   rsNewData.RecordCount   -   1 
                
                rsNewData.Fields( "体重 ")   =   888 
                rsNewData.Fields( "身高 ")   =   888 
                
                x   =   DoEvents 
                
                rsNewData.MoveNext 
                Label1.Caption   =   i         Next 
                              
        MsgBox   "完成 " 
 End   Sub        
问题是:现可以修改由原数据库中物理字段AS后的字段,但如多个字段相加后AS的字段或汇总,求和等处理后的在记录集中AS的字段都无法修改,求教,1.能否修改,2.要如何操作.请先试试后再解解答,求教..............................

解决方案 »

  1.   

    问题不是很明确,我猜测是想修改sg、tz等吧?
    我想是不能的,若sg+tz=100,sg、tz各自等于多少?
      

  2.   

    [200533013333D2F]
    别这样用
    用字符串 "Select       (sg+tz)       as       身高,tz       AS       体重       from '+s
      

  3.   

    hpygzhx520:是要修改新生成的这个字段中的值.tianhuo_soft :与表名没关系呀!我要修改的是字段的值,只是这个字段不是物理数据库中存在的,而是经过某些运算后AS的的.
      

  4.   

    还有这种需求,既然(sg+tz)as 身高 的值由sg 和tz两个字段决定,对其中的一项或两项
    进行的修改不都影响到"身高"吗?
      

  5.   

    我最主要是想知道能不能直接修改记录集中这样经运算合成后得到的的字段,要如何操作! 
    其它的代用方法我是有的. 
    如!重新生成一个记录集.或.Into   到一个新表中.
      

  6.   

    按照你这种要求 不如把数据集导入到数组变量 然后修改数组变量中的值 使用的时候直接使用数组 而不是数据集
    dim datatmp
    sNewData.open ... 这句省略
    datatmp=sNewData.getrows
    然后你就去实时修改datatmp 数组中的数据了