我在access里建立了两个表,并进行关联
Adodc1.RecordSource = "SELECT  *  FROM  X1 as A, X2 as B  where (A.XX = B.XX) "
现在出现的问题是当我想向表里面添加数据的时候,总会提示“在对应所需名称或序数的集合中,未找到项目” 主要是程序运行到 Adodc1.Recordset("关联字段") = ""时出现的问题
代码如下:
Private Sub Command1_Click()
Adodc1.Recordset.AddNew
Adodc1.Recordset("字段1") = ""
Adodc1.Recordset("关联字段") = ""
Adodc1.Recordset.Update
Exit Sub
End Sub
哪位好心的帮忙解决一下啊,这个问题困扰我两天了,是不是主键设置的问题,我两个表都设置为ID自增主键

解决方案 »

  1.   

    用ado去做。adodc这东西算是害人不浅
      

  2.   

    这个问题我遇到过,用ADODC操作,还差一个步骤。具体的我现在也不知道。
    明天回公司我找找,再回复你
      

  3.   

    因为你使用了跨表查询,数据库引擎还没有智能到区分将记录插入到哪一个表中。假定你这里的两个字段分别在两个表中,这样即可:Adodc1.Recordset.ActiveConnection.Execute "Insert Into  X1(字段1) Values('')"   Adodc1.Recordset.ActiveConnection.Execute "Insert Into  X2(关联字段) Values('')" 
      

  4.   

    Adodc1.Recordset.ActiveConnection.Execute "Insert Into X1(字段1) Values('')"       
    Adodc1.Recordset.ActiveConnection.Execute "Insert Into X2(关联字段) Values('')"   
      

  5.   

    能否说的再清楚一些阿
    因为我现在删除也出现了类似的问题
    adodc1.recordset.delete就会出现"无法更新定位行。一些值可能已在最后一次记取后已更改"。
      

  6.   

    对RecordSet来源是多表查询的,进行数据增删改结果是不确定的!
    应当按of123的做法单表操作,然后刷新RecordSet。