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.要如何操作.请先试试后再解解答,求教..............................
'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.要如何操作.请先试试后再解解答,求教..............................
我想是不能的,若sg+tz=100,sg、tz各自等于多少?
别这样用
用字符串 "Select (sg+tz) as 身高,tz AS 体重 from '+s
进行的修改不都影响到"身高"吗?
其它的代用方法我是有的.
如!重新生成一个记录集.或.Into 到一个新表中.
dim datatmp
sNewData.open ... 这句省略
datatmp=sNewData.getrows
然后你就去实时修改datatmp 数组中的数据了