收录日期:2018/12/13 08:09:48 时间:2016/05/21 14:12:43 标签:VFP
我们以前的老师只都我们学命令,而现在的老师让我们写程序

把表ZGDA中职称为二级的基本工资在ZGGZ里加10块,没有关联,只限制在两个工作区内操作,这个简单的程序怎么写?

写程序的方法:

用命令在电脑上写
******************************************************************
&&以下假设zgda的有两个字段:zg_id(职工编号),zg_gra(职工职称);
&&zggz中同样有两个字段:zg(职工编号,以上面相同),zg_num(职工工资)
*******************************************************************
local cur_id
local shoud_add
should_add=.f.
sele a
use zggz.dbf
sele b
use zgda
sele a
scan
   cur_id=zg_id
   sele b
   locate for zg_id=cur_id
   should_add=(zg_gra=="二级")
   sele a
   if should_add
         replace zg_num with zg_num+10
   endif   
endscan
********************************************************
&&时间仓促,未写异常处理部分
什么意思哟?我根本看不懂,比如说
local cur_id
local shoud_add
should_add=.f.
Modi comm Ls
use zgda
sele 2
use zggz
sele 1
if ! eof()
do while .T.
if 职称="二级"
temp=姓名
sele 2
replace 基本工资 with 基本工资+10 for temp=姓名
end if
sele 1
skip
if eof()
exit
endif
enddo
end if

这是老师给出来的答案,但是我认为不是很怎么好呀~~~~~~~~~~~~~大家给点意见
Modi comm Ls
use zgda
sele 2
use zggz
sele 1
do whil .not.eof()
  if 职称="二级"
    temp=姓名
    sele 2
    repl 基本工资 with 基本工资+10 for temp=姓名
  end if
  sele 1
  skip
enddo
close all



或用scan也可,
黑鹰认为以上做法不妥,因为在zggz与zgda中姓名字段并不能唯一标识每条记录,照以上解法,如果有两个姓名完全相同的职工,只要其中一个职称为“二级”,则两名职工均会被啬基本工资.
以上是个人愚见。
另外
local cur_id在语法上的意思是定义一个局部内存变量cur_id
local should_add同上
should_add=.f.为赋值.f.给内存变量should_add
可能你在学校里,学习用命令,没有上过即见即所得的语言!!   

   去买一些教学光盘,,,看一下!!
黑鹰说的有道理,我佩服!

zgda的有两个字段:zg_id(职工编号),zg_gra(职工职称);
zggz中同样有两个字段:zg(职工编号,以上面相同),zg_num(职工工资)

职工编号应为唯一性,可将“temp=姓名”改为“temp=职工编号”

如果职工编号为唯一性,程序更简单:两表按“职工编号”建索引,用"update"直接更新。

急啊 等啊 讨论:怎样管理persistence? 真TMD的贼郁闷~~~~~~~~~~~~~~~~~ 王爽的汇编语言,试验四,第3题 关于WinNT4.0 Server与Exchange 5.5问题 老主板怎么安装USB接口? 讨论:怎样管理事务(transactions)? 请教Matcom嵌入Visual C++.NET的问题! ■如何检测网络上的一个文件是否存在? 显示器屏幕无故抖动 讨论:session state 是怎样管理的? 登陆的候身份验问题!在线等待! 请教关于显示器不显示的问题 麻烦大家以下。 请问debug是否提供监视某个变量变化的功能呢? 问大伙一个问题---你们坐在抽水马桶上的时候,是把自己的JJ拿到外面,还是压在里面啊??(女生就算了) 两个程序中,ListBox中数据的传递. 问一个构造函数的问题 编写dll,里面要调用另外dll中的函数,如何实现? JBX 一个问题,望各位帮忙 请问用C++ Builder 6.0 需要Windows核心编程等类似知识吗? [Description(\"Overloaded binary+operator\")]应该用什么命名空间? 一个菜鸟提的问题,请各位大虾指点,急哦!!! 如何限製只可以輸入英文和數字 大家好!我要买一台服务器,服务器配置见下表,请帮助参考一下,性能和价格! 请问如何将FLOAT类型的一维数组转成VAR类型,改变它的长度,然后再改回来? 在线请教! 请各位看看这个警告是怎么回事? 大家帮帮我啊!电脑启动不起来了!!散分! 请问:Struts 运行时,出现这个错误信息,怎么解决