宏替换在数据库调用与生成时的灵活应用

Author: 上海 周奇慧 Date: 1996-11-29

        一、数据库调用:
        当系统当前准备打开的工作数据库的库名由用户在使用时视情况灵活指定时,不使用宏替换编程就很麻烦,而使用了宏替按就简单了:
        ……
        WJ="
        CLEA
        @5,10 SAY "请输入文件名:"GET WJ
        READ
        USE &WJ.
        ……
        二、同类数据库的自动生成:
        在管理系统中有时还会遇到这样的情况:需要对一些数据建子库。例如人事管理中附属于花名册的个人档案;企业质量管理中附属于企业花名册的企业档案等。当花名册发生变动时,对应的子档案也随之增删。
        在编程时可采取这样一种方法:设花名册数据库为MD,子档案基准库为DA,然后MD中每增加一条记录,程序便按设置好的编码规则自动赋予该记录一个编号,该记录的子库名即为“DA”与该编号的组合。
        ……
        USE MD
        <添加记录并编号>
        X="DA"+BH
        *** 形成子库名(BH为编号所在字段名)***
        SELE 2
        USE DA
        COPY STRU TO &X.
        ***生成子库***
        USE &X.
        <对子库进行操作>
        ……
        
        三、自动生成文件名
        仍以上例说明,假设要对某子库进行操作:
        ……
        USE MD
        <寻找该记录>
        X="DA"+BH
        ***生成子库名***
        USE &X.
        ***打开子库***
        <对子库进行操作>
        ……
        若要删除花名册上某条记录及对应子库:
        ……
        USE MD
        <寻找该记录>
        X="DA"+BH+".DBF"
        ***生成子库名***
        DELE
        PACK
        USE
        ***删除该记录***
        ERAS &X.
        ***删除其子库***
        ……
        对于宏替换在字段选择时的基本应用,在此不再评述。