Office中国论坛/Access中国论坛
标题:
包含2个表字段的存储过程是不是不能编辑数据?
[打印本页]
作者:
宿命的风
时间:
2007-1-11 06:37
标题:
包含2个表字段的存储过程是不是不能编辑数据?
最近在将公司的数据库从MDB升级到ADP,遇到以下问题:
表一: 出口操作
表二:出口费用
两表通过"定舱ID"字段连接,一对一的关系
我希望通过一个带有参数的存储过程把符合一定条件的记录(包含两个表中的部分字段)显示在子窗体中,并想修改表二中的数据,但是子窗体的数据无法修改.
在MDB中,这种关系是可以修改的, 是不是ADP中就不可以了呢?
有什么解决办法呢? 希望各位指教! 谢谢!
[attach]22572[/attach]
[此贴子已经被作者于2007-1-10 22:38:55编辑过]
作者:
wuaza
时间:
2007-1-12 05:41
你定义一下主键看看,再不行可能真的是不行的。
作者:
宿命的风
时间:
2007-1-12 06:04
[attach]22599[/attach]
现在通过以上方法,问题基本得以解决.
帮助中的解释:
UniqueTable 属性
参阅应用于[url=mk
MSITStore:C:\Program%20Files\Microsoft%20Office\OFFICE11\2052\vbaac10.chm::/html/acproUniqueTable.htm#example]
示例
[/url]特性
指定在下列情况下可以更新的表:
在 [url=mk
MSITStore:C:\Program%20Files\Microsoft%20Office\OFFICE11\2052\vbaac10.chm::/html/acproUniqueTable.htm#]
Microsoft Access 项目
[/url] (.adp) 中,[url=mk
MSITStore:C:\Program%20Files\Microsoft%20Office\OFFICE11\2052\vbaac10.chm::/html/acproUniqueTable.htm#]
窗体
[/url]或
数据访问页
与多个表
视图
或
存储过程
绑定。
在
Microsoft Access 项目
(.adp) 或 Microsoft Access 数据库 (.mdb) 中,
数据访问页
与多个表
查询
绑定。
String
型,可读写。
expression.
UniqueTable
expression
必需。返回
Form
对象的表达式。
说明
UniqueTable
属性是
字符串表达式
,表示可以更新的唯一表。
可以使用
属性表
或
Visual Basic
来设置该属性。
UniqueTable
属性标识了联接的“多”表。如果没有设置
UniqueTable
属性,则与视图、包含联接的存储过程或 SQL 字符串绑定的窗体是只读的。同时,对于联接,由 View.Open 或 StoredProc.Run 产生的数据表是只读的(因为无法设置
UniqueTable
属性)。只要设置了
UniqueTable
属性,则只有该表中的字段是可更新的,只能对该表进行插入和删除。
为了使记录集成为
可更新的快照
,以联接光标为基础的窗体或数据访问页必须有
UniqueTable
属性字符串。唯一表是基础查询中的表,其中的行与光标的行之间是一一对应的关系。在简单的“病人-医生”联接中,“病人”是唯一表,因为光标的每一行都和“病人”表的一行对应。注意“多对多”联接没有有效的
UniqueTable
属性,因此该属性是只读的。对于数据访问页,
UniqueTable
属性将表示为 RecordsetDef 对象。
UniqueTable
属性的目的在于:
实施正确的可更新性语义:
<UL>
“唯一表”的键列必须位于形成光标的查询的选择列表中,甚至对 SQL Server 也是如此。(有关其他数据源,请参阅
ResyncCommand
属性主题中的“说明”部分。)
在联接光标中
作者:
wuaza
时间:
2007-1-12 22:43
学习一下,这个以前还真的不知道
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3