设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2886|回复: 11
打印 上一主题 下一主题

[查询] 如何在查询中将基础表中的人员名后缀去掉?

[复制链接]
跳转到指定楼层
1#
发表于 2016-9-19 11:50:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 szgyyqty999 于 2016-9-19 12:04 编辑

如何在查询中将基础表中的人员名后缀去掉?比如人员名后的1、2、w、h等在查询中去除。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2016-9-19 20:21:15 | 只看该作者
首先应该放上你的示例,而不是图片或PDF文件
其次,要把问题说清楚,比如本问题后缀的规律没有完全说明白
暂且认为不是数字就是字母.

  1. Public Function GetName(myName As String)
  2.     Dim iCount As Integer
  3.     Dim j As Integer
  4.     Dim k As String
  5.     iCount = Len(myName)
  6.     For j = 1 To iCount
  7.         k = Asc(Mid(myName, j, 1))
  8.         If (k >= 48 And k <= 57) Or (k >= 65 And k <= 90) Or (k >= 97 And k <= 122) Then
  9.             GetName = Left(myName, j - 1)
  10.             Exit For
  11.         End If
  12.     Next
  13. End Function
复制代码
试试在查询中引用
GetName(人员)

3#
发表于 2016-9-19 20:32:17 | 只看该作者
忘了汉字keycode常数是不是都少于0
可以换成
if k>0 then
-----------
----
end if
4#
发表于 2016-9-19 21:54:29 | 只看该作者
本帖最后由 ganlinlao 于 2016-9-19 22:15 编辑

select iif(lenB[人员]<>len[人员],left([人员],lenB([人员])-len([人员])),[人员])
代码有误,不可用,sorry
5#
 楼主| 发表于 2016-9-21 13:36:42 | 只看该作者
先谢谢了,access的示例附件没法上传,我想达到的效果是,在查询里如何实现把access表里人员中的字母和数字(既有数字也有字母)去掉,我是新手,还停留在表、查询、窗体、和报表阶段,能说详细点吗?
6#
发表于 2016-9-22 10:42:51 | 只看该作者
更新查询中使用replace即可
7#
发表于 2016-9-22 11:00:12 | 只看该作者
szgyyqty999 发表于 2016-9-21 13:36
先谢谢了,access的示例附件没法上传,我想达到的效果是,在查询里如何实现把access表里人员中的字母和数字 ...

1.新建模块
2.把二楼的代码复制到模块里保存
3.新建查询,
           SELECT 序号,GetName(人员) AS 姓名,领取材料 FROM 表名

8#
发表于 2016-9-22 16:19:17 | 只看该作者
szgyyqty999 发表于 2016-9-21 13:36
先谢谢了,access的示例附件没法上传,我想达到的效果是,在查询里如何实现把access表里人员中的字母和数字 ...

附件用WinRAR打包就可以上传
9#
 楼主| 发表于 2016-9-23 14:02:26 | 只看该作者
函数未定义?我把附件传上来,帮我看看,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
10#
 楼主| 发表于 2016-9-23 14:08:24 | 只看该作者
Henry D. Sy 发表于 2016-9-22 16:19
附件用WinRAR打包就可以上传

已上传附件,谢谢指教,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-26 23:37 , Processed in 0.084891 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表