建一个表单如下...但是运行表单后,每次库指针都会停在库底

alkal 2004-10-06 07:16:08
建一数据表:信息表.dbf ,内含车牌号与驾驶员两个字段。
表单中text1、text2两个文本框的ControlSource分别等于信息表中的车牌号与驾驶员字段。
当在text3文本框中输入一个车牌号,然后单击Command1按钮,实现定位功能,并将有关信息显示在text1、text2两个文本框内。
在Command1按钮Click事件中,我编写如下代码:
Scan for 车牌号=thisform.text3.value
Thisform.text3.value=””
Thisform.refresh
Endscan
但是运行表单后,每次库指针都会停在库底,并不能定位到所寻车牌号,请指点迷津,谢谢!
...全文
129 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2004-10-10
  • 打赏
  • 举报
回复
dfwxj(清风) 的方法就可以了。
淡蓝冰 2004-10-07
  • 打赏
  • 举报
回复
非常同意上面的說法
yestoyes 2004-10-06
  • 打赏
  • 举报
回复
你的命令用得不是地方,scan.....endscan是循环命令,而你此时实际上需要的是定位,所以
应该是类似如下的代码:
LOCATE FOR 车牌号=ALLTRIM(thisform.text3.value)
IF FOUND()
thisform.text1.value=车牌号
thisform.text1.value=驾驶员
ELSE
MESSAGEBOX("对不起!找不到相应的车牌号。")
ENDIF
zhaoshaom 2004-10-06
  • 打赏
  • 举报
回复
上同,因为SCAN
ENDSCAN
总是循环到最后的,
你可以用
set order to 车牌号
if seek(text3.value)
Thisform.text3.value= 表.车牌号
Thisform.refresh

endif
dfwxj 2004-10-06
  • 打赏
  • 举报
回复
很奇怪,在这里为什么要用SCAN?况且这里扫描的记录永远只有一条

SCAN每次运行结果都是要停在表底的,代码应修改如下:

loca for allt(车牌号)==allt(thisform.text3.value)
thisform.text3.value=''
thisform.refresh

要想提高速度就用索引再SEEK
LAIYANGPJ 2004-10-06
  • 打赏
  • 举报
回复
SCAN
<命令语句组>
ENDSCAN
说明:在一个表中建立一个执行命令语句组的循环,并执行对每一条记录的操作,直到表文件
记录完为止。





LAIYANGPJ 2004-10-06
  • 打赏
  • 举报
回复
你该好好看一下SCAN FOR .....ENDSCAN条件语句.
内容概要:本文档为一份《计算机程序设计语言(C++)》课程的实验报告,涵盖了从基础语法到面向对象编程的多个实验内容。实验内容包括基础语法练习(如银行存款计算、数值比较、科学计算)、控制结构(分支与循环,如闰年判断、素数判定、Kaprekar黑洞数)、数组操作(一维与二维数组的排序、查找、极值计算、杨辉三角)、函数定义与应用(递归、参数传递、函数重载)以及面向对象编程(类与对象的设计、继承、多态性、文件操作)。文档详细展示了每个实验的任务描述、具体C++代码实现、测试结果及实验分析,体现了从简单到复杂、逐步深入的学习路径。; 适合人群:具备C++基础语法知识,正在学习或巩固程序设计课程的在校大学生及初级编程学习者。; 使用场景及目标:①作为C++课程的配套实验指导材料,帮助学生通过实践掌握编程基础知识和核心算法;②用于自学练习,提升对循环、数组、函数和面向对象等核心概念的理解与编码能力。; 阅读议:学习者应结合文档中的代码实例,动手在编程环境中逐一实现并调试,重点关注代码逻辑、边界条件处理和算法效率,通过对比预期输出与实际输出加深对知识点的掌握。

2,749

社区成员

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

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