回 帖 发 新 帖 刷新版面

主题:备注型字段查找的若干条记录如何用表单上的list控件显示出来?

表单有edit控件,GRid控件,表中的字段:形态特征
目的:在编辑框中输入几个查找的关键字,每个关键字之间用空格隔开,输入相应的关键字,在表单中的list控件中显示相应的查找结果!表单运行后列表框中什么都不显示?
以下是我的代码:
LPARAMETERS nButton, nShift, nXCoord, nYCoord
ctext=ALLTRIM(ThisForm.edit4.Value)+SPACE(2)  &&去除字符串前后的空格
nlenCtext=LEN(ctext) &&计算字符串的长度
IF nlenCtext=0
    =MESSAGEBOX("请输入关键字......",48,"系统提示")
    ThisForm.edit4.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 btyszwzy
GO TOP 
cTextMemo=形态特征  &&取出备注字段存放在变量中
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)

thisform.list1.RowSource="SELECT * FROM btyszwzy WHERE 形态特征=ctextmemo  INTO CURSOR croco"
thisform.list1.RowSourceType= 3
thisform.refresh

回复列表 (共7个回复)

沙发

不明白??

以下代码有用吗???
SELECT btyszwzy
GO TOP 
cTextMemo=形态特征  &&取出备注字段存放在变量中
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)

其结果是什么啊!

板凳

我也不明白了,这是一个老师给我的代码,目的就是要找到符合条件的结果,我现在是不清楚怎么把备注型字段的结果链接到列表框控件上。请老师给一个另外的解答方法!谢谢

3 楼

你试试看,是这样吗?
go top in btyszwzy
ALINES(a1,btyszwzy.形态特征," ")
thisform.list1.RowSource="a1"
thisform.list1.RowSourceType= 5

4 楼

我试试

5 楼

不行啊,老师!列表框什么都不显示!

6 楼

咱们的论坛里,我搜了以下没有关于查找备注型字段的!

7 楼

PUBLIC a1[1]
go top in btyszwzy
ALINES(a1,btyszwzy.形态特征," ")
thisform.list1.RowSource="a1"
thisform.list1.RowSourceType= 5

我来回复

您尚未登录,请登录后再回复。点此登录或注册