程序运行时没有任何报错 只是在修改数据后点击存储按钮,再打开数据库,原来要修改的那一行没有变化 但是如果向表里添加一行数据的话,点击保存后,查看数据库里面就成功添加了一行数据Public Sub Command3_Click()’保存按钮 On Error Resume Next adoRS5.MoveFirst
Dim xchoose As VbMsgBoxResult Dim i As Integer For i = 0 To adoRS5.RecordCount - 1 On Error Resume Next If adoRS5.Fields("CP-BH").Value = Form1.Text1(3).Text Then xchoose = MsgBox("此产品编号的电压比和移相角数据已经存在,是否覆盖?", vbYesNo, "注意") Select Case xchoose Case vbYes Xorsave = False
Call AdoAdd5
MsgBox "电压比和移相角数据数据保存完成!" Form7.Command1.Enabled = True bc5 = 1 Exit Sub Case vbNo Exit Sub End Select Else adoRS5.MoveNext
End Sub 这是我的修改及添加保存过程。在建立ACCESS数据库表时,我没有设置任何属性,而且9张表都是一样建立的,只有一样表不能修改,但是可以添加,真是很邪门!
Public Sub AdoAdd5() '存储实验数据---电压比及移相角测量 With adoRS5
If (Form7.Text1(0).Text = "" Or Form7.Text1(0).Visible = False) Then .Fields(0).Value = "/" Else .Fields(0).Value = Form7.Text1(0).Text End If
.Fields(1).Value = Form7.Combo1.Text
For ii = 1 To 108 If (Form7.Text1(ii).Text = "" Or Form7.Text1(ii).Visible = False) Then .Fields(1 + ii).Value = "/" Else .Fields(1 + ii).Value = Form7.Text1(ii).Text End If Next
.Fields("CP-BH").Value = Form1.Text1(3).Text
End With adoRS5.UpdateBatch adAffectAll End Sub 这是我的代码,请帮我看看怎么回事?已经好几天了都找不原因
建议新增用这种方法: conn.execute "insert into 表名(...) values(...)"
只是在修改数据后点击存储按钮,再打开数据库,原来要修改的那一行没有变化
但是如果向表里添加一行数据的话,点击保存后,查看数据库里面就成功添加了一行数据Public Sub Command3_Click()’保存按钮
On Error Resume Next
adoRS5.MoveFirst
Dim xchoose As VbMsgBoxResult
Dim i As Integer
For i = 0 To adoRS5.RecordCount - 1
On Error Resume Next
If adoRS5.Fields("CP-BH").Value = Form1.Text1(3).Text Then
xchoose = MsgBox("此产品编号的电压比和移相角数据已经存在,是否覆盖?",
vbYesNo, "注意")
Select Case xchoose
Case vbYes
Xorsave = False
Call AdoAdd5
MsgBox "电压比和移相角数据数据保存完成!"
Form7.Command1.Enabled = True
bc5 = 1
Exit Sub
Case vbNo
Exit Sub
End Select
Else
adoRS5.MoveNext
End If
Next
adoRS5.MoveLast
adoRS5.AddNew
Call AdoAdd5
MsgBox "电压比和移相角单数据保存完成!"
Form7.Command1.Enabled = True
bc5 = 1
End Sub 这是我的修改及添加保存过程。在建立ACCESS数据库表时,我没有设置任何属性,而且9张表都是一样建立的,只有一样表不能修改,但是可以添加,真是很邪门!
With adoRS5
If (Form7.Text1(0).Text = "" Or Form7.Text1(0).Visible = False) Then
.Fields(0).Value = "/"
Else
.Fields(0).Value = Form7.Text1(0).Text
End If
.Fields(1).Value = Form7.Combo1.Text
For ii = 1 To 108
If (Form7.Text1(ii).Text = "" Or Form7.Text1(ii).Visible = False) Then
.Fields(1 + ii).Value = "/"
Else
.Fields(1 + ii).Value = Form7.Text1(ii).Text
End If
Next
.Fields("CP-BH").Value = Form1.Text1(3).Text
End With
adoRS5.UpdateBatch adAffectAll
End Sub 这是我的代码,请帮我看看怎么回事?已经好几天了都找不原因
conn.execute "insert into 表名(...) values(...)"
ACCESS限制可真多