主题:备注型字段查询难题?
有一个表,表中有一特征字段(备注型),建立一表单,在表单上放文本框和命令按钮,怎样实现在文本框中输入检索关键字,查找符合条件的备注型字段中的内容.要求是:比如输入:为人随和 性格开朗 好(也就是在文本框中输入几个关键字,它们中间有空格),输出结果一起显示在表格控件中,这个问题,以前有个老师给了个代码,虽然问题已解决,但是代码实现的却是输出结果隐藏在表单后,要通过按任意键才能翻看,现在我想把它一起连接到表格控件中一起显示,以前的那段代码是:
**表单中设置文本框Text1,编辑框Eid1,命令按钮一个.
**下列代码在命令按钮的Click事件中
**表名rcda.dbf,其中备注字段名gzjl,设置在表单的数据环境中
ctext=ALLTRIM(ThisForm.Text1.Value)+SPACE(2)
nlenCtext=LEN(ctext)
IF nlenCtext=0
=MESSAGEBOX("请输入关键字......",48,"友情提醒")
ThisForm.Text1.SetFocus
ENDIF
nword=0
n=1
nstart=1
nend=0
**统计文本框输入的单词个数并把单词存放在相应的变量中
**文本框中单词之间空格隔开
DO WHILE n<nlenCtext
cCh=SUBSTR(ctext,n,1)
nend=nend+1
IF ASC(SUBSTR(ctext,nend-1,1))!=32.and.asc(SUBSTR(ctext,nend,1))=32
nword=nword+1
cWordName=ALLTRIM("cword"+ALLTRIM(STR(nword)))
&cWordName=ALLTRIM(SUBSTR(ctext,nstart,nend-nstart))
nstart=nend
ENDIF
n=n+1
ENDDO
SELECT rcda
GO TOP
DO WHILE .not.eof()
cTextMemo=gzjl &&取出备注字段存放在变量中
cExp=""
FOR i=1 TO nword
nn="nat"+ALLTRIM(STR(i))
cWordName=ALLTRIM("cword"+ALLTRIM(STR(i)))
&nn=AT(&cWordName,cTextMemo)
cExp=cExp+"&nn>0"+".and."
ENDFOR
nlencExp=LEN(cExp)
cExp=LEFT(cExp,nLencExp-5)
IF &cExp
ThisForm.Edit1.Value=cTextMemo &&编辑框显示符合条件的内容
wait
ENDIF
SKIP
ENDDO
来自 :dGgong2002
**表单中设置文本框Text1,编辑框Eid1,命令按钮一个.
**下列代码在命令按钮的Click事件中
**表名rcda.dbf,其中备注字段名gzjl,设置在表单的数据环境中
ctext=ALLTRIM(ThisForm.Text1.Value)+SPACE(2)
nlenCtext=LEN(ctext)
IF nlenCtext=0
=MESSAGEBOX("请输入关键字......",48,"友情提醒")
ThisForm.Text1.SetFocus
ENDIF
nword=0
n=1
nstart=1
nend=0
**统计文本框输入的单词个数并把单词存放在相应的变量中
**文本框中单词之间空格隔开
DO WHILE n<nlenCtext
cCh=SUBSTR(ctext,n,1)
nend=nend+1
IF ASC(SUBSTR(ctext,nend-1,1))!=32.and.asc(SUBSTR(ctext,nend,1))=32
nword=nword+1
cWordName=ALLTRIM("cword"+ALLTRIM(STR(nword)))
&cWordName=ALLTRIM(SUBSTR(ctext,nstart,nend-nstart))
nstart=nend
ENDIF
n=n+1
ENDDO
SELECT rcda
GO TOP
DO WHILE .not.eof()
cTextMemo=gzjl &&取出备注字段存放在变量中
cExp=""
FOR i=1 TO nword
nn="nat"+ALLTRIM(STR(i))
cWordName=ALLTRIM("cword"+ALLTRIM(STR(i)))
&nn=AT(&cWordName,cTextMemo)
cExp=cExp+"&nn>0"+".and."
ENDFOR
nlencExp=LEN(cExp)
cExp=LEFT(cExp,nLencExp-5)
IF &cExp
ThisForm.Edit1.Value=cTextMemo &&编辑框显示符合条件的内容
wait
ENDIF
SKIP
ENDDO
来自 :dGgong2002