我把数据库中的一个表绑定到一个datagrid(在这个表单中是用Adodc来连接数据库的)中;当进行添加记录时,弹出一个新的对话框实现。我现在想实现添加记录的功能,并且添加之后在datagrid中能显示出新添加的记录。数据库用的是Access。
我在添加对话框的确定的click事件中编程如下:
Private Sub Command1_Click()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strcnn As String
strcnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\jxc.mdb;Persist Security nfo=False"
Set cn = New ADODB.Connection//在这句出错,连接数据库不成功!
cn.Open strcnn
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
If Trim(Text1.Text) = "" Then
MsgBox "请输入编号!", vbOKOnly + vbExclamation, "警告"
Text1.SetFocus
Exit Sub
Else
rs.Open ("select * from jxc_gys")
While (rs.EOF = False)
If Trim(rs.Fields(0)) = Trim(Text1.Text) Then
MsgBox "编号已存在,请重新输入编号!", vbOKOnly + vbExclamation, "警告"
Text1.SetFocus
Text1.Text = ""
Else
mrc.MoveNext
End If
Wend
End If
rs.AddNew
rs.Fields(0) = Trim(Text1.Text)
rs.Update
rs.Close
cn.Close
MsgBox "添加供应商信息成功!", vbOKOnly + vbExclamation, "添加用户"
Unload Me
End Sub
上面的代码不能打开数据库,不知道是代码的问题,还是VB本身的问题,我的VB是从网上下载的一个精装版。
添加记录时连接数据库还有别的好办法吗?请帮忙解决,先谢谢了!
我在添加对话框的确定的click事件中编程如下:
Private Sub Command1_Click()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strcnn As String
strcnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\jxc.mdb;Persist Security nfo=False"
Set cn = New ADODB.Connection//在这句出错,连接数据库不成功!
cn.Open strcnn
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
If Trim(Text1.Text) = "" Then
MsgBox "请输入编号!", vbOKOnly + vbExclamation, "警告"
Text1.SetFocus
Exit Sub
Else
rs.Open ("select * from jxc_gys")
While (rs.EOF = False)
If Trim(rs.Fields(0)) = Trim(Text1.Text) Then
MsgBox "编号已存在,请重新输入编号!", vbOKOnly + vbExclamation, "警告"
Text1.SetFocus
Text1.Text = ""
Else
mrc.MoveNext
End If
Wend
End If
rs.AddNew
rs.Fields(0) = Trim(Text1.Text)
rs.Update
rs.Close
cn.Close
MsgBox "添加供应商信息成功!", vbOKOnly + vbExclamation, "添加用户"
Unload Me
End Sub
上面的代码不能打开数据库,不知道是代码的问题,还是VB本身的问题,我的VB是从网上下载的一个精装版。
添加记录时连接数据库还有别的好办法吗?请帮忙解决,先谢谢了!
然后按以下方法定义对象和连接
Dim Conn As Database
Dim rs As Recordset
Dim strSql As String
Set Conn = DBEngine.OpenDatabase("c:\jxc.mdb")
strSql = "select * from jxc_gys"
Set rs = Conn.Execute(strSql)
While Not rs.eof
rs![字段名]=xxxxxxxx
rs.Movenext
Wend
Set rs = Conn.OpenRecordset(strSql)
就ok了