CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他数据库开发 >  VFP

在多表的情况下,能不能用VFP式的过程式的语句(用移动某个表的记录指针的)来实现一个个的寻找(用SKIP等)?(我只有10分了)

楼主grub2linux(VC6入门者)2006-03-04 13:48:39 在 其他数据库开发 / VFP 提问

请教:  
  功能:   在表单中实现简单查询(已用SQL解决,但我还是想试一下能不能用VFP解决?)  
              表单中有两个表(库中的和自由表都行,字段和类型完全相同,),与字段数相同的编辑框(用其中一个接受查询依据的字段),一个按钮执行查询.  
   
  已在数据环境设计器中把两个表拖放到表单中了  
   
  我遇到的问题是:   在多表的情况下,能不能用VFP式的过程式的语句(用移动某个表的记录指针的)来实现一个个的寻找(用SKIP等),找到后再复制或显示到另一表中?   这样就要事先变换工作区,要怎样变换呢?   我的代码出错,说是只能以独占方式打开,有时不出错了,但是,却无反映  
   
  代码如下:(按钮事件)  
  *set   exclusive   on  
  *close   all  
  *open   database   tableQuery  
   
  select   queried  
  select   queryto  
  delete   all  
  pack  
   
   
   
  append   blank  
   
  replace   aa   with   "dfdf",   bb   with   0.00,   cc   with   "dfdf"  
   
  select   queried  
  do   while   !eof()  
  thisform.refresh  
  if   thisform.text1.value=queried.aa  
  select   queryto  
   
  *thisform.grdQuerytable.column1.text1.value=thisform.grdIndep.column1.text1.value  
  *thisform.grdQuerytable.column2.text1.value=thisform.grdIndep.column2.text1.value  
  *thisform.grdQuerytable.column3.text1.value=thisform.grdIndep.column3.text1.value  
   
  replace   aa   with   queried.aa  
  replace   bb   with   queried.bb  
  replace   cc   with   queried.cc  
  thisform.refresh  
  endif  
  select   queried  
  skip  
  enddo  
   
  问题点数:10、回复次数:4Top

1 楼apple_8180(十豆三)回复于 2006-03-04 15:41:13 得分 0

*表单的Load事件:  
  SET   EXCLUSIVE   ON  
   
  *按钮事件:  
  SELECT   queryto  
  ZAP  
  APPEND   BLANK  
  REPLACE   aa   WITH   "dfdf",   bb   WITH   0.00,   cc   WITH   "dfdf"  
  SELECT   queried  
  DO   WHILE   !EOF()  
  THISFORM.REFRESH  
  IF   THISFORM.text1.VALUE=queried.aa  
  SELECT   queryto  
  REPLACE   aa   WITH   queried.aa,bb   WITH   queried.bb,cc   WITH   queried.cc  
  THISFORM.REFRESH  
  ENDIF  
  SELECT   queried  
  SKIP  
  ENDDOTop

2 楼apple_8180(十豆三)回复于 2006-03-04 15:43:36 得分 0

不过感觉你的按钮事件有问题,  
   
  select   queryto  
  delete   all  
  pack  
  append   blank  
  replace   aa   with   "dfdf",   bb   with   0.00,   cc   with   "dfdf"  
   
  这几句执行后,表queryto中只有一条记录,  
  然后下面的循环中反复REPLACE,替来替去,只替换了表queryto中的一条记录。  
   
  还像这样不对吧。  
   
  Top

3 楼grub2linux(VC6入门者)回复于 2006-03-04 19:20:16 得分 0

我运行你代码,就可!  
  搞了半天!   原来就是VFP   的毛病!  
  你我代码的不同只在  
   
  ---  
  delete   all  
  pack  
  --  
  zap  
   
  照理是一样的,但VFP用前者就使表全变白色!用后者就可以!  
  我晕!  
  Top

4 楼grub2linux(VC6入门者)回复于 2006-03-04 19:33:44 得分 0

另外,请教一下:  
  我的这个功能,最好用什么方法实现?  
  那个查询结果的表,不用表可以吗?   比如用查询或CURSOR或视图?  
  我看到可把用数据环境拖放入表单中的表的属性里的源类型中有查询(.QPR)  
  但不知怎么用?  
   
  另我用以下SQL代码(用了数组)  
  但如查不到仍然会输入.F.,0等等  
  怎么使它不输入呢?  
   
  Top

相关问题

  • vfp select语句
  • 请问关于指针的这个语句该怎么理解?
  • 用一条语句打印指针数组的全部内容
  • vfp中的语句规则
  • 一个很奇怪的问题:在循环语句中,指针老往前走。
  • 自以为理解了指针,看了这三行语句蒙了,请教!
  • 自以为理解了指针,看了这三行语句蒙了,请教!
  • 请问VFP-SQL语句怎么转换为SQL语句
  • 请问,VFP语句如何转换成SQL语句,谢谢.
  • SQL语句中如何用"包含"?(VFP)

关键词

  • vfp
  • 字段
  • 代码
  • 查询
  • 表
  • thisform
  • 表单
  • 实现
  • 能不能
  • text1

得分解答快速导航

  • 帖主:grub2linux

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo