给你个标准写法! Dim rs As ADODB.Recordset Dim strconnect As Stringstrconnect = "User ID=Admin;Password=;Data Source=" & g_dbname & _ ";Provider=Microsoft.Jet.OLEDB.3.51" SQL$="select * from 填报单位 " rs.Open sql$, strconnect, adOpenKeyset, adLockOptimistic, adCmdText Set DataGrid1.DataSource = rs
解决方法一,ADODB.Recordset使用客户端游标: ... adoRecordset.CursorLocation = adUseClient adoRecordset.Open "TableX", adoConnection', adOpenKeyset, AdLockOptimistic Set DataGridX.DataSource = adoRecordset ... 解决方法二,ADODB.Recordset仍使用默认的服务器端游标: Dim adoConnection As New ADODB.Connection Dim adoRecordset As ADODB.Recordset Set adoConnection = New ADODB.Connection Set adoRecordset = New ADODB.Recordset adoConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Access2K.mdb" adoRecordset.ActiveConnection = adoConnection '注意: adoRecordset.Properties("IRowsetIdentity") = True '==== adoRecordset.Open "TableX", , adOpenKeyset ', adLockOptimistic Set DataGridX.DataSource = adoRecordset
第一位朋友你的的方法没有用我的DATADRID连一点动静都没有了~
在*.dbf的数据文件中能否使用SQL语言?( j00-1381是foxpro2.5的数据库j00-1381.dbf; NO,NUM,DAT都是该表的字段。vb的代码如下, Private Sub Data1_Reposition() Dim strSql As StringIf Data1.Recordset.RecordCount = 0 ThenExit SubEnd If strSql = "SELECT [NO],[NUM],[DATA] FROM [j00-1381] WHERE_ [NO] <= 3900"Data1.RecordSource = strSql Data1.RefreshEnd Sub
wyo(欧亚大陆桥) 系统提示with变量块未设置~~~~
最后一句复制错了 Set DataGrid1.Recordset = rs 我疏忽了 另,要把DATAGRID1的COMMANDTYPE属性改为8
Dim rs As ADODB.Recordset Dim strconnect As String strconnect = "User ID=Admin;Password=;Data Source=" & 你的数据库位置 & _ ";Provider=Microsoft.Jet.OLEDB.3.51" SQL$="select * from 填报单位 " rs.Open sql$, strconnect, adOpenKeyset, adLockOptimistic, adCmdText Set DataGrid1.DataSource = rs我又说错了!是RS的COMMANDTYPE为8。非常非常对不起。
我靠,我倒!Private Sub Form_Load() Dim RS As New ADODB.Recordset Dim strconnect As String Dim gb As String gb = "d:\cmis\sale.mdb" '这里写你数据库的位置 strconnect = "User ID=Admin;Password=;Data Source=" & gb & _ ";Provider=Microsoft.Jet.OLEDB.3.51" sql$ = "select * from 临时售货表" '用你的表代替 RS.Open sql$, strconnect, adOpenKeyset, adLockOptimistic, adCmdText Set rss.Recordset = RS 'RSS为一ADO控件 Set DataGrid1.DataSource = rssEnd SubRSS为你的ADO控件的名称 你把上面代码复制到一个窗体中就行了。记住,你要添加ADO控件。应用ADO库。 我已经测试了,不可能再有错误。在不会,我也没法
给你看看 Microsoft 官方解决方案,与 playyuer 的解决方法二是一样的! PRB: DataGrid Not Populated Using Jet.OLEDB.4.0 Provider and ADO Server Side Cursor http://support.microsoft.com/support/kb/articles/q224/1/92.asp?LN=EN-US&SD=gn&FR=0&qry=&rnk=6&src=DHCS_MSPSS_gn_SRCH&SPR=VBB
Dim rs As ADODB.Recordset
Dim strconnect As Stringstrconnect = "User ID=Admin;Password=;Data Source=" & g_dbname & _
";Provider=Microsoft.Jet.OLEDB.3.51"
SQL$="select * from 填报单位 "
rs.Open sql$, strconnect, adOpenKeyset, adLockOptimistic, adCmdText
Set DataGrid1.DataSource = rs
...
adoRecordset.CursorLocation = adUseClient
adoRecordset.Open "TableX", adoConnection', adOpenKeyset, AdLockOptimistic
Set DataGridX.DataSource = adoRecordset
...
解决方法二,ADODB.Recordset仍使用默认的服务器端游标:
Dim adoConnection As New ADODB.Connection
Dim adoRecordset As ADODB.Recordset
Set adoConnection = New ADODB.Connection
Set adoRecordset = New ADODB.Recordset
adoConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Access2K.mdb"
adoRecordset.ActiveConnection = adoConnection
'注意:
adoRecordset.Properties("IRowsetIdentity") = True
'====
adoRecordset.Open "TableX", , adOpenKeyset ', adLockOptimistic
Set DataGridX.DataSource = adoRecordset
j00-1381是foxpro2.5的数据库j00-1381.dbf;
NO,NUM,DAT都是该表的字段。vb的代码如下,
Private Sub Data1_Reposition()
Dim strSql As StringIf Data1.Recordset.RecordCount = 0 ThenExit SubEnd If
strSql = "SELECT [NO],[NUM],[DATA] FROM [j00-1381] WHERE_ [NO] <= 3900"Data1.RecordSource = strSql
Data1.RefreshEnd Sub
系统提示with变量块未设置~~~~
Set DataGrid1.Recordset = rs
我疏忽了
另,要把DATAGRID1的COMMANDTYPE属性改为8
我找不到datagrid的commandtype另外~
你能否严肃点帮我写一遍看能不能不通过在给我~写上具体数据库名称~
Dim strconnect As String
strconnect = "User ID=Admin;Password=;Data Source=" & 你的数据库位置 & _
";Provider=Microsoft.Jet.OLEDB.3.51"
SQL$="select * from 填报单位 "
rs.Open sql$, strconnect, adOpenKeyset, adLockOptimistic, adCmdText
Set DataGrid1.DataSource = rs我又说错了!是RS的COMMANDTYPE为8。非常非常对不起。
Dim RS As New ADODB.Recordset
Dim strconnect As String
Dim gb As String
gb = "d:\cmis\sale.mdb" '这里写你数据库的位置
strconnect = "User ID=Admin;Password=;Data Source=" & gb & _
";Provider=Microsoft.Jet.OLEDB.3.51"
sql$ = "select * from 临时售货表" '用你的表代替
RS.Open sql$, strconnect, adOpenKeyset, adLockOptimistic, adCmdText
Set rss.Recordset = RS 'RSS为一ADO控件
Set DataGrid1.DataSource = rssEnd SubRSS为你的ADO控件的名称
你把上面代码复制到一个窗体中就行了。记住,你要添加ADO控件。应用ADO库。
我已经测试了,不可能再有错误。在不会,我也没法
cn.cursorlocation=aduseclient //加上这句没问题
解决方法一,ADODB.Recordset使用客户端游标:
...
adoRecordset.CursorLocation = adUseClient
adoRecordset.Open "TableX", adoConnection', adOpenKeyset, AdLockOptimistic
Set DataGridX.DataSource = adoRecordset
...
只要加上这条语句就可以了: Adodc1.CursorLocation = adUseClient
PRB: DataGrid Not Populated Using Jet.OLEDB.4.0 Provider and ADO Server Side Cursor
http://support.microsoft.com/support/kb/articles/q224/1/92.asp?LN=EN-US&SD=gn&FR=0&qry=&rnk=6&src=DHCS_MSPSS_gn_SRCH&SPR=VBB