SCL.PRG
上传用户:zhanyi0618
上传日期:2013-01-31
资源大小:1118k
文件大小:4k
源码类别:

企业管理

开发平台:

VFP

  1. ***************************
  2. * .SCL.PRG
  3. ***************************
  4. save screen to PM
  5. PD1 = field(READZD)
  6. set color to w/g
  7. @ 6 , 30 , 8 , 53 box '           '
  8. set color to gr+/bg
  9. PD = 'N'
  10. @ 7 , 31 say '真的删除该列吗(Y/N)?' get PD
  11. read 
  12. if PD='Y' or PD='y'
  13.   FILE1 = GZBWJ+'.dbf'
  14.   use 
  15.   if file('gzb-k.dbf')
  16.     erase gzb-k.dbf
  17.   endif 
  18.   copy file &file1 to gzb-k.dbf 
  19.   use &gzbwj
  20.   if file('gzbk.dbf')
  21.     erase gzbk.dbf
  22.   endif 
  23.   copy to gzbk.dbf structure extended
  24.   use gzbk
  25.   locate all for PD1$FIELD_NAME and len(trim(PD1))=len(trim(FIELD_NAME))
  26.   if FIELD_NAME='应发工资' or FIELD_NAME='实发工资' or FIELD_NAME='帐号'
  27.     ?? chr(7)
  28.   else 
  29.     delete 
  30.     pack 
  31.   endif 
  32.   set color to gr+/bg
  33.   X1 = 8
  34.   X2 = 10
  35.   Y1 = 28
  36.   Y2 = 48
  37.   do box-1
  38.   @ 9 , 30 say '正在处理数据......'
  39.   delete all for FIELD_NAME=' '
  40.   pack 
  41.   use 
  42.   FILE = GZBWJ+'.dbf'
  43.   if file(FILE)
  44.     eras &file
  45.   endif 
  46.   crea &gzbwj from gzbk
  47.   use &gzbwj
  48.   append from gzb-k.dbf
  49.   use 
  50.   use &gzbwj
  51.   select 2
  52.   use 
  53.   select 1
  54.   if file('gzjg.dbf')
  55.     erase gzjg.dbf
  56.   endif 
  57.   copy to gzjg.dbf structure extended
  58.   select 2
  59.   use gzjg
  60.   select 1
  61.   ZDS = fcount()
  62.   PD = 1
  63.   YFGZ = 0
  64.   SFGZ = 0
  65.   do while PD<=ZDS
  66.     if field(PD)='应发工资'
  67.       YFGZ = PD
  68.     endif 
  69.     if field(PD)='实发工资'
  70.       SFGZ = PD
  71.     endif 
  72.     PD = PD+1
  73.   enddo 
  74.   if YFGZ=0
  75.     @ 10 , 30 say '“应发工资”项目没找到!'
  76.     I = inkey(0)
  77.     return 
  78.   endif 
  79.   if SFGZ=0
  80.     @ 11 , 30 say '“实发工资”项目没找到!'
  81.     I = inkey(0)
  82.     return 
  83.   endif 
  84.   go top
  85.   do while  not eof()
  86.     PD = 5
  87.     JSQ = 0
  88.     do while PD<YFGZ
  89.       PD1 = field(PD)
  90.       jsq=jsq+&pd1 
  91.       PD = PD+1
  92.     enddo 
  93.     PD1 = field(YFGZ)
  94.     repl &pd1 with jsq
  95.     PD = YFGZ+1
  96.     do while PD<SFGZ
  97.       PD1 = field(PD)
  98.       jsq=jsq-&pd1
  99.       PD = PD+1
  100.     enddo 
  101.     PD1 = field(SFGZ)
  102.     repl &pd1 with jsq
  103.     skip 
  104.   enddo 
  105.   restore screen from PM
  106.   set color to w+/b
  107.   @ 2 , 12 clear to 22 , 79
  108.   P = 1
  109.   set color to gr/n
  110.   @ 0 , 0 say '挚 诚 奉 献 !'
  111.   @ 0 , 67 say 'JQ财务系统'
  112.   set color to g/n
  113.   @ 0 , 30 say '工资表数据编辑'
  114.   @ 1 , 0 say '==============================================================================='
  115.   ? '   '
  116.   ? '==============================================================================='
  117.   @ 23 , 0 say '==============================================================================='
  118.   set color to b/gr
  119.   set color to w+/b
  120.   ZDS = fcount()
  121.   PD = 1
  122.   YFGZ = 0
  123.   SFGZ = 0
  124.   do while PD<=ZDS
  125.     if field(PD)='应发工资'
  126.       YFGZ = PD
  127.     endif 
  128.     if field(PD)='实发工资'
  129.       SFGZ = PD
  130.     endif 
  131.     PD = PD+1
  132.   enddo 
  133.   if YFGZ=0
  134.     @ 10 , 30 say '“应发工资”项目没找到!'
  135.     I = inkey(0)
  136.     return 
  137.   endif 
  138.   if SFGZ=0
  139.     @ 11 , 30 say '“实发工资”项目没找到!'
  140.     I = inkey(0)
  141.     return 
  142.   endif 
  143.   go bottom
  144.   PD = recno()
  145.   JLS = PD
  146.   PD = PD/19
  147.   PD1 = int(PD)
  148.   YS = PD-PD1
  149.   if YS=0
  150.     YS = PD1
  151.   else 
  152.     YS = PD1+1
  153.   endif 
  154.   go top
  155.   YC = 1
  156.   BS = 0
  157.   YS1 = 1
  158.   @ 2 , 0 say '编号'
  159.   @ 2 , 6 say '姓名'
  160.   do while .t.
  161.     LC = 0
  162.     JSQ = 3
  163.     P = 1
  164.     if YFGZ>7
  165.       PD1 = 7
  166.     else 
  167.       PD1 = YFGZ-1
  168.       P = 0
  169.     endif 
  170.     ZD1 = 3
  171.     ZD2 = PD1
  172.     do while JSQ<=PD1
  173.       RFIELD = field(JSQ)
  174.       @ 2 , 20+LC say field(JSQ)
  175.       @ 4+bs,20+lc say &Rfield  
  176.       JSQ = JSQ+1
  177.       LC = LC+12
  178.     enddo 
  179.     @ 4+BS , 0 say 编号
  180.     @ 4+BS , 6 say 姓名
  181.     if  not eof()
  182.       skip 
  183.       BS = BS+1
  184.     else 
  185.       exit 
  186.     endif 
  187.     if BS=19
  188.       exit 
  189.     endif 
  190.   enddo 
  191.   READZD = ZD1
  192.   READLC = 0
  193.   go top
  194.   set color to n/w
  195.   BS = 0
  196.   LC = 0
  197.   JSQ = 3
  198.   if YFGZ>7
  199.     PD1 = 7
  200.   else 
  201.     PD1 = YFGZ-1
  202.   endif 
  203.   do while JSQ<=PD1
  204.     RFIELD = field(JSQ)
  205.     @ 4+bs,20+lc say &Rfield  
  206.     JSQ = JSQ+1
  207.     LC = LC+12
  208.   enddo 
  209.   @ 4+BS , 0 say 编号
  210.   @ 4+BS , 6 say 姓名
  211.   PD = 0
  212.   ZY = 0
  213.   set color to gr+/bg
  214.   RFIELD = field(READZD)
  215.   @ 4+bs,20+readlc say &Rfield
  216. else 
  217.   restore screen from PM
  218. endif 
  219. return