--在Access查询中,如何用SQL访问SQL Server中的表? 多种方式:1、用链接表。2、用传递查询。3、直接在本地查询串中指定连接信息即可,如下:select * from Orders in [ODBC][ODBC;Driver=SQL Server;Server=.;Uid=sa;Pwd=0;database=Northwind]INSERT INTO 目标库表名 (字段列表) IN ODBC[ODBC;Driver=SQL Server;Server=服务器名或IP;Uid=sa;Pwd=密码;database=数据库名] SELECT 字段列表 from Access本地表 传递查询和链接表,两者工作原理不同:1、传递查询:将需要查询到本地的数据的SQL语句写在传递查询中,执行后,只返回符合查询条件的数据。2、链接表:打开链接表时,返回所连接SQL Server表的全部数据。 要导入表中的数据,需要先创建DSN。-->控制面板 -->管理工具 -->数据源 (ODBC) -->选择“文件DSN”页 -->添加 -->选择最后一行:SQL Server -->指定数据源名称,只要好记即可 -->指定要连接的服务器名或IP,本机可以用. -->选择SQL Server混合验证,输入用户和密码 -->更改默认数据库为你要连接的数据库 -->完成 -->然后在你的MDB中创建链接表时,选此数据源即可。 使用链接表时,建议使用文件数据源创建链接表,与机器无关,拷贝到别的机器上可以直接使用,无须再手工或用代码创建ODBC。三种数据源比较:文件DSN ODBC文件数据源允许用户连接到数据提供程序。文件DSN可以由安装了相同驱动程序的用户共享。用户DSN ODBC用户数据源存储了如何与指定数据提供程序连接的信息。用户数据源只对当前用户可见,而且只能用于当前机器上。系统DSN ODBC系统数据源村除了如何与指定数据提供程序连接的信息。系统数据源对当前机器上的所有用户可见,包括NT服务。
用查询作中转,然后再关联你要更新的表。 如:update 表名 a inner join 查询名 b on a.id=b.id set a.name=b.nameAccess使用的是Jet-SQL,SQL Server使用的是T-SQL,两者用法上相差很大。 JET SQL 帮助(jet4 access2000)下载地址http://www.access911.net/index.asp?board=8&recordid=75FAB71E&tt=
1、 update Orders in [ODBC][ODBC;Driver=SQL Server;Server=.;Uid=sa;Pwd=0;database=Northwind] a,tt b set a.s1=b.y1 where ... 2、并且y1的值随s1的值的变动而变动? 在SQL SERVER的触发器中写代码替换
多种方式:1、用链接表。2、用传递查询。3、直接在本地查询串中指定连接信息即可,如下:select * from Orders in [ODBC][ODBC;Driver=SQL Server;Server=.;Uid=sa;Pwd=0;database=Northwind]INSERT INTO 目标库表名 (字段列表) IN ODBC[ODBC;Driver=SQL Server;Server=服务器名或IP;Uid=sa;Pwd=密码;database=数据库名]
SELECT 字段列表
from Access本地表
传递查询和链接表,两者工作原理不同:1、传递查询:将需要查询到本地的数据的SQL语句写在传递查询中,执行后,只返回符合查询条件的数据。2、链接表:打开链接表时,返回所连接SQL Server表的全部数据。
要导入表中的数据,需要先创建DSN。-->控制面板
-->管理工具
-->数据源 (ODBC)
-->选择“文件DSN”页
-->添加
-->选择最后一行:SQL Server
-->指定数据源名称,只要好记即可
-->指定要连接的服务器名或IP,本机可以用.
-->选择SQL Server混合验证,输入用户和密码
-->更改默认数据库为你要连接的数据库
-->完成
-->然后在你的MDB中创建链接表时,选此数据源即可。
使用链接表时,建议使用文件数据源创建链接表,与机器无关,拷贝到别的机器上可以直接使用,无须再手工或用代码创建ODBC。三种数据源比较:文件DSN
ODBC文件数据源允许用户连接到数据提供程序。文件DSN可以由安装了相同驱动程序的用户共享。用户DSN
ODBC用户数据源存储了如何与指定数据提供程序连接的信息。用户数据源只对当前用户可见,而且只能用于当前机器上。系统DSN
ODBC系统数据源村除了如何与指定数据提供程序连接的信息。系统数据源对当前机器上的所有用户可见,包括NT服务。
用查询作中转,然后再关联你要更新的表。
如:update 表名 a inner join 查询名 b on a.id=b.id set a.name=b.nameAccess使用的是Jet-SQL,SQL Server使用的是T-SQL,两者用法上相差很大。
JET SQL 帮助(jet4 access2000)下载地址http://www.access911.net/index.asp?board=8&recordid=75FAB71E&tt=
update Orders in [ODBC][ODBC;Driver=SQL Server;Server=.;Uid=sa;Pwd=0;database=Northwind] a,tt b set a.s1=b.y1 where ...
2、并且y1的值随s1的值的变动而变动?
在SQL SERVER的触发器中写代码替换
update tt a,Orders in [ODBC][ODBC;Driver=SQL Server;Server=.;Uid=sa;Pwd=0;database=Northwind] set set a.s1=orders.y1
where a.gg=orders.gg
如果不是实时的话,可以,否则只有在ACCESS中写代码替换。
SELECT *
FROM w1 IN ODBC[ODBC;Driver=SQL Server;Server=.;Uid=sa;Pwd=0;database=A];3、执行如下SQL:
UPDATE qry_SQL INNER JOIN x1 ON qry_SQL.id = x1.id SET qry_SQL.s1 = [x1].[y1];
2、在打开的窗口中,“文件类型”选择最后一个“ODBC Databases”
3、弹出“选择数据源”窗口,点“新建”
4、弹出“创建新数据源”窗口,选最下边一个“SQL Server”
5、定义你新建数据源的名称,以名字好记为宜
6、选择服务器,输入服务器的名字或IP地址
7、选择SQL 验证,输入用户名和密码
1、jet sql
update tt a,Orders in [ODBC][ODBC;Driver=SQL Server;Server=.;Uid=sa;Pwd=0;database=Northwind] set set a.s1=orders.y1
where a.gg=orders.gg
2、创建链接表,再UPDATE:
配置好ODBC,表->新建->链接表->ODBCD Databases->选择ODBC数据源即可
UPDATE qry_SQL INNER JOIN x1 ON qry_SQL.id = x1.id SET qry_SQL.s1 = [x1].[y1];并且s1的值随y1的值的变动而变动?
不能实时,可以在ACCESS中写代码替换
yes,方法如上述
2、在打开的窗口中,“文件类型”选择最后一个“ODBC Databases”
3、弹出“选择数据源”窗口,点“新建”
4、弹出“创建新数据源”窗口,选最下边一个“SQL Server”
5、定义你新建数据源的名称,以名字好记为宜
6、选择服务器,输入服务器的名字或IP地址
7、选择SQL 验证,输入用户名和密码
UPDATE sqlservertablename AS A, x1 AS b SET A.s1 = x1.y1
WHERE [A].id=x1.id;
-->在数据库窗口中,点击“查询”,或在“视图”菜单中选择“数据库对象”->“查询”
-->点击数据库窗口中的“新建”按钮
-->点击“确定”,关闭“显示表”窗口
-->点击工具栏上的“SQL”,或在“视图”菜单中选择“SQL 视图”
-->删掉所有的内容
-->直接输入SQL语句即可
WHERE [A].id=x1.id;
这句我没有看明白.
WHERE A.id=B.id;是这样的吗?
还有A.ID中的ID是不是所指的就是表中的ID?
我的表的ID为USERID
是不是可以改成:A.USERID?
这里有一个问题,我是不是可以把所有的字段除ID外都可能写入?
还有A.ID中的ID是不是所指的就是表中的ID?
我的表的ID为USERID
是不是可以改成:A.USERID?
只要两表的KEY 字段是有关系的,可以
在ACCESS中还是其它语言中?
但是如果要做到定时更新.我要怎么办?
具体实现自己多试试,到相关的语言版块去问吧。
如果能实现,要怎么写?
可以不输入吗?
不懂JOB
那就最好用ACCESS
我改过成USERID了。
但是不用输入了。
可是还是要确认。
SQL语句复制出来,新建一个查询,在SQL视图中粘贴,已经遇到多次了。