我看了 属性是 “不锁定 ”
帮我看下程序
Dim conn As ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql As String
Set conn = New ADODB.Connection
conn.Provider = "MSDataShape"
conn.ConnectionString = "Provider=MSDataShape;Data Source=D:\access\我的作品\路安娜\vip.mdb; Data Provider=Microsoft.Jet.OLEDB.4.0" ’这句是关键
conn.Open
sql = "SHAPE {SELECT 单据编号 FROM dbo_vip销售表} AS Orders " + _
"APPEND ({SELECT * FROM [dbo_vip销售表明细]} AS detail " + _
"RELATE '单据编号' TO '单据编号') AS detail"
rs.StayInSync = True
rs.Open sql, conn
Set MSHFlexGrid1.DataSource = rs
关键是这如果我把“Data Source=”改成另外一个数据库,这个控件用着就没问题 ,但是只要把Data Source=自身数据库 就会提示上面的错误 。
比如我现在打开的窗体是D:\access\我的作品\路安娜\vip.mdb
Data Source也设置成vip.mdb 就会提示错误。
如果设置成VIP1.mdb 就没事。
试试以下代码:
Dim cn As New ADODB.Connection
Dim rst As New ADODB.Recordset
dim strsql as string
strsql = "SHAPE {SELECT 单据编号 FROM dbo_vip销售表} AS Orders " + _
"APPEND ({SELECT * FROM [dbo_vip销售表明细]} AS detail " + _
"RELATE '单据编号' TO '单据编号') AS detail"
Set cn = CurrentProject.Connection
rst.ActiveConnection = cn
rst.CursorType = adOpenDynamic
rst.LockType = adLockOptimistic
rst.Open strsql
Set MSHFlexGrid1.DataSource = rst
试了 但提示无效的SQL语句

可能是因为“ SHAPE ” 因为这个不是一般的sql语句,得在一定的环境下才能执行。就是在conn.Provider = "MSDataShape" 这个环境下
总记录:4篇 页次:1/1 9 1 :