Office中国论坛/Access中国论坛

标题: 急!哪位高手老师来帮一下小弟啊?ACCESS+SQL [打印本页]

作者: colinlee    时间: 2003-7-24 17:12
标题: 急!哪位高手老师来帮一下小弟啊?ACCESS+SQL
我想用access做客户端,sql做服务器端,做一个超市进销存系统。现有两个问题,请各位老师高手帮忙。

1.access做服务器端时,超过5个用户速度就很慢,现在用了sql做服务器端,最多可以多少用户?数据库最大可以多大?

2.我想实现这样一个功能:

客户端ACCESS在输入数据时,做一个判断:如果网络连通,能连服务器端,数据就保存在服务器的SQL数据库里;如果网络没有连通,数据就保存在客户端的ACCESS数据库里,每隔15分钟检查一下客户端是否能连上服务器端,如果能连通,新输入数据就保存在服务器端的SQL,同时,把因为不能连通服务器端而保存在客户端ACCESS数据库里的数据移动到服务器端的SQL数据库里。

请问上面这个功能用ADP+SQL能否实现?怎么实现?本人菜牛一个,请高手朋友把上面功能的程序帮我编一个,本人不胜感激
作者: zhuyiwen    时间: 2003-7-24 17:22
1.  SQL Server 2000数据库的大小不用耽心, 基本上是只受物理限制.
2. 你所说的功能,我有一个朋友做过,他当时是用的 VB5.0 + MDB + SQL Server 6.5,也是超市系统. 你如果实现的话, 我觉得最好是采用: Access mdb客户端 + ADO + SQL Server 2000.判断网络通不通,最简单的方法就是新建一数据库连接,有错,则不通;无错,则通,正好用它.

Good Lucky!
作者: colinlee    时间: 2003-7-24 17:49
谢谢斑竹这么快就给了我答复,我听说是做了一个15分钟的触发器实现的,如果网络不能连通,就立即把数据存在本地ACCESS数据库,然后,每隔15分钟,触发器就运行一次,检查网络是否连通,如果连通,新输入数据就保存在服务器端的SQL,同时,把因为不能连通服务器端而保存在客户端ACCESS数据库里的数据移动到服务器端的SQL数据库里。

我是菜鸟,不会编这样一个触发器,不知能不能帮我编一个,把代码传上来?
作者: zhuyiwen    时间: 2003-7-24 18:01
做一个隐形的窗体,利用窗体的定时器并设定时间间隔属性来实现.当然这个窗体在程序运行时一直要是打开的,只隐藏

程序算法要靠你自己实现,我也只能提提思路.[em24]
作者: 阿罗    时间: 2003-7-31 07:14
我不是在使你失望,但是,这样的一个结构实用么?比方说,主键的问题。。。

如果,没有主键或类似问题,那么,也不用这么麻烦15分钟自动存一次。只要用户关闭窗口前连接服务器就可以了。如果连不上服务器,反正用户也走了。

个人意见,仅供参考。
作者: 阿罗    时间: 2003-8-1 01:23
我上面的话可能说错了。我想在这么一种应用环境下面,是需要这样的解决办法。sorry.

我再解释一下,adp如果不能连通sql服务器的话,程序根本不能操作。所以,我的看法是要做本地的数据库程序,然后用ado联到服务器进行更新。

如果用本地数据库操作的话,是否能这样考虑:每次本地数据库数据更新以后,用相关窗体的afterupdate事件来触发。我设想了afterupdate事件发生以后的作业流程,看看如何:

1)事先用另外一个本地表,来记录要操作的数据表没有成功上传到服务器的键值
2)要操作的数据表更新以后,启动了afterupdate事件,然后

连接服务器
if 成功 then
     处理上传数据事务(例如调用服务器存储过程)
     if 事务提交 then
          删除本地表有关记录
    else
         将刚刚更新的纪录键值纪录下来
    end if
    断开连接
else
         将刚刚更新的纪录键值纪录下来
end if
作者: huanghai    时间: 2003-8-13 18:33
以下是引用zhuyiwen在2003-7-24 9:22:09的发言:
1.  SQL Server 2000数据库的大小不用耽心, 基本上是只受物理限制.
2. 你所说的功能,我有一个朋友做过,他当时是用的 VB5.0 + MDB + SQL Server 6.5,也是超市系统. 你如果实现的话, 我觉得最好是采用: Access mdb客户端 + ADO + SQL Server 2000.判断网络通不通,最简单的方法就是新建一数据库连接,有错,则不通;无错,则通,正好用它.

Good Lucky!

以下是引用zhuyiwen在2003-7-24 10:00:38的发言:
做一个隐形的窗体,利用窗体的定时器并设定时间间隔属性来实现.当然这个窗体在程序运行时一直要是打开的,只隐藏

程序算法要靠你自己实现,我也只能提提思路.[em24]


这个思路完全可行。




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