| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 568 人关注过本帖
标题:新手求助:VFP用拼音字头进行的模糊查询
只看楼主 加入收藏
lsli168
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-1-13
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
新手求助:VFP用拼音字头进行的模糊查询
1、我有一个表syk.dbf,其中有xm、xb、sfzh三个字段; 一个表单中有三个文本框text1、text2、text3和一个grid1
2、目的:在text1中输入姓名的拼音字头,在grid1中动态显示符合条件的记录,然后鼠标单击grid1中任一记录后,将该记录的姓名(即 xm)赋值给text2,身份证号(即 sfzh)赋值给text3。
3、例如:表中有记录赵一、赵仪、赵白二、赵尔,在text1中输入b时四个人都显示在grid1中,输入by时,白一、白仪显示在grid1中,这时如果点击grid1中的赵仪,则text2和text3中分别显示赵仪的姓名和身份证号。

期待高手的帮助,在这里先谢谢了!!
搜索更多相关主题的帖子: 文本框 身份证号 动态 记录 姓名 
2014-01-13 17:05
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:8 
建一拼音(py)字段,将xm的首字母放在里面
自定义函数程序代码:
*---PY.PRG
PARAMETER cHZCHR
LOCAL cPYCHR,i,j,C,HZ
cPYCHR= " "
*SET COLLATE TO "PINYIN "     &&设置当前排序方式为拼音方式
PYCode= "八嚓咑妸发旮铪讥讥咔垃呣拿讴趴七呥仨他哇哇哇夕丫匝咗 "   &&从b开始每个拼音码的首字符
FOR i=1 TO LEN(cHZCHR)
    IF ASC(SUBSTR(cHZCHR,i,1))> 160   &&判断是否为汉字
       HZ=SUBSTR(cHZCHR,i,2)
       C= " "
       FOR j=1 TO 26
           IF SUBSTRC(HZ,1,1) <SUBSTRC(PYCode,j,1)   &&进行汉字比较
              C=CHR(96+j)     &&得到首位拼音码
              EXIT
           ENDIF
       ENDFOR
       cPYCHR=cPYCHR+UPPER(C)
       i=i+1
    ELSE
       cPYCHR=cPYCHR+UPPER(SUBSTR(cHZCHR,i,1))
    ENDIF
ENDFOR
RETURN cPYCHR

放在与数据表相同的文件夹内
USE 表
REPLACE ALL py WITH py(姓名)


2014-01-13 17:18
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9803
专家分:26906
注 册:2012-2-5
收藏
得分:0 
要想精确查找,最好建个拼音数据表。

坚守VFP最后的阵地
2014-01-13 17:41
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11773
专家分:43421
注 册:2006-5-13
收藏
得分:0 
二楼的程序真可谓是经典。就是不清楚原作者是谁?

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2014-01-13 19:08
lsli168
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-1-13
收藏
得分:0 
首先谢谢tlliqi的回复!这段代码我也搜到过,但我的就情况是:需要在不增加syk.dbf字段的情况下实现.
在网上搜到了三楼的方案,但我不知道怎么实现,请指教.谢谢!
2014-01-13 20:05
lsli168
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-1-13
收藏
得分:0 
我的机子是win7,没有winpy.mb和imegen.exe 没法做出拼音字典库,那位高手有这个做好的数据库,上传一份.
先谢谢了!
2014-01-13 22:35
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9803
专家分:26906
注 册:2012-2-5
收藏
得分:12 

坚守VFP最后的阵地
2014-01-13 23:13
lsli168
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-1-13
收藏
得分:0 
tlliqi给的函数不能正确转"马"姓,例如:马克思,会转成"LKS" ,请能修这一错误.
2014-01-16 22:00
快速回复:新手求助:VFP用拼音字头进行的模糊查询
数据加载中...
 
   



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

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