vb6 sp6 datagrid 怎么进行多表显示?

来源:百度知道 编辑:UC知道 时间:2024/09/28 14:58:33
用vb6sp6自带的可视化数据管理器建立了两个表OPERATION和USER,前者有OP_ID、OP_SALESID等字段后者有USER_ID等,全部字符型,希望用DATAGRID将两个表同时显示。语句如下:

Dim rs As New ADODB.Recordset
Dim CNN As New ADODB.Connection
CNN.ConnectionString = Conn
CNN.Open
rs.ActiveConnection = CNN
rs.CursorLocation = adUseClient
rs.LockType = adLockOptimistic
rs.Open "SELECT O.OP_ID,O.OP_SALESID,U.USER_ID FROM OPERATION AS O INNER JOIN USER AS U ON O.OP_SALESID = U.USER_ID "
Set DataGrid1.DataSource = rs
DataGrid1.Refresh

结果提示“FROM 子句语法错误”,不知为何。望高手赐教!!

语句改成
"SELECT O.OP_ID,O.OP_SALESID,U.USER_ID FROM OPERATION AS O,USER AS U WHERE O.OP_SALESID = U.USER_ID "
结果还是一样。
最新状况,问题已经解决,
SELECT O.OP_ID,O.OP_SALESID,U.USER_ID FROM [OPERATION] AS O INNER JOIN [USER] AS U ON O.OP_SALESID = U.USER_ID

表名上加[]就可以运行了.其实这个[]是什么意思?何时需要添加?

[]这个符号的作用是这样的,如果你的名称与Sql Server数据库系统的关键字重名时,就得用到这个符号
SELECT OPERATION.OP_ID,OPERATION.OP_SALESID,USER.USER_ID FROM OPERATION ,USER WHERE OPERATION.OP_SALESID = USER.USER_ID

我用ACCESS测试了一下。你的两种写法都应该没有什么错误。
可能是两个比较的字段的数据类型不一致吧。