Private Sub Command1_Click()
    Dim lngFieldsTotal As Long    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset
    
    '1如何在程序中对字段进行计算,当已知字段1,字段2,字段3=字段1的值*字段2的值自动生成。代码如何写
    rs.Open
    rs.Fields(3) = rs.Fields(1) * rs.Fields(2)
    rs.Update
    
    '2如何让几个记录某个字段相加
    '这里演示的是以Fields(1)>0为条件的记录的Fields(2)相加
    rs.MoveFirst
    lngFieldsTotal = 0
    Do While Not rs.EOF
        If rs.Fields(1) > 0 Then
            lngFieldsTotal = lngFieldsTotal + rs.Fields(2)
        End If
        rs.MoveNext
    Loop
    MsgBox "符合条件的记录的Fields(2)和是" & lngFieldsTotal, vbInformation
    
    '3 vb如何用代码对某个字段付值
    MsgBox rs.Fields(2).Value
    rs.Fields(2).Value = 10000
    rs.Update
    MsgBox rs.Fields(2).Value
    
    '以下代码意义完全相同,只是在字段值引用时略去了Value
    MsgBox rs.Fields(2)
    rs.Fields(2) = 10000
    rs.Update
    MsgBox rs.Fields(2)
    
End Sub

解决方案 »

  1.   

    我的做法如下:
    Dim Con As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim SqlStr As String
    Con.ConnectionString = ""
    '如何在程序中对字段进行计算,当已知字段1,字段2,字段3=字段1的值*字段2的值
    自动生成。代码如何写
    SqlStr = "UPDATE TABLE1 SET Field3 = (Field1 * Field2)"
    Set rs = Con.Execute(SqlStr)
    '2如何让几个记录某个字段相加
    SqlStr = "SELECT SUM(Field1) AS Field3Sum FROM TABLE1 WHERE 条件1"
    Set rs = Con.Execute(SqlStr)
    '3 vb如何用代码对某个字段付值
    SqlStr = "UPDATE TABLE1 SET Field1 = 100,Field2 = 1000 WHERE 条件1"
    Con.Execute (SqlStr)我的方法比较简单,不过要会SQL文的基本用法。