在使用DATAGRID的时候,将其DATASOURCE属性设置为某个已经打开的RecordSet,而此RecordSet是由多个表连接而成的,好像这样的语句:
dim l_strSQL as String
dim l_rs as adodb.RecordSetset l_rs=new adodb.RecordSet
l_strSQL="select * from Table1" & vblf
l_strSQL=l_strSQL & "left join Table2 on Table1.ID=Table2.ID" & vblf
l_strSQL=l_strSQL & "left join Table3 on Table1.Code=Table3.Code" & vblfl_rs.open l_strSQL,g_cnn, adOpenDynamic, adLockOptimisticSet DATAGRID1.DataSource = l_rsCall DATAGRID1.Refresh数据显示是没有问题,但是在修改Table1的某个字段的值的时候就出现错误提示,说是键值不足之类的
注:已经将DATAGRID1设置为可ALLOWUPDATE=TRUE,并且在没有连接Table3的时候是没有问题的请各位帮忙解决,谢谢了!
dim l_strSQL as String
dim l_rs as adodb.RecordSetset l_rs=new adodb.RecordSet
l_strSQL="select * from Table1" & vblf
l_strSQL=l_strSQL & "left join Table2 on Table1.ID=Table2.ID" & vblf
l_strSQL=l_strSQL & "left join Table3 on Table1.Code=Table3.Code" & vblfl_rs.open l_strSQL,g_cnn, adOpenDynamic, adLockOptimisticSet DATAGRID1.DataSource = l_rsCall DATAGRID1.Refresh数据显示是没有问题,但是在修改Table1的某个字段的值的时候就出现错误提示,说是键值不足之类的
注:已经将DATAGRID1设置为可ALLOWUPDATE=TRUE,并且在没有连接Table3的时候是没有问题的请各位帮忙解决,谢谢了!
lz只看的Table1的记录,是有重复的比如
Table1
id code
m1 c1
m2 c2Table3
id code
p1 c1
p2 c1查询select * from Table1 left join Table3 on Table1.code=Table3.codeTable1.id Table1.code Table3.id Table3.code
m1 c1 p1 c1
m1 c1 p1 c2只看Table1,也就是前两列,对于Table1是重复的