Foxtable(狐表)用户栏目专家坐堂 → 输入拼音首字母获取数据


  共有2135人关注过本帖树形打印复制链接

主题:输入拼音首字母获取数据

帅哥哟,离线,有人找我吗?
zyxhx
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:388 积分:3212 威望:0 精华:0 注册:2017/4/2 19:33:00
输入拼音首字母获取数据  发帖心情 Post By:2018/3/16 10:45:00 [只看该作者]

利用窗口设计-自定义录入界面之三,建立了一录入界面,可是只能输入姓名或者编码搜索。请问用代码如何直接输入姓名的拼音首字母搜索。

请问下面代码如何修改:
If e.Col.Name = "姓名" Then '如果编辑的是姓名列
    If e.Col.DroppedDown Then '如果下拉窗口已经打开
        Dim tbl As Table = Tables("个人档案列表窗口_Table1") 
        If e.Text = "" Then '如果内容为空
            tbl.Filter = "" '显示所有客户
        Else '否则根据输入内容进行模糊筛选
            Dim txt As String = "'%" & e.Text & "%'"
            tbl.Filter = "健康档案号 Like " & txt & " Or 姓名 Like " & txt & " Or 身份证号码 Like " & txt & " Or 联系电话 Like " & txt
        End If
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/16 10:52:00 [只看该作者]

你要有拼音列才行的,参考

 

下载信息  [文件大小:324.0 KB  下载次数:28]
图片点击可在新窗口打开查看点击浏览该文件:拼音_下拉窗口_示例.table

 

如果要在你代码基础上改,你要加入一个拼音列,然后把姓名的拼音赋值过去,datacolchanged事件

 

Select Case e.DataCol.Name
    Case "姓名"
        If e.NewValue <> "" Then
            e.DataRow("拼音") = GetPy(e.NewValue, True)
        End If
End Select

 

然后,修改筛选代码,如

 

tbl.Filter = "健康档案号 Like " & txt & " Or 姓名 Like " & txt & " Or 身份证号码 Like " & txt & " Or 联系电话 Like " & txt & " or 拼音 like " & txt


 回到顶部
帅哥哟,离线,有人找我吗?
zyxhx
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:388 积分:3212 威望:0 精华:0 注册:2017/4/2 19:33:00
  发帖心情 Post By:2018/3/16 11:28:00 [只看该作者]

能不能不加入拼音列,直接用代码修改。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/16 11:48:00 [只看该作者]

以下是引用zyxhx在2018/3/16 11:28:00的发言:
能不能不加入拼音列,直接用代码修改。

 

做不到。不加拼音列,每次都要循环每一行,把姓名转换成拼音然后比较是否匹配,效率很低。

 

加入拼音列有什么问题?你担心什么?


 回到顶部
帅哥哟,离线,有人找我吗?
zyxhx
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:388 积分:3212 威望:0 精华:0 注册:2017/4/2 19:33:00
  发帖心情 Post By:2018/3/16 13:46:00 [只看该作者]

如果在已有的姓名列表中插入拼音列后,利用以上代码,当在姓名列中输入时拼音列会自动生成,可是姓名列之前已有很多数据,如何快速生成拼音缩写,应该将代码写在哪个事件中?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/16 14:05:00 [只看该作者]

以下是引用zyxhx在2018/3/16 13:46:00的发言:
如果在已有的姓名列表中插入拼音列后,利用以上代码,当在姓名列中输入时拼音列会自动生成,可是姓名列之前已有很多数据,如何快速生成拼音缩写,应该将代码写在哪个事件中?

 

重置列

 

http://www.foxtable.com/webhelp/scr/1469.htm

 


 回到顶部