您的位置: 网站首页 > 程序开发 > Visaul FoxPro程序设计 > 第11章 设备管理系统综合实例 > 【11.6.7 相关查询表单的制作】

11.6.7 相关查询表单的制作

 

11.6.7 相关查询表单的制作

1.制作查询号码表单

1)创建如图11-48所示的查询号码表单(hmcx.scx),表单有一个标签控件、一个标签控件和两个命令控件。

11-48  查询号码表单

2)设置表单基本属性。

·    Autocenter.T.—真。

·    Caption:按编号查询。

·    Closeable.F.—假。

·    Maxbotton.F.—假。

3)设置标签控件的名称。

·    Caption(Labe11):请输入编号。

4)设置文本框控件的属性。

·    IntegraHeight.T.—真。

·    InputMaskAAAAAA

·    Fontsize12

·    Fontname:宋体。

5)设置命令按钮的属性。

·    Caption(Command1):确定。

·    Caption(Command2):取消。

6)双击“确定”按钮,并编写其Click事件代码。

SET exact off

bianhao=upper(alltrim(thisform.text1.value))

OPEN DATABASE 设备数据库

USE kucun

BROWSE for  编号=bianhao fields 编号,名称,产地,规格,数量,单价

Thisform.text1.value=""

Thisform.text1.setfocus

7)双击“取消”按钮,并编写其Click事件代码。

release all

thisform.release

8)双击文本框(text1)控件,并编写其init过程代码。

This.setfocus

9)保存并运行该表单,其运行效果如图11-49所示。

11-49  运行该表单所查询的数据

2.制作查询名称表单

1)创建如图11-50所示的查询名称表单(cxmc.scx),表单有一个标签控件、一个标签控件和两个命令控件。

11-50  查询名称表单

2)设置表单基本属性。

·    Autocenter.T.—真。

·    Caption:查询货品名称。

·    Closeable.F.—假。

·    Maxbotton.F.—假。

3)设置标签控件的名称。

·    Caption(Labe11):请输入货品名称。

4)设置文本框控件的属性。

·    IntegraHeight.T.—真。

·    Fontsize10

·    Fontname:宋体。

5)设置命令按钮的属性。

·    Caption(Command1):确定。

·    Caption(Command2):取消。

6)双击“确定”按钮,并编写其Click事件代码。

SET exact off

mingcheng=upper(alltrim(thisform.text1.value))

OPEN DATABASE 设备数据库

USE kucun

BROWSE for  名称=mingcheng fields 编号,名称,产地,规格,数量,单价

Thisform.text1.value=""

Thisform.text1.setfocus

7)双击“取消”按钮,并编写其Click事件代码。

release all

thisform.release

8)双击文本框(Texl1)控件,并编写其init过程代码。

This.setfocus

9)保存并运行该表单,其运行效果如图11-51所示。

11-51  运行查询名称表单

3.制作模糊查询表单

1)创建如图11-52所示的模糊查询表单(inquir2.scx),表单由一个文本框控件、两个命令按钮控件、两个标签控件和一个选项按钮组控件组成。

2)设置表单基本属性。

·    Autocenter.T.—真。

·    Caption:模糊查询。

·    Closeable.F.—假。

·    Maxbotton.F.—假。

3)设置标签控件的名称。

·    Caption(Labe11):请输入编号。

·    Caption(Labe12):请输入名称。

4)设置文本框控件的属性。

·    IntegraHeight.T.—真。

·    Fontsize10

·    Fontname:宋体。

5)设置命令按钮的属性。

·    Caption(Command1):确定。

·    Caption(Command2):退出。

6)鼠标右击选项按钮组控件,在弹出的菜单中选择“生成器”命令,在生成器里将选项按钮个数设置为6,并分别命名为“试剂”、“仪器”、“玻璃”、“化工”、“其他”、“全部”,如图11-53所示。

 

11-52  模糊查询表单                      11-53  选项组生成器

7)双击表单,并编写其init过程代码。

Thisform.text1.setfocus

8)双击“确定”按钮,并编写其Click事件代码。

SET exact off

OPEN DATABASE 设备数据库

USE  kucun

PUBLIC AA,BB,CC,JJ,KK

AA=upper(alltrim(thisform.text1.value))

BB=upper(alltrim(thisform.text2.value))

CC=thisform.optiongroup1.value

DO case

  CASE CC=1

    KK="A"

  CASE CC=2

    KK="B"

  CASE CC=3

    KK="C"

  CASE CC=4

    KK="D"

  CASE CC=5

    KK="E"

  CASE CC=6

    KK=""

ENDCASE

IF(AA=="" and BB=="")

  MESSAGEBOX("请输入名称或编号",0+48,"注意!")

  Thisform.text1.setfocus

ELSE

  IF AA==""

   GO top

   LOCA for BB$alltrim(名称) and 编号=kk

   IF found()

     Jj=1

     DO form answer

   ELSE

   MESSAGEBOX("该选项中没有该货!;

或测试一下其他选项或'全部'选项",0+48,"注意!")

      Thisform.text1.setfocus

   ENDIF

  ELSE

 IF BB==''

   IF aa=kk

     GO top

      LOCA for AA$alltrim(编号)

      IF found()

      JJ=2

      DO form answer

    ELSE

      MESSAGEBOX("没有该货!",0+48,"注意!")

      Thisform.text1.setfocus

    ENDIF

  ELSE

      MESSAGEBOX("编号与选择项不同",0+48,"注意!")

      Thisform.text1.setfocus

  ENDIF

ELSE

   IF AA=kk

     GO top

      LOCA for AA$alltrim(编号) and BB$alltrim(名称)

      IF found()

        JJ=3

        DO form answer

      ELSE

        MESSAGEBOX("没有该货!或是编号与名称不相符!",0+48,"注意!")

        Thisform.text1.setfocus

      ENDIF

    ELSE

      MESSAGEBOX("编号与选择项不同",0+48,"注意!")

      Thisform.text1.setfocus

  ENDIF

ENDIF

ENDIF

ENDIF

9)双击“取消”按钮,并编写其Click事件代码。

release all

thisform.release

10)保存并运行该表单,其运行效果如图11-54所示。

11-54  运行模糊查询表单

4.制作模糊查询结果表单

1)创建如图11-55所示的模糊查询结果表单(answer.scx),表单中有一个命令按钮、五个标签控件和一个编辑框控件。

11-55  模糊查询结果表单

2)设置表单基本属性。

·    Autocenter.T.—真。

·    Caption:查询结果。

·    Closeable.F.—假。

·    Maxbotton.F.—假。

3)设置标签控件的名称。

·    Caption(Labe11):编号。

·    Caption(Labe12):产地。

·    Caption(Labe13):规格。

·    Caption(Labe14):数量。

·    Caption(Labe11):名称。

4)设置命令按钮的属性。

·    Caption(Command1):确定。

5)双击表单,并编写其init过程代码。

OPEN DATABASE 设备数据库

USE kucun

GO top

DO CASE

  CASE JJ=1

    LOCA for BB$alltrim(名称) and 编号=kk

    DO while !eof()

      this.edit1.value=this.edit1.value+编号+' '+产地+' '+;

规格+'  '+alltrim(str(数量))+' '+名称

      CONTINUE

    ENDDO

  CASE JJ=2

    LOCA for AA$alltrim(编号)

    DO while !eof()

      this.edit1.value=this.edit1.value+编号+' '+产地+' '+;

规格+'  '+alltrim(str(数量))+' '+名称

      CONTINUE

    ENDDO

  CASE JJ=3

    LOCA for AA$alltrim(编号) and bb$alltrim(名称)

    DO while !eof()

      this.edit1.value=this.edit1.value+编号+' '+产地+' '+;

规格+'  '+alltrim(str(数量))+' '+名称

      CONTINUE

    ENDDO

ENDCASE

This.command1.setfocus

6)双击“确定”按钮,并编写其Click事件代码。

release all

thisform.release

7)保存并运行该表单,在图11-54所示的表单中输入合适的条件查询,其运行效果如图11-56所示。

11-56  运行模糊查询结果表单