| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2960 人关注过本帖
标题:请教一个关于搜索的问题
只看楼主 加入收藏
chengvf
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-3-30
收藏
得分:0 
回复 9楼 TonyDeng
好的。谢谢你,我再琢磨一下,感觉应该是对的。我还得理解一下。又不懂的再向你请教。多谢。
2016-03-30 11:37
chengvf
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-3-30
收藏
得分:0 
回复 9楼 TonyDeng
你好,帮忙看看哪里有问题。这个表单中,combo2用来输入性别,combo3用来输入学历,text5用来输入姓名,text2用来输入工作单位,text4用来显示统计出的数字。下面是统计命令按钮中click中的代码。
if empty(thisform.text5.value)=.t.
thisform.text5.value=.t.
endif
if empty(thisform.text2.value)=.t.
thisform.text2.value=.t.
endif
rec=recno()
a=alltrim()
b=alltrim()
c=alltrim(thisform.text5.value)
d=alltrim(thisform.text2.value)
tj="性别=a.and.学历=b.and.姓名==c.and.工作单位==d"
count for &tj to e
thisform.text4.value=e
go rec
thisform.refresh

[此贴子已经被作者于2016-3-30 12:03编辑过]

2016-03-30 11:56
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:20 
tj = IIF(!EMPTY(combo2.Value), "性別='"+ALLTRIM(combo2.Value)+"'", .T.)
tj = tj + " .AND. " + IIF(!EMPTY(combo3.Value), "學歷='"+ALLTRIM(combo3.Value)+"'", .T.)
……
COUNT FOR &tj to e

授人以渔,不授人以鱼。
2016-03-30 12:06
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
控件的命名最好有規律,方便循環,像這樣一行一行寫硬代碼,有潔癖的人是不可忍受的。當然,全部都是字符型字段的,統一處理較簡單,否則要分別針對各種數據類型編碼,但那也是一段通用代碼。循環的最大好處,是此後不用管這些項目的增減,都是可用的。

另外一個處理方法,是寫一個自定義函數,對一條記錄檢查是否符合條件,函數返回符合真假値,在count for中使用這個函數,比如函數是myfind(),那麽是COUNT FOR myfind(),明朗許多。

授人以渔,不授人以鱼。
2016-03-30 12:18
chengvf
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-3-30
收藏
得分:0 
回复 13楼 TonyDeng
十分感谢。问题已经解决了。不过弱弱地问一句,iif函数中最后一项.t.是不是需要加界定符啊?感觉好像需要用到。
2016-03-30 13:04
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用chengvf在2016-3-30 13:04:41的发言:

十分感谢。问题已经解决了。不过弱弱地问一句,iif函数中最后一项.t.是不是需要加界定符啊?感觉好像需要用到。

哦,要的。

授人以渔,不授人以鱼。
2016-03-30 13:06
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
那個字符串tj構造的最後,你用MESSAGEBOX(tj)看看整個表達式是否正確,那就表明構造寫法對了,然後把這個調試語句註釋掉即可。

授人以渔,不授人以鱼。
2016-03-30 13:08
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下是引用TonyDeng在2016-3-30 13:08:33的发言:

那個字符串tj構造的最後,你用MESSAGEBOX(tj)看看整個表達式是否正確,那就表明構造寫法對了,然後把這個調試語句註釋掉即可。

T版,教你怎么查看了。
2016-03-30 14:37
快速回复:请教一个关于搜索的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017656 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved