Foxtable(狐表)用户栏目专家坐堂 → 用姓名的拼音首字母定位记录


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

主题:用姓名的拼音首字母定位记录

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


加好友 发短信
等级:八尾狐 帖子:1953 积分:15015 威望:0 精华:0 注册:2016/4/28 9:58:00
用姓名的拼音首字母定位记录  发帖心情 Post By:2017/11/28 14:27:00 [只看该作者]

Dim txt As String = e.sender.Text
If txt > ""
    txt = "'%" & txt & "%'"
    Dim dr As DataRow
           Dim po As Integer
        po = Tables("初中上分_table1").FindRow("[考号] Like" & txt)
        If po >= 0 Then '如果找到
            Tables("初中上分_table1").Position = po '选定
        Else
            Tables("初中上分_table1").Position = 0
            MessageBox.show("该考号在所选学生范围内不存在")
            e.sender.text = ""
        End If
    End If

老师,上面代码是输入考号的几位定位学生记录,我想同样在这个文本框中如果输入表中的某个姓名的拼音首字母来定位学生怎样做?

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


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

 1、用一列记录拼音首字母

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=103586&skin=0

 

 2、查找条件改成

 

po = Tables("初中上分_table1").FindRow("[考号] Like " & txt & " or 拼音 like " & txt)

 


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


加好友 发短信
等级:八尾狐 帖子:1953 积分:15015 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2017/11/28 16:23:00 [只看该作者]

po = Tables("初中上分_table1").FindRow("[考号] Like " & txt & " or 拼音 like " & txt)

 

table1表中有一列是姓名,我想输入姓名的拼音首字母来定位,拼音这里是什么意思,如何写?

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


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

增加一列拼音列,把根据姓名列得到对应拼音字母

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=103586&skin=0


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


加好友 发短信
等级:八尾狐 帖子:1953 积分:15015 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2017/11/28 16:33:00 [只看该作者]

Dim txt As String = e.sender.Text
If txt > ""
    Dim reg2 As new System.Text.RegularExpressions.Regex("^[a-zA-Z]+$")
    Dim reg1 As new System.Text.RegularExpressions.Regex("^[0-9]+$")
    If reg1.Ismatch(txt) = True Then
        txt = "'%" & txt & "%'"
       
        Dim po As Integer
        po = Tables("初中上分_table1").FindRow("[考号] Like" & txt)
        If po >= 0 Then '如果找到
            Tables("初中上分_table1").Position = po '选定
        Else
            Tables("初中上分_table1").Position = 0
            MessageBox.show("该考号在所选学生范围内不存在")
            e.sender.text = ""
        End If
    ElseIf reg2.Ismatch(txt) = True Then
        msgbox("字母")
        txt = "'%" & txt & "%'"
              Dim py As Integer
        py = Tables("初中上分_table1").FindRow("getpinyin([姓名],1) Like" & txt)
        If py >= 0 Then '如果找到
            Tables("初中上分_table1").Position = py '选定
        Else
            Tables("初中上分_table1").Position = 0
            MessageBox.show("该姓名学生不在所选范围内")
            e.sender.text = ""
        End If
        
    Else
        messagebox.show("不能输入字母和数字组合,请输入考号后4位数字或姓名拼音首字母")
        e.Form.Controls("textbox6").text=""
        e.Form.controls("textbox6").Select
    End If
End If

拼音如何做?

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/11/28 17:16:00 [只看该作者]

你要先增加一个列,比如名称叫“拼音”,先通过getpinyin方法把所有的姓名的拼音存储到“拼音”列中。查询的时候直接查拼音列

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


加好友 发短信
等级:八尾狐 帖子:1953 积分:15015 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2017/11/28 17:49:00 [只看该作者]

这样增加了数据量,我的想法是可不可以直接转换出来,不去增加一列

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


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

以下是引用刘林在2017/11/28 17:49:00的发言:
这样增加了数据量,我的想法是可不可以直接转换出来,不去增加一列

 

不可以。这一列可以是临时列,可以在打开项目的时候动态加入,其值,可以在afterLoad事件动态生成。


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


加好友 发短信
等级:八尾狐 帖子:1953 积分:15015 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2017/11/28 21:51:00 [只看该作者]

刘强的拼音首字母是lj 而我们正常都是lq,这如何办?

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/11/28 23:06:00 [只看该作者]

没有办法,只能手工改改。或者添加一个字典表记录多音字的用法

 回到顶部
总数 11 1 2 下一页