< 返回
基于Access+SQLServer的车辆销售系统设计

摘要:本文介绍了在access环境下通过odbc数据源实现sql server数据库中数据表的链接,然后利用access的功能组件完成车辆销售系统的设计,并通过网络实现对sql server 数据库的管理和维护。

关键词:access;sql server;odbc;车辆销售

中图分类号:tp311文献标识码:a文章编号:1009-3044(2007)15-30636-02

the design for vehicle sale management system

zhuang li-yun, yu guo-fang, jia dong-qing

(college of information and electronic engineering china university of mining and technology,xuzhou 221008,china)

abstract: this article introduces how to link data tables in sql server through odbc under access environment, then completes the vehicle sale management system using the access function module, and realizes the management and maintenance of sql server database through network.

key words: access; sql server; odbc; vehicle sale

1 引言

随着信息时代的到来,越来越多的销售企业已经意识到,拥有一套合适的销售管理软件,对于企业的科学管理,提高工作效率至关重要。

access是ms office系统的组件之一,该系统在中小型企业销售管理系统、web网站等方面得到了广泛的应用。access与其他数据库开发系统之间最显著的区别就是:开发者只要具有一定的数据库知识,运用部分数据库内置函数、宏和sql语句,在access丰富的创建各种对象和向导的帮助下,就可以开发出一个功能强大而且比较专业的数据库应用程序,并且这一过程是完全可视的。

本文介绍车辆销售管理系统的设计制作过程,为了使系统能够在公司内部的局域网内应用,本系统的设计前台工具是accesss,后台数据库应用sql server 2000。

2 系统概述

本系统采用c/s模式应用于网络中,客户端通过网络创建odbc数据源和服务器数据库建立连接,从而实现对远程服务器数据库的访问和管理,见图1。

图1 系统c/s模式图

根据车辆销售的主要任务及系统的需求分析,确定本系统的架构框图如图2所示。

图2 系统架构

信息登记模块主要包括:厂家定车、车辆入库、车辆预定、车辆销售、车辆出库、客户资源、员工信息、担保人信息登记等。

信息查询模块主要包括:厂家定车、车辆入库、车辆预定、车辆销售、车辆出库、车辆库存、客户资源、担保人信息查询等。

3 系统设计

3.1 创建数据库和数据表

进入sql server 2000 的企业管理器建立数据库名称为carmis_db。然后在carmis_db数据库中创建数据表,在建立的数据表时,每一个表可以设定一个主键,即关键字,主键是用来唯一表示一条数据的字段,其值不能重复。

本系统用到的数据表有:用户权限表、厂家表、车型表、品牌表、厂方订车表、车辆出库表、车辆入库表、车辆销售表、车辆预定表、客户资源登记表、公司员工信息表、担保人信息表。

3.2 建立链接表

要在access环境下与sql server建立链接表,首先要建立odbc数据源。在管理工具中找到,数据源选项,单击后弹出如图3所示的对话框,单击添加按钮,在弹出的对话框中,选择sql server 选项,单击完成,在出现对话框对其中的数据源名称和服务器进行配置。点击“下一步”,选择对话框中的使用用户输入登陆id和密码的sql server验证,然后输入在sql server中设置的登陆用户名和密码。点击“下一步”至完成。

图3 数据源管理器

建立了odbc数据源之后,可以在access环境下链接sql server数据库中的数据表。在access数据库的表对象中右健单击后选择链接表,在弹出的对话框中的文件类型选择odbc数据库,在弹出的选择数据源对话框中选择前面建立的数据源即可,见图4。

3.3 创建窗体

窗体是用来和用户交互的界面,是创建应用程序最基本的对象。

图4 数据源配置

3.3.1 系统登陆窗体

为了增强系统的安全性,在用户进入系统前,先进行身份验证,这就要求系统启动前先启动“a_login”窗体,如图5所示。

图5 登陆界面

为了增强本系统中数据库的安全性,操作sql server 数据库时,使用的连接方式是非信任连接方式,但是,拥有权限的用户登陆系统界面后对数据库进行操作时仍要输入登陆数据库的用户名和密码,这就降低了工作效率。因此,在“a_login” 窗体的open事件中添加功能代码可以解决上述问题。主要功能代码如下:

docmd.transferdatabase aclink, "odbc 数据库","odbc; dsn=odbc数据源名

;app=microsoft?access;

uid=登陆数据库用户名;pwd=登陆数据库密码;database=数据库名;wsid=计算机名称;trusted_connection=no", "验证用户名的表名", "验证用户名的表名", false

用户名和密码都输入正确后,系统会根据不同的用户名分配不同的权限,主要的功能代码如下:

set b = currentdb.openrecordset("select user, login from 用户权限表where login like -1;")

if b.user = "查询" then

me!userid.visible = false

me!userpwd.visible = false

me!login.visible = false

end if

从本段代码中可知,当具有查询权限的用户登陆后显示用户记录的用户权限表是看不到的,因此该用户就无法对用户名、密码或权限进行修改。

set b = currentdb.openrecordset("select user, login from用户权限表where login like -1;")

if b.user = "查询" then

me.allowedits = false

me.allowadditions = false

me.allowdeletions = false

end if

通过本段代码可以看出具有查询权限的用户只能查询信息,而无法编辑、增加或删除记录,只有具有全权的用户才可以对记录进行这些操作。

3.3.2 其它窗体设计

本系统中其它大部分窗体是基于前面所述的链接表设计的,因此,可以利用access中的向导完成窗体的创建。

在各窗体中,订单号、定车单号和发车单号都是自动生成的,避免了手工输入,从而提高了工作效率。下面以厂方订车表中的订单号为例来介绍如何实现订单号的自动生成。主要程序代码如下:

if isnull(me!订单号.value) then

set g = currentdb.openrecordset("select max(厂方订车表.订单号) as 订单号之max from 厂方订车表;")

g.movefirst

if isnull(g("订单号之max")) then

if len(year(date)) < 4 then

me!订单号.value = "20" & right(year(date), 2) & "0001"

else

me!订单号.value = year(date) & "0001"

end if

else

g.movefirst

if right(left(g("订单号之max"), 4), 2) > right(year(date), 2) then

response = msgbox("本机日期设置有误,请修正。", 0 + vbexclamation, "错误提示")

cancel = true

exit sub

else

if right(left(g("订单号之max"), 4), 2) < right(year(date), 2) then

if len(year(date)) < 4 then

me!订单号.value = "20" & right(year(date), 2) &"0001"

else

me!订单号.value = year(date) & "0001"

end if

else

me!订单号.value = g("订单号之max") + 1

end if

end if

end if

end if

通过这段代码可知订单号是由八位数字组成,前四位是订车当年的年数,订第一辆车时订单号的后四位为0001,以后每增订一辆,订单号自动加一。

3.4 创建查询

本系统中,查询是根据使用者的要求来提取并显示数据表中的录入数据,是数据库中非常重要的操作。

厂方定车查询设计如下:在access数据库主窗口中单击对象查询双击“使用向导创建查询项”进入在“表/查询”下拉列表框中选择“表:厂方定车表”,然后选择全部可用字段,最后输入查询名称为“厂方定车查询”同时选中“修改查询设计”选项单击完成即可。

本系统中的其他查询设计原理和步骤和上述类似,不再一一论述。

3.5 创建系统菜单

在access数据库的主窗口中,单击“对象/宏”,选择“新建”,在出现的列表框的操作栏中选择要进行的操作,如:打开窗体则选择“openform”项,然后在窗体名称选项中选择要打开的窗体;打开查询则选择“openquery”项,然后在查询名称选项中选择要打开的查询。完成后按保存按钮,命名菜单名后保存即可。

建立好所有的菜单宏后,最后建立一个主菜单,方法如下:单击“对象/宏”,选择“新建”,在出现的列表框的操作栏中选择“addmenu”项,然后命名子菜单名称并选择菜单宏名称。然后依次建立好所有的子菜单项。最后在access工具菜单项中,选择

“宏”,然后选择“运行宏”,系统中会出现对应的菜单栏。

至此,该系统的设计已经完成,如前文所述为了增强系统的安全性,系统启动前应先调用“a_login”窗体,可在启动对话框中设置。如图6所示。

图6 启动对话框

4 小结

用access+sqlserver 集成开发信息管理系统 ,可以解决中小型企业资金少、企业计算机应用水平不高和企业迫切实现信息化管理的矛盾,由于 access+sqlserver 在 windows nt 操作系统下开发的基于客户机/服务器的管理信息系统,同属于microsoft 公司的产品,随着公司规模的不断扩大,系统易于升级改版,从而节省了公司的投资。

参考文献:

[1]求是科技.access2002数据库开发技术与工程实践[m].北京:人民邮电出版社,2004.

[2]毛永生,于德水. 用 access建立中小型企业信息管理系统[j]. 计算机世界报.1998, (26):5.

[3]s 1r1c1(美). 前导工作室 译. access与sqlserver客户机/服务器编程指南. 北京:中国水利水电出版社,199811-22.

[4]精英科技.sql server 2000 高级开发指南. 北京:电力出版社,2002.

[5]萨师煊,王珊. 数据库系统概论[m].高等教育出版社,1997.

[6]郑阿奇,刘启芬,顾韵华. sqlserver实用教程[m]. 北京:电子工业出版社,2002.

注:本文中所涉及到的图表、注解、公式等内容请以pdf格式阅读原文。