注册 登录
编程论坛 VFP论坛

VFP文本框从表中模糊查询、逐一提示、保存?

wangjiayu45 发布于 2021-11-15 18:12, 1570 次点击
VFP文本框从表A中进行模糊查询、逐一提示、保存?
1:如果从表中查A到相关内容,则选择一条内容填充到文本框;
2:如果从表中查不到相关内容,刚将文本框输入的内容保存到表A中.
如了一个附件测试,解压后请放在桌面。
只有本站会员才能查看附件,请 登录
7 回复
#2
吹水佬2021-11-15 21:42
简单操作:按文本框值进行表操作,查找、添加,文本框赋值
问题:模糊查询、逐一提示,具体是什么意思。怎模糊法才算查到、查不到,逐一提示什么
#3
wangjiayu452021-11-16 08:18
回复 2楼 吹水佬
谢谢老师:模糊查询、逐一提示,具体是什么意思?
  比如:在表A中,其中有一行叫:中华人民共和国万岁,有一行叫:中国共产党万岁
         文本框中输入:“中”或“万岁”,即提示“中华人民共和国万岁”和“中国共产党万岁”,选定其中一条后填充到文本框。如果我继续输入“中央人民政府”,表A中没有这一条记录。则不再提示,把文本框中“中央人民政府”添加到表A中,以便再用。
#4
吹水佬2021-11-16 09:46
回复 3楼 wangjiayu45
只有本站会员才能查看附件,请 登录

list1.init
程序代码:

this.RowSourceType = 3
this.RowSource = "SELECT mc FROM 库表 WHERE .T. INTO CURSOR tmp"
this.ColumnWidths = TRANSFORM(this.Width)

list1.Click

thisform.text1.Value = this.List(this.ListIndex)

text1.KeyPress
程序代码:

LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode != 13
    RETURN
ENDIF
IF EMPTY(this.Value)
    thisform.list1.RowSource = [SELECT mc FROM 库表 WHERE .T. INTO CURSOR tmp]
    thisform.list1.Requery
    RETURN
ENDIF
thisform.list1.RowSource = [SELECT mc FROM 库表 WHERE "]+ALLTRIM(this.Value)+["$mc INTO CURSOR tmp]
thisform.list1.Requery
IF thisform.list1.ListCount == 0
    INSERT INTO 库表 VALUES (PADL(RECCOUNT("库表")+1,3,"0"), ALLTRIM(this.Value))
    thisform.list1.Requery
ENDIF
NODEFAULT

只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2021-11-16 09:54编辑过]

#5
wangjiayu452021-11-16 13:42
回复 4楼 吹水佬
谢谢老师!
#6
wangjiayu452021-11-16 14:52
this.RowSource = "SELECT mc FROM 库表 WHERE .T. INTO CURSOR tmp"      

请教:WHERE .T.是什么意思??
#7
吹水佬2021-11-16 15:06
回复 6楼 wangjiayu45
所有记录
#8
wangjiayu452021-11-18 09:29
回复 7楼 吹水佬
谢谢老师!学习了
1