Office中国论坛/Access中国论坛

标题: [求助]实现从另一个数据库得到时时更新的数据 [打印本页]

作者: beaccesssuper    时间: 2007-3-21 23:50
标题: [求助]实现从另一个数据库得到时时更新的数据
实现从另一个数据库得到时时更新的数据   即实现把其他数据库的数据存储到本地数据库,并能够在本地窗体显示出来,(显示的是满足本地条件的查询结果
在线等,谢谢
[em06][em06][em06][em06][em06]
作者: 一点通    时间: 2007-3-22 00:22
将本地数据库前台链接另一个数据库的表
作者: beaccesssuper    时间: 2007-3-22 17:22
不是太理解楼上的意思,我的想法是,每次打开数据库,或在窗体上点击更新按钮实现。而且希望连接的数据库的数据同时可以保存到本地数据库,这点很重要,因为连接的数据库可能会被更新或丢失但我不想丢失数据,希望能长久存储。最好能给出vba代码,谢谢。

作者: bergyan    时间: 2007-3-22 17:26
用一个查询引向所需要数据的数据(表或查询)就可以了...
作者: bergyan    时间: 2007-3-22 17:28
比如在一个Access数据库中引用另一Access数据库的表或永久查询..可以用这样的SQL语句:

Select * From [另一Access数据库中的表或查询名] in '[数据库地址]'


作者: hi-wzj    时间: 2007-3-22 18:24
楼主的需求:因为连接的数据库可能会被更新或丢失但我不想丢失数据,希望能长久存储。

因此可以在前面各种链接数据库的基础上建立一个追加查询,将数据追加到本地数据库即可.
作者: beaccesssuper    时间: 2007-3-22 19:03
追加查询?

写出sql语句,如何触发,放在form_laod 里吗?
追加查询怎末写,请指点

作者: bergyan    时间: 2007-3-22 19:06
docmd.runsql "Insert into 表名(字段1,字段2...) Select 字段... from 表或查询 in '数据库地址'"


作者: beaccesssuper    时间: 2007-3-22 20:08
<div ></div>

docmd.runsql "Insert into 表名(字段1,字段2...) Select 字段... from 表或查询 in '数据库地址'"

           第一个表明是本地的即目标数据库的,第二个表名是原数据库的即网络的?   数据库地址是网络的??做了半天感觉像是把本地的数据放到网络上。也希望所有操作都在本地数据库进行。谢谢

作者: beaccesssuper    时间: 2007-3-22 22:26
顶阿
作者: bergyan    时间: 2007-3-23 05:53
该语句是将另一数据库的数据追加保存到本机数据库中...不是把数据放到网络上
作者: beaccesssuper    时间: 2007-3-23 17:26
INSERT INTO MeasuredData ( LampNumber, SupplyVoltage, LampCurrent, LampWattage, LuminousFlux, x, y, SDCM, CCT, CRI )
SELECT MeasuredData.LampNumber, MeasuredData.SupplyVoltage, MeasuredData.LampCurrent, MeasuredData.LampWattage, MeasuredData.LuminousFlux, MeasuredData.x, MeasuredData.y, MeasuredData.SDCM, MeasuredData.CCT, MeasuredData.CRI
FROM MeasuredData INNER JOIN MeasurementDescription ON MeasuredData.KeyNo = MeasurementDescription.KeyNo IN 'D:\123\SpectralSystem.mdb'
ORDER BY MeasurementDescription.GroupNumber;

应该如何避免重复追加呢,现在原表和目的表的项目都一样,执行一次追加,就有记录,但是是和表中原来的重复的,请问该如何处理。
谢谢


作者: bergyan    时间: 2007-3-23 17:35
追加查询之前可以先用不匹配查询先将要追加的内容与原有内容进行对比,将不匹配的项才追加进去就可以了
作者: beaccesssuper    时间: 2007-3-23 18:32
追加查询之前可以先用不匹配查询先将要追加的内容与原有内容进行对比,将不匹配的项才追加进去就可以了


不匹配查询 如何实现?
能给个例子吗?听着有点不理解,谢谢指点

作者: bergyan    时间: 2007-3-23 19:13
在Access查询里有"不匹配查询"的向导,你可以参考..
作者: hi-wzj    时间: 2007-3-23 20:20
有重复但内容有不同,如何同步,须您先说该怎么办,以哪边为准才好说怎么做。
作者: beaccesssuper    时间: 2007-3-23 21:44




[color="#da2549"]hi-wzj版主
<div >
  1. <script type="text/javascript" language="javascript">
    document.write (astro(''));
    </script>
复制代码


</div>


<div >
</div>

有重复但内容有不同,如何同步,须您先说该怎么办,以哪边为准才好说怎么做。


不太理解哦这句话。   试着解释一下,应该是和网络的数据保持一致,只要网络有更新,就希望本地也能得到跟新结果,但目前不能判断哪些是新的。在运行更新查询时会把全部内容都更新,请问该如何处理。


作者: beaccesssuper    时间: 2007-3-26 21:23
自己再顶阿,
问题超多,希望好新人能帮助解答。

作者: hi-wzj    时间: 2007-3-26 22:52
1.先做匹配查询,然后删除本地对应的表.

2.运行追加到本地的查询.
作者: beaccesssuper    时间: 2007-3-27 00:22
[color="#da2549"] To hi-wzj:1先做匹配查询,然后删除本地对应的表.

2.运行追加到本地的查询.[color="#da2549"]不太明白1和2有没有例子可以参考呢匹配查询和那个匹配?删除本地表是指里面的数据都删除吗?运行追加到本地的查询 是指运行匹配查询吗?还是不明白



作者: hi-wzj    时间: 2007-3-27 00:45
匹配查询和不匹配查询指的是建立查询向导里的选项.
作者: wu8313    时间: 2007-3-28 02:44
应该可以找到一个 专门用来 作数据上传 的 acc工具,每相隔一个时间,自动上传,并且保证 数据不重复。





[此贴子已经被作者于2007-3-27 18:45:49编辑过]


作者: beaccesssuper    时间: 2007-3-28 23:21
To [color="#61b713"]wu8313
应该可以找到一个 专门用来 作数据上传 的 acc工具,每相隔一个时间,自动上传,并且保证 数据不重复。
有这种工具吗?

作者: z123456789    时间: 2007-3-29 00:52
建议思路

1,建一个远程链接表1,同结构建一个本地表2

2.建一个删除表2 数据的宏1

3建一个用表1 追加表2 的宏2

4在打开的窗体中建立定期执行一次宏1和宏2 的语句
作者: wu8313    时间: 2007-3-29 07:10
以下是引用beaccesssuper在2007-3-28 15:21:00的发言:
To wu8313
应该可以找到一个 专门用来 作数据上传 的 acc工具,每相隔一个时间,自动上传,并且保证 数据不重复。
有这种工具吗?

我想,斑竹使用adp里面的什么技术,应该可以写出来一个的。
作者: qhp-soft    时间: 2007-3-29 07:37
先删除记录。

再插入记录。


作者: beaccesssuper    时间: 2007-3-29 23:39
感觉还是很复杂啊,有没有事例研究一下呢,谢谢那位好心人分享一下。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3