为什么我添加不了数据

xz820127 2007-12-18 03:54:00
我在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自增主键

...全文
54 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
w3k 2008-01-13
................老大
你新增到哪个表啊?
嘎嘎噶个
回复
Tiger_Zhao 2007-12-19
对RecordSet来源是多表查询的,进行数据增删改结果是不确定的!
应当按of123的做法单表操作,然后刷新RecordSet。
回复
lizhongheng 2007-12-19
对于跨表查询不能直接插入数据,只能将数据放入一个表中才行
回复
xz820127 2007-12-19
5楼的这样子不行啊,插入之后总是提示“索引或主关键字不能包含一个空值”怎么回事啊
回复
xz820127 2007-12-19
有没有人知道的啊
回复
xz820127 2007-12-18
能否说的再清楚一些阿
因为我现在删除也出现了类似的问题
adodc1.recordset.delete就会出现"无法更新定位行。一些值可能已在最后一次记取后已更改"。
回复
of123 2007-12-18
Adodc1.Recordset.ActiveConnection.Execute "Insert Into X1(字段1) Values('')"
Adodc1.Recordset.ActiveConnection.Execute "Insert Into X2(关联字段) Values('')"
回复
of123 2007-12-18
因为你使用了跨表查询,数据库引擎还没有智能到区分将记录插入到哪一个表中。假定你这里的两个字段分别在两个表中,这样即可:

Adodc1.Recordset.ActiveConnection.Execute "Insert Into X1(字段1) Values('')" Adodc1.Recordset.ActiveConnection.Execute "Insert Into X2(关联字段) Values('')"
回复
moyifeng 2007-12-18
这个问题我遇到过,用ADODC操作,还差一个步骤。具体的我现在也不知道。
明天回公司我找找,再回复你
回复
daisy8675 2007-12-18
用ado去做。adodc这东西算是害人不浅
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7451

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告