用SPT访问SQL数据表生成动态菜单

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

  * *modify date: 2002.06.04 mender: Niko 满足菜单打开多个窗口,窗口已打开则Activate,工具条及权限随激活窗口而改变
  * *modify date: 2002.06.21 mender: Niko 增加文件,编辑,帮助三项,文件项中内容随工具条内按钮相应变更
  * * 该程序动态生成 菜单根据 全局变量表 global_right
  * *global_right(program_id c(6),descr c(40) null,search logic ,amend logic,new logic,candele logic)
  * * 主菜单固定 (new)
  * * 1.市场管理 M (Market)
  * * 2.生产计划 P (Production)
  * * 3.工程管理 E (Engineer)
  * * 4.品质(管理) Q (Quantity)
  * * 5.财务(系统) A (Account)
  * * 6.报关(系统) C (Custom)
  * * 7.车间(管理) W (Workshop)
  * * 8.采购(管理) B (Workshop)
  * * 9.仓库(管理) S (Workshop)
  * * 10.其它(功能) O (Other)
  * * 11.帮助 H (Help)
  * * 12.退出 X (eXit)

  LPARAMETERS oFormRef, getMenuName, lUniquePopups
  LOCAL cMenuName, nTotPops, a_menupops, cTypeParm2, cSaveFormName,i,macro1,programid,loginsucc
  *!* IF TYPE("m.oFormRef") # "O" OR ;
  *!* LOWER(m.oFormRef.BaseClass) # 'form' OR ;
  *!* m.oFormRef.ShowWindow # 2
  *!* MESSAGEBOX([只能从顶层表单调用该菜单。请确认您表单的 ShowWindow 属性已设为 2。阅读此菜单 MPR 文件的头部分,可以获得详细信息。])
  *!* RETURN
  *!* ENDIF
  m.cTypeParm2 = TYPE("m.getMenuName")
  m.cMenuName ='MAINFORM' &&& SYS(2015)
  m.cSaveFormName = m.oFormRef.Name
  IF m.cTypeParm2 = "C" OR (m.cTypeParm2 = "L" AND m.getMenuName)
  m.oFormRef.Name = m.cMenuName
  ENDIF
  IF m.cTypeParm2 = "C" AND !EMPTY(m.getMenuName)
  m.cMenuName = m.getMenuName
  ENDIF

  i=0
  && select * from global_right where len(alltrim(program_id))>3 into cursor temp &&第三级菜单
  select distinct left(program_id,3) as program_id from global_right where len(alltrim(program_id))>3 into cursor temp
  i=_tally &&得到有有多少个第二级菜单有第三级菜单
  select * from global_right where exists(select * from temp where global_right.program_id=temp.program_id) and len(alltrim(global_right.program_id))>3 into cursor temp_menu
  &&tempp_menu 得到有第三级菜单的程序代号权限表。

  select * from global_right where exists(select * from temp where global_right.program_id==temp.program_id) into cursor tempp
  &&tempp 得到有第三级菜单的第二级菜单项

  DIMENSION a_menupops[i+13]
  IF TYPE("m.lUniquePopups")="L" AND m.lUniquePopups
  FOR nTotPops = 3 TO ALEN(a_menupops)
  a_menupops[m.nTotPops]= SYS(2015)
  ENDFOR
  ELSE
  a_menupops[1]="文件" && F
  a_menupops[2]="编辑" && D
  a_menupops[3]="报价" && M
  a_menupops[4]="生产计划" && P
  a_menupops[5]="工程" && E
  a_menupops[6]="品质" && Q
  a_menupops[7]="车间生产" && W
  a_menupops[8]="采购" && B
  a_menupops[9]="仓库" && S
  a_menupops[10]="报关" && C
  a_menupops[11]="财务" && A
  a_menupops[12]="系统管理" && O
  a_menupops[13]="帮助" && H
  j=0
  select tempp
  scan
  j=j+1
  a_menupops[13+j]=alltrim(tempp.descr)
  endscan
  ENDIF

上一页1234下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答