sele zap appe from

wxh8742551 2009-08-05 10:28:09
sele &bm
bh=bh+&bm1
km=allt(thisform.combo1.text)
km1='c:\2007年租赁合同\数据库\'+km+'承租人'
km2='c:\2007年租赁合同\数据库\'+km+'房屋情况'
km3='c:\2007年租赁合同\数据库\'+km+'租金核定表'
do case
case len(allt(thisform.text1.text))=0
sele fwqklsb
zap
appe from &km2 for at(allt(thisform.list1.value),地址)>0
sele zzrlsb
zap
appe from &km1 &&for at(bh,租赁证号)>0
sele zjhdlsb
zap
appe from &km3 for at(bh,租赁证号)>0
messagebox('将从此街巷(居民会)的第一条记录开始打印!',72,'注意')
case len(allt(thisform.text1.text))>0 and len(allt(thisform.text2.text))=0
sele fwqklsb
zap
appe from &km2 for at(allt(thisform.list1.value),地址)>0 and allt(租赁证号)>=allt(thisform.text1.text)
sele zzrlsb
zap
appe from &km1 &&for allt( 租赁证号)>=allt(thisform.text1.text)&&at(bh,租赁证号)>0
sele zjhdlsb
zap
appe from &km3 for allt(租赁证号)>=allt(thisform.text1.text)&&at(bh,租赁证号)>0
messagebox('将打印从此街巷(居民会)的指定记录开始到最后一条记录!',72,'注意')
case len(allt(thisform.text1.text))>0 and len(allt(thisform.text2.text))>0
sele fwqklsb
zap
appe from &km2 for at(allt(thisform.list1.value),地址)>0 and allt(租赁证号)>=allt(thisform.text1.text) and allt(租赁证号)<=allt(thisform.text2.text)
sele zzrlsb
zap
appe from &km1 &&for allt(租赁证号)>=allt(thisform.text1.text) and allt(租赁证号)<=allt(thisform.text2.text)&&at(bh,租赁证号)>0
sele zjhdlsb
zap
appe from &km3 for allt(租赁证号)>=allt(thisform.text1.text) and allt(租赁证号)<=allt(thisform.text2.text)&&at(bh,租赁证号)>0
endc



sele fwqklsb
zap
appe from &km2 for at(allt(thisform.list1.value),地址)>0


这代码的意思是不是:符合某个条件的时候从&km2数据库导入到 fwqklsb这个数据库?
...全文
145 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
华夏小卒 2009-08-05
  • 打赏
  • 举报
回复
1、sele选择某表,zap清空这个某表,appe from就是从&km2这个表导入数据到某表。是不是这样?
这句理解正确。
2、然后就是 &km2 这个&然后表名 是干嘛?
km2不是表名。&km2,是一个宏替换,表示一个动态的的表
3、还有for at(allt(thisform.list1.value),地址)>0?这个是符合某个条件?
这个理解正确。
指allt(thisform.list1.value的值在“地址”中出现的次数大于0
wxh8742551 2009-08-05
  • 打赏
  • 举报
回复
sele选择某表,zap清空这个某表,appe from就是从&km2这个表导入数据到某表。是不是这样?
然后就是 &km2 这个&然后表名 是干嘛?
还有for at(allt(thisform.list1.value),地址)>0?这个是符合某个条件?
十豆三 2009-08-05
  • 打赏
  • 举报
回复
那个命令或函数不明白(包括宏替换 &),你参考 VFP 自带的帮助文件(F1)即可。
都市夜猫 2009-08-05
  • 打赏
  • 举报
回复
1. & 是 vfp 的宏替换操作。
例如你的 appe from &km2 ...
如果没有这个 &,就成了要从名为 km2 的表中添加记录,显然没有这个表
加上 & 后就成从 km2 变量代表的表名来添加记录。
不建议大量使用 & 操作,尽量使用名字表达式和求值函数来替代它
例如:
appe from &km2 ... => appe from (km2) ...
sele &bm => sele (bm)
bh=bh+&bm1 => bh = bh + eval(bm1)

2. at(s1, s2) > 0
表示在 s2 中找到了 s1
类似的有 vfp 语法有 s1 $ s2
不过 at 比 $ 稍快一点

3. appe from &km1 &&for ...
这个红色的 && 不需要,也不能要

4. appe from ... allt(租赁证号) <=allt(thisform.text2.text) && at(bh,租赁证号)>0
不像 C,vfp 中这种逻辑运算只能用 and 关键字,没有 && 这种写法

2,727

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧