急急急!VB运行时错误'3709',连接无法用于些操作
PrivateSubCommand2_Click()Fori=1To4IfTrim(Text1(i).Text)=""ThenMsgBoxLabel1(i).Captio...
Private Sub Command2_Click()For i = 1 To 4 If Trim(Text1(i).Text) = "" Then MsgBox Label1(i).Caption & " 不能为空": Exit SubNext i Dim rst As New ADODB.Recordset
If ID = "" Then rst.Open "select * from 金属材料信息, CN, adOpenStatic, adLockOptimistic" rst.AddNew
Else rst.Open "select * from 金属材料信息 where 编号=" & ID, CN, adOpenStatic, adLockOptimistic End If For i = 1 To 8 If Trim(Text1(i).Text) <> "" Then rst(i).Value = Trim(Text1(i).Text) Next irst.UpdateMsgBox "保存成功!"Unload Me
End Sub
求大神帮忙~~!是一个往库里添加信息的功能,录完要添加的信息后就报错了。不知道这语句有没有问题~
补充下
Private Sub Form_Activate()
If ID = "" Then '新建
Text1(1).Text = jsName
Else
Dim rst As New ADODB.Recordset
rst.Open "select * from 金属材料信息 where 编号=" & ID, CN, adOpenStatic, adLockOptimistic
If Not rst.EOF Then
For i = 0 To rst.Fields.Count - 1
If Not IsNull(rst(i)) Then Text1(i).Text = Trim(rst(i))
Next i
End If
End If
End Sub 展开
If ID = "" Then rst.Open "select * from 金属材料信息, CN, adOpenStatic, adLockOptimistic" rst.AddNew
Else rst.Open "select * from 金属材料信息 where 编号=" & ID, CN, adOpenStatic, adLockOptimistic End If For i = 1 To 8 If Trim(Text1(i).Text) <> "" Then rst(i).Value = Trim(Text1(i).Text) Next irst.UpdateMsgBox "保存成功!"Unload Me
End Sub
求大神帮忙~~!是一个往库里添加信息的功能,录完要添加的信息后就报错了。不知道这语句有没有问题~
补充下
Private Sub Form_Activate()
If ID = "" Then '新建
Text1(1).Text = jsName
Else
Dim rst As New ADODB.Recordset
rst.Open "select * from 金属材料信息 where 编号=" & ID, CN, adOpenStatic, adLockOptimistic
If Not rst.EOF Then
For i = 0 To rst.Fields.Count - 1
If Not IsNull(rst(i)) Then Text1(i).Text = Trim(rst(i))
Next i
End If
End If
End Sub 展开
5个回答
展开全部
创建的参数改成1,3;adOpenDynamic, adLockPessimistic
添加和查询不要搞在一起
另外建议,recordset对象最好在程序头部就申明,load就创建,程序结束就销毁。使用时候,用过就及时关闭Close。
使用recordset前还可以加一句判断,如果没有关闭,就先关闭。比如事前无论关闭与否都可以加这么一句:
If rst.State <> adStateClosed Then rst.Close
代码修改如下:
If ID = "" Then
If rst.State <> adStateClosed Then rst.Close
rst.Open "select * from 金属材料信息, CN, adOpenDynamic, adLockPessimistic"
rst.AddNew
For i = 1 To 8
If Trim(Text1(i).Text) <> "" Then rst(i).Value = Trim(Text1(i).Text)
Next i
rst.Update
End If
展开全部
rst.Open "select * from 金属材料信息 where 编号=" & ID, CN, adOpenStatic, adLockOptimistic
这一句里的CN(连接)没有被创建.
rst.update后要加上rst.close
这一句里的CN(连接)没有被创建.
rst.update后要加上rst.close
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个方面我熟。有无QQ加我396778305我给你远程搞定
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你给出的代码太少, 建议在 For i = 1 To 4 这行下断点,然后F8 一步一步运行,看看是哪步出的问题,再做判断
追问
补充了下,请问怎么加断点好呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询