Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]一个字段多员工号存储,用逗号分隔。通查询显示出显员工姓名

winson  发表于:2017-02-16 12:01:05  
复制

员工信息表
工作分配表
想做到查询结果是
工作编号  完成人
00008       张三,照五
00017        李四,照五

 

Top
杜超 发表于:2017-02-17 09:28:37
工作分配表 保存的时候就应该把姓名保存进去,不要保存empid

winson 发表于:2017-02-17 12:14:07

谢谢 杜超 你的建议是想过的,你给我建议是非常符合这个案例使用,但是我是想要这个效果http://blog.csdn.net/dotnetstudio/article/details/18732821也可以使用的别复杂环境。



西出阳关无故人 发表于:2017-02-17 14:13:30
蒋元根 发表于:2017-03-01 16:33:26

煮江品茶l老师的文章:


【access小品】来回折腾--数据分解与合并
发表时间:2011/1/25 12:59:45 
   
摘 要:数据分解与合并
正 文:
  版友cxdlsqq同志有下列的表,他想要将名单分解产量平均分配。


  姓名      产量
  a,b,c      54
  a,b        18


  该问题处理起来很简单,但是我想说的是另外一个问题,就是运算的可逆性问题。运算可以分为不可逆运算和可逆运算,以此问题为例,如果按照cxdlsqq同志现有的表结构处理的话,得到的是一个不可逆运算。因为将数据分解后,你是无法还原的。要想做出可逆的运算,需要在此表中加一个分类的字段,比如加一个项目字段。这样数据分解后,可以反向运算得到原表数据。


  可逆运算通俗的理解就是可以来回折腾的运算,这种运算类型在某些情形下是必要的,若干层级中的可逆运算可以使你方便的得到不同状态下的结果。

附件
                                                                                                                                                                                                                                                                                      http://www.accessoft.com/blog/article-show.asp?userid=10802&Id=5216



蒋元根 发表于:2017-03-03 08:24:21
合并记录为字符串的一个函数 


--------------------------------------------------------------------------------
 
发表时间:2009-12-3 9:11:41 评论(0) 浏览(97) 
  
摘 要:合并记录为字符串的一个函数 
正 文: 
 
一个不用循环实现的合并记录为字符串的函数,可在查询中调用


Public Function DMerge(Exps As String, Domain As String, _
    Optional Criteria As String, Optional Separator As String = ";") As String
    
'函数功能:  合并指定记录集指定字段值为一个字符串
'参数说明:
'  expr :         要合并的字段
'  domain :     来源表或查询
'  criteria :      可选,限制记录的条件表达式
'  Separator : 可选,合并记录的分隔符,默认为分号(;)
'
'调用示例:  DMerge("姓名","人员表","性别='" & [性别] & "'",Chr(13) & Chr(10))
'                以上示例在查询中,使用了换行分隔符,返回换行显示的姓名
'作      者:  t小雨
'创建时间:  2009/11/25


On Error Resume Next
    Dim rst As New ADODB.Recordset
    Dim strSql As String
    
    strSql = "Select " & Exps & " From " & Domain
    If Criteria <> "" Then strSql = strSql & " Where " & Criteria
    rst.Open strSql, CurrentProject.Connection, adOpenStatic, adLockReadOnly, adCmdText
    
    If Not rst.EOF Then DMerge = rst.GetString(adClipString, , , Separator)
    rst.Close
    Set rst = Nothing
End Function 
点击下载此附件

lvxin5635 发表于:2017-05-16 21:52:19


zch 发表于:2017-07-06 10:00:15
Public Function mcfj(x As String)
Dim a
Dim imax, i As Integer
 a = Split(x, ",")
  imax = UBound(a)
 For i = 0 To imax
  mcfj = mcfj & "," & DLookup("EMPNAME", "员工信息表", "EMPID='" & a(i) & "'")
  Next i
  mcfj = Mid(mcfj, 2)
End Function

用这个函数试试




总记录:7篇  页次:1/1 9 1 :