我的代码提示如下错误,哪位大侠帮我改改代码,重分感谢run-time error '7004':
the rowset is not bookable.我的窗体代码如下:
Option Explicit
Dim strSql As StringPrivate Sub Combo1_Click()
If Rs.State = adStateOpen Then Rs.Close
strSql = "select * from " & Combo1.Text
Rs.Open strSql, con, adOpenDynamic, adLockReadOnly
Set DataGrid1.DataSource = Rs
End SubPrivate Sub Form_Load()
Combo1.AddItem "Department"
Combo1.AddItem "Employee"
Combo1.AddItem "Operator"
Combo1.AddItem "AccountType"
Combo1.AddItem "Customer"
Combo1.AddItem "ATMCard"
Combo1.AddItem "CheckBookDetails"
Combo1.AddItem "TransactionsOfAccount"
Combo1.AddItem "TransactionOfCheckBook"
Combo1.AddItem "TransactionOfATMCard" Call connectionSQLServer//为模块代码,见下
End Sub另外模块代码如下
Public strServerName As String
Public strOperator As String
Public LoginSucceeded As Boolean
Public con As Connection
Public Rs As Recordset
Public com As CommandPublic Sub getSQLServerName()
If GetSetting("OnlineBankingDB", "SQL Server Name", "ServerName") = "" Then
strServerName = InputBox("请输入数据库服务器名称")
SaveSetting "OnlineBankingDB", "SQL Server Name", "ServerName", strServerName
Else
strServerName = GetSetting("OnlineBankingDB", "SQL Server Name", "ServerName")
End If
End SubPublic Sub connectionSQLServer()
Set con = New Connection
Set Rs = New Recordset
Set com = New Command
On Error GoTo errorhandler
Call getSQLServerName
Set con = New Connection
With con
.Provider = "sqloledb"
.ConnectionString = "user id=sa;" & _
"password=810614;" & _
"data source=" & strServerName & _
";initial catalog=OnlineBankingDB"
.Open
End With
com.ActiveConnection = con
Exit Sub
errorhandler:
MsgBox Err.Number & Err.Source & Err.Description
End Sub
the rowset is not bookable.我的窗体代码如下:
Option Explicit
Dim strSql As StringPrivate Sub Combo1_Click()
If Rs.State = adStateOpen Then Rs.Close
strSql = "select * from " & Combo1.Text
Rs.Open strSql, con, adOpenDynamic, adLockReadOnly
Set DataGrid1.DataSource = Rs
End SubPrivate Sub Form_Load()
Combo1.AddItem "Department"
Combo1.AddItem "Employee"
Combo1.AddItem "Operator"
Combo1.AddItem "AccountType"
Combo1.AddItem "Customer"
Combo1.AddItem "ATMCard"
Combo1.AddItem "CheckBookDetails"
Combo1.AddItem "TransactionsOfAccount"
Combo1.AddItem "TransactionOfCheckBook"
Combo1.AddItem "TransactionOfATMCard" Call connectionSQLServer//为模块代码,见下
End Sub另外模块代码如下
Public strServerName As String
Public strOperator As String
Public LoginSucceeded As Boolean
Public con As Connection
Public Rs As Recordset
Public com As CommandPublic Sub getSQLServerName()
If GetSetting("OnlineBankingDB", "SQL Server Name", "ServerName") = "" Then
strServerName = InputBox("请输入数据库服务器名称")
SaveSetting "OnlineBankingDB", "SQL Server Name", "ServerName", strServerName
Else
strServerName = GetSetting("OnlineBankingDB", "SQL Server Name", "ServerName")
End If
End SubPublic Sub connectionSQLServer()
Set con = New Connection
Set Rs = New Recordset
Set com = New Command
On Error GoTo errorhandler
Call getSQLServerName
Set con = New Connection
With con
.Provider = "sqloledb"
.ConnectionString = "user id=sa;" & _
"password=810614;" & _
"data source=" & strServerName & _
";initial catalog=OnlineBankingDB"
.Open
End With
com.ActiveConnection = con
Exit Sub
errorhandler:
MsgBox Err.Number & Err.Source & Err.Description
End Sub
改成Rs.Open strSql, con, adOpenStatic, adLockOptimistic
Dim strSql As String
Private Sub Combo1_Click()
If Rs.State = adStateOpen Then Rs.Close
strSql = "select * from " & Combo1.Text
con.CursorLocation = adUseClient//必须
Rs.Open strSql, con, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = Rs
End SubPrivate Sub Form_Load()
Combo1.AddItem "Department"
Combo1.AddItem "Employee"
Combo1.AddItem "Operator"
Combo1.AddItem "AccountType"
Combo1.AddItem "Customer"
Combo1.AddItem "ATMCard"
Combo1.AddItem "CheckBookDetails"
Combo1.AddItem "TransactionsOfAccount"
Combo1.AddItem "TransactionOfCheckBook"
Combo1.AddItem "TransactionOfATMCard" Call connectionSQLServer
End Sub