Private Sub Command1_Click() Dim cn As Connection Dim rs As New Recordset Dim sum, ConStr As String Set cn = New Connection ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\ttj02.Mdb" cn.Open ConStr cn.CursorLocation = adUseClient rs.Open "Select * From nr", cn, 1, 3 sum = rs("neirong") + Text2.Text Dim o As String o = Form1.combo rs.Close rs.Open "Select * From nr Where ziliao= '" & o & "'" MsgBox " " & sum & " " rs.AddNew rs("neirong") = sum rs.Update rs.Close Set rs = Nothing End Sub
Private Sub Command1_Click() Dim cn As Connection Dim rs As New Recordset Dim sum, ConStr As String Set cn = New Connection ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\ttj02.Mdb" cn.Open ConStr cn.CursorLocation = adUseClient rs.Open "Select * From nr", cn, 1, 3 sum = rs("neirong") + Text2.Text Dim o As String o = Form1.combo rs.Close rs.Open "Select * From nr Where ziliao= '" & o & "'" MsgBox " " & sum & " " rs.AddNew rs("neirong") = sum rs.Update rs.Close Set rs = Nothing End Sub
Private Sub Command1_Click() Dim cn As Connection Dim rs As New Recordset Dim sum as long, ConStr As String
Set cn = New Connection ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\ttj02.Mdb" cn.Open ConStr 'cn.CursorLocation = adUseClient 'rs.Open "Select * From nr", cn, 1, 3 '这个记录集会返回表中所有数据,你如果只想得到一条neirong值,就应该加WHERE子句有条件的打开。 Dim o As String o = Form1.combo rs.Open "Select * From nr Where ziliao= '" & o & "'", cn, 1, 3 '有可能上面返回了空记录集,所以要加判断: if not rs.eof and not rs.bof then sum = val(format(rs("neirong"))) + val(Text2.Text) '我把sum声明为long else sum = val(Text2.Text) end if rs.Close MsgBox sum 'rs.Open "Select * From nr Where ziliao= '" & o & "'" '用addnew方法添加数据按如下语句打开记录集 rs.Open "Select * From nr Where 1=0",cn,3,3 rs.AddNew rs("neirong") = sum rs.Update rs.Close Set rs = Nothing set cn=nothing End Sub
rs.Open "Select * From nr Where ziliao= '" & o & "'" 你这个查询都不知道出多少记录哦 rs.Open "Select * From nr Where ziliao= '" & o & "'", cn, 1, 3 我只想把文本框中文本写入数据库,不需要做什么计算,不知道哪里写错了 if not rs.eof and not rs.bof then for i = 1 to rs.Count rs("neirong")= rs("neirong") & vbnullstring & Text2.Text rs.movenext next rs.update end if
rs.Close
17楼请问这句是什么意思? rs.Open "Select * From nr Where 1=0",cn,3,3
Dim cn As Connection
Dim rs As New Recordset
Dim sum, ConStr As String
Set cn = New Connection
ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\ttj02.Mdb"
cn.Open ConStr
cn.CursorLocation = adUseClient
rs.Open "Select * From nr", cn, 1, 3
sum = rs("neirong") + Text2.Text
Dim o As String
o = Form1.combo
rs.Close
rs.Open "Select * From nr Where ziliao= '" & o & "'"
MsgBox " " & sum & " "
rs.AddNew
rs("neirong") = sum
rs.Update
rs.Close
Set rs = Nothing
End Sub
Dim cn As Connection
Dim rs As New Recordset
Dim sum, ConStr As String
Set cn = New Connection
ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\ttj02.Mdb"
cn.Open ConStr
cn.CursorLocation = adUseClient
rs.Open "Select * From nr", cn, 1, 3
sum = rs("neirong") + Text2.Text
Dim o As String
o = Form1.combo
rs.Close
rs.Open "Select * From nr Where ziliao= '" & o & "'"
MsgBox " " & sum & " "
rs.AddNew
rs("neirong") = sum
rs.Update
rs.Close
Set rs = Nothing
End Sub
cn.CursorLocation = adUseClient 两行的位置颠倒一下试试
---------------------
sum = val(rs("neirong")) + val(Text2.Text)
可SUM完全没取到数据啊,MsgBox " " & sum & " " 为空,怎么回事?我明明在文本框里写数据了,好象没进去啊~~~
Dim sum, ConStr As String
这样sum并不是string,而是Variant,所以当你rs("neirong") is null的时候,Variant对包含null的表达式,计算结果总是null
你在Text1 输入了什么东西?可否详细写出来?
你要不清楚错误所在,以后还是会犯类似的错误,你试下:
如果sum是string:
sum = format(rs("neirong")) & Text2.Text如果sum是long:
sum = val(format(rs("neirong"))) + Text2.Text
之前的代码去掉错误后,MsgBox " " & sum & " " 为空,后来去看数据库,发现增加了好几空行,本来想实现对1-16行相应字段的数据写入,怎么会变成增加行,且是空的?
Dim cn As Connection
Dim rs As New Recordset
Dim sum as long, ConStr As String
Set cn = New Connection
ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\ttj02.Mdb"
cn.Open ConStr
'cn.CursorLocation = adUseClient
'rs.Open "Select * From nr", cn, 1, 3 '这个记录集会返回表中所有数据,你如果只想得到一条neirong值,就应该加WHERE子句有条件的打开。
Dim o As String
o = Form1.combo
rs.Open "Select * From nr Where ziliao= '" & o & "'", cn, 1, 3
'有可能上面返回了空记录集,所以要加判断:
if not rs.eof and not rs.bof then
sum = val(format(rs("neirong"))) + val(Text2.Text) '我把sum声明为long
else
sum = val(Text2.Text)
end if
rs.Close
MsgBox sum 'rs.Open "Select * From nr Where ziliao= '" & o & "'" '用addnew方法添加数据按如下语句打开记录集
rs.Open "Select * From nr Where 1=0",cn,3,3
rs.AddNew
rs("neirong") = sum
rs.Update
rs.Close
Set rs = Nothing
set cn=nothing
End Sub
你这个查询都不知道出多少记录哦 rs.Open "Select * From nr Where ziliao= '" & o & "'", cn, 1, 3
我只想把文本框中文本写入数据库,不需要做什么计算,不知道哪里写错了 if not rs.eof and not rs.bof then
for i = 1 to rs.Count
rs("neirong")= rs("neirong") & vbnullstring & Text2.Text
rs.movenext
next
rs.update
end if
rs.Close
rs.Open "Select * From nr Where 1=0",cn,3,3
这个是返回一个只有字段名称没有数据的记录集。在用addnew方法添加数据时,没有特别需要可以这样处理。