精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
此通信录系统是为售楼人员设计,基本功能一是可以实现售楼人员基本信息的查询、新增、更改以及删除操作;第二个功能,即此通讯录的核心功能是根据已选售楼人员员工号来实现对该员工所有的客户进行一系列的操作,包括按条件检索客户记录,新增、修改、删除该员工已有客户的记录信息,同时还能实现客户的从属关系(即将该员工的名下某位客户转为其他员工名下)。
开发过程中的难点主要有三点:一是显示特定员工的客户记录信息时需要首先将该员工的有关信息初始化到客户信息对话框上,以此来标示当前客户为那位员工所有;二是修改已选员工或客户信息时也应先将所选员工或客户的已有信息初始化到修改对话框内,由此让用户明白自己具体需要修改那些内容;三是按特定检索条件检索客户记录,此通信录中的检索条件共两条,分四种情况(都选,都不选或一个选一个未选)进行检索,此功能的实现可以让用户在客户记录的海洋中轻易检索到需要的信息。各难点的具体解决方法详见下面具体模块的设计与实现部分。
此通讯录的设计开发环境:VC++ 6.0;数据库Access;操作系统MS Windows XP Professional.
代码量:3500行。开发时间4天。
根据录入的员工号查询出相应员工个人信息,并显示在列表框中。在此通讯录中此功能被封装为应用程序对话框(CHousesaleDlg)的一个成员函数(UpdateList),函数中通过设置ClistCtrl类对象来实现对列表框的操作。记录集中各个元素的遍历则是使用Crecotrdset派生类的ISEOF()和MoveNext()函数来控制。
调用IDD_DLG_ADD对话框实现新增售楼员信息的录入,其中ComboBox控件的使用简化了信息录入时的操作,而获得该控件的文本内容则需用到CWnd类的成员函数GetWindowText()。新增功能使用AddNew()和Update()来实现,在这里调用父窗口的UpdateList函数是要使用到GetParent()来得到父窗口的指针。此外,对话框资源IDD_DLG_ADD的作用除了做添加对话框之外还被作为修改对话框使用,因此在这里需要设置一个标志位来标示当前操作为添加还是删除,本通讯录中既是通过此方法来实现当前操作的判断。
在修改售楼员基本信息时首先确定要修改的人员是谁,确定列表框中被选元素的位置用GetFirstSelectItem()和GetNextSelectItem()来实现。当然,这里修改所使用的对话框资源仍为IDD_DLG_AD对话框。在生成对话框前设置标志位为修改,而后遍历符合条件的全部记录集,并使用Edit()和Update()实现对数据库表相应字段的修改。
同信息的修改一样应首先获得待删除记录的位置,实现方法同上,而后遍历记录集使用Delete()函数删除符合条件的记录集,再将删除后的新数据表内数据UpdateList到列表框中。
总体上说此模块功能相对简单,需特别注意之处在于UpdateData()函数的使用上。当界面控件数据需要和数据库内数据进行交互时,就需要使用UpdateData()函数。参数为真,将界面控件数据转入相关控件变量中,再通过控件变量和数据库内容就行交互;参数为假则相反。
本通讯录中客户信息的检索结果需要通过指定售楼员来得到,一名售楼员对应多名客户通过录入指定售楼员员工号和相关检索条件检索出与该售楼员相关的所有客户的详细信息,而后在对具体客户记录进行各项操作,包括新增客户,修改已有客户信息,删除已有客户信息,设置回访记录等功能。
通过指定售楼员的员工号来过滤记录集中的客户记录并显示,过滤条件需要用m_strFilter来设置。用户还可以附加更多检索条件来细化查找客户记录,此处的附加条件包括两项:客户的定金预付情况(C_STATE)和客户的预约设置(C_BOOK)。附加条件的添加体现在实现代码中也是m_strFilter的设置。
调用IDD_DLG_CUS_ADD对话框资源来实现新增客户记录的录入。在该对话框被调用时,对话框应做相应的初始化工作,即将新增客户的所属售楼员默认设置为指定员工的员工号。此处客户记录的新增操作同售楼员信息新增相似,而且这里的IDD_DLG_CUS_ADD对话框资源也是即被用作新增记录使用,又被用作修改已有记录使用,因此这里也需要设置访问标志,判断调用该对话框资源时的具体操作是新增还是修改。
记录的修改需要注意的是:在调用了修改对话框后也应将该客户记录所属售楼员信息初始化到界面上,同调用修改之前的信息显示一致;还有就是修改时客户的记录信息也应初始化在修改对话框之中,让用户一目了然的知晓客户的原始信息。具体的实现就是首先判断访问标志是否是修改,而后通过设置记录集过滤已选择的客户姓名,并将该客户的各项信息赋值给修改对话框相应的控件变量。删除时使用Delete()函数实现记录集的删除。
在了解了客户各项信息后有时需要对具体的某位客户进行回访,而回访过后就需要将数据库中该客户的回访设置修改为是,若该客户已经设置过回访则提示已设置回访,继而返回。
PERSON表用于记录各名售楼员的基本信息,各字段的设计如下所示:
字段 类型 说明
P_ID 文本 销售人员员工号
P_NAME 文本 销售人员姓名
P_SEX 文本 销售人员性别
P_AGE 数字 年龄
EDU_LEVEL 文本 销售人员学历
P_ADDRESS 文本 住址
P_TEL 文本 联系电话
P_DATE 日期/时间 任职日期
P_REMARK 备注 备注
程序中对该表的访问通过CpersonRS类来实现。
CUSTOM表中记录的客户信息是通过售楼员员工号标示的,即各名客户都只从属于一名特定的售楼员,所以对客户信息的检索查询就必须首先指定具体的售楼员。具体字段的设计如下:
字段 类型 说明
C_ID 文本 销售人员员工号
C_NAME 文本 顾客姓名
C_SEX 文本 顾客性别
C_AGE 数字 顾客年龄
C_TEL 文本 顾客联系电话
C_DATE 日期/时间 接待日期
C_ASKNAME 文本 顾客询问户型名称
C_REPLACE 文本 替代户型名称
C_STATE 文本 预付款状态(已付,未付)
C_BOOK 文本 预约状态(已预约,未预约)
C_RECALL 文本 回访标志(是,否)
C_REMARK 文本 顾客信息备注
其中字段C_STATE,C_BOOK, C_RECALL是该客户的主要信息,是在对特定售楼员的各位客户进行检索时的主要检索条件,这样设置的目的是可使用户通过选择检索条件从众多的客户中尽快的检索出符合用户检索意愿的客户记录。