设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3041|回复: 11
打印 上一主题 下一主题

[其它] sql建立“及联更新/删除约束”时报错!

[复制链接]
跳转到指定楼层
1#
发表于 2006-11-9 18:51:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
测试环境:win2000 pro,office 2003

首先建表   1.CREATE TABLE Customers (CustId INTEGER PRIMARY KEY, CLstNm varchar(50))            2.CREATE TABLE Orders (OrderId INTEGER PRIMARY KEY, CustId INTEGER, OrderNotes varchar (255))

当我执行语句 "ALTER TABLE Orders ADD CONSTRAINT FKOrd FOREIGN KEY(CustId) REFERENCES Customers" 成功了,但是(把关系删了)在该语句后面加上"ON UPDATE CASCADE" 执行时,就弹出  "CONSTRAINT 子句语法错误"

我是按照access帮助来建的,不晓得错在哪里?望各位高手指点一二!

[此贴子已经被作者于2006-11-9 10:56:05编辑过]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-11-9 19:05:00 | 只看该作者
1、在工具->表、查询选项中将兼容SQL SERVER勾上;

2、用ADO执行此种格式的SQL语句。

for example

ALTER TABLE Student ADD CONSTRAINT FK_Student FOREIGN KEY (ClassID) REFERENCES Class(ClassID) ON UPDATE CASCADE ON DELETE CASCADE
3#
 楼主| 发表于 2006-11-9 21:59:00 | 只看该作者
谢谢wwwwa, 用你的方法问题已成功解决了!

还有一个问题就是在VB用OpenCurrentDatabase打开数据库,能不能不弹出“打开”窗口!

代码:                                                                                      Dim acApp As Access.Application
Set acApp = New Access.Application
acApp.OpenCurrentDatabase "C:\db2.mdb", , "11"
acApp.DoCmd.CopyObject "C:\db1.mdb", "stu", acTable, "stu"
acApp.Quit
Set acApp = Nothing
4#
发表于 2006-11-9 22:37:00 | 只看该作者
1、用DAO.DBEngine.OpenDatabase试试;

2、如只是COPY表的话,用JET SQL即可解决。

[此贴子已经被作者于2006-11-9 14:46:54编辑过]

5#
 楼主| 发表于 2006-11-9 23:17:00 | 只看该作者
TO: wwwwa  "如只是COPY表的话,用JET SQL即可解决"

我想实现的是:比如我有两个access数据库db1和db2,然后将db1中的 表T1,试图V1用代码copy到db2中(之前db2不存在T1,V1)。

不晓的您有没有这方面的例子?先向您道声谢
6#
发表于 2006-11-10 00:29:00 | 只看该作者
select * into [;database=d:\temp\d2.mdb].t1 from [;database=d:\temp\d1.mdb].t1
7#
 楼主| 发表于 2006-11-10 00:48:00 | 只看该作者
TO: wwwwa   “谢谢,不错的方法!”

有没有导视图的呢?最关心的就是怎么导视图了,因为它不象sqlserver,语法里有create view,DAO又不支持“create view”。  视图名称都是手动建的。
8#
 楼主| 发表于 2006-11-10 01:33:00 | 只看该作者
自己顶下,望更多高手参与这个问题!
9#
发表于 2006-11-10 15:47:00 | 只看该作者
try:

DoCmd.CopyObject "C:\Documents and Settings\lub01\My Documents\db2.mdb", SQL.Name, acQuery, SQL.Name
10#
 楼主| 发表于 2006-11-10 17:23:00 | 只看该作者
to:wwwwa   这个方法已经试过了,是可行!但有两个缺点,估计在access里vba看不到。但用vb开发的时候就出来了。

1. 每次执行DoCmd.CopyObject就弹出access的打开窗口 2.执行导入/导出的机子必须装有access
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-10 09:33 , Processed in 0.159328 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表