回 帖 发 新 帖 刷新版面

主题:如何同时向SQL的两个表中插入或添加记录

用的是选项卡界面有7页,通过数据源连接SQL数据库,SQL数据库中有两个ID关联的表,ID号自增。现在要向两个表中添加记录,添加按钮是在选项卡外的窗体中,希望达到的效果是点添加按钮则把选项卡中的记录各项添加到对应的两个表中,添加按钮的代码如下:Conn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=数据库名;Data Source=LENOVO-23C97E1D"

rs.Open "select   *   from   表一名,表二名", Conn, 2, 2


rs.AddNew
rs.Fields("Name") = TxtName.Text‘选项卡中的各记录

msg = MsgBox("添加信息吗?", vbYesNo + vbExclamation, "提示")
If msg = vbYes Then
rs.Update
rs.Close
Else
rs.CancelUpdate
End If
Call ClsTxt(Me)
运行提示是  实时错误'-2147467259(80004005)':
            不能从多个表中插入或更新列

回复列表 (共3个回复)

沙发

没人解答啊,是不是这种方法不可行?但如果添加按钮放在选项卡的各页的话很麻烦啊,而且选项卡一共七页,就第一页的内容是第一张表的,后面六页都是第二张表的。
有没有人给我个具体可行的办法啊

板凳

你可以增加两个记录集
rs1.Open "select   *   from   表一名", Conn, 2, 2
rs2.Open "select   *   from   表二名", Conn, 2, 2
rs1.AddNew
rs2.addnew
rs1.Fields("Name") = TxtName.Text‘选项卡中的各记录

rs2.Fields("Name") = TxtName.Text‘选项卡中的各记录
msg = MsgBox("添加信息吗?", vbYesNo + vbExclamation, "提示")
If msg = vbYes Then
rs1.Update
rs2.update
rs1.Close
rs2.close
Else
rs.CancelUpdate
End If
Call ClsTxt(Me)

3 楼

谢谢楼上的,方法可行!
再就是添加记录时让表2的ID号等于表1的ID号
rs1.Update
rs2.Fields("ID") = rs1.Fields("ID")
rs1.Close
好像更本没起作用啊

我来回复

您尚未登录,请登录后再回复。点此登录或注册