ms访问 – Microsoft Access在表中压缩多行
发布时间:2020-12-14 01:46:36 所属栏目:Windows 来源:网络整理
导读:我在MS Access 2007中有一个问题,我希望有人有答案.我有一个长而简单的表,其中包含客户名称和一周内交付的日期.我想通过将名称和所有日子列入一个新字段“ALLDays”,同时仍保留所有数据来总结此表. 源表看起来像这样: Name Day CustomerA Monday CustomerA
我在MS Access 2007中有一个问题,我希望有人有答案.我有一个长而简单的表,其中包含客户名称和一周内交付的日期.我想通过将名称和所有日子列入一个新字段“ALLDays”,同时仍保留所有数据来总结此表.
源表看起来像这样: Name Day CustomerA Monday CustomerA Thursday CustomerB Tuesday CustomerB Friday CustomerC Wednesday CustomerC Saturday 我想要一个返回结果的查询: Name ALLDays CustomerA Monday,Thursday CustomerB Tuesday,Friday CustomerC Wednesday,Saturday 谢谢.
通常你必须编写一个函数,让你创建一个连接的列表.这是我使用的:
Public Function GetList(SQL As String _,Optional ColumnDelimeter As String = "," _,Optional RowDelimeter As String = vbCrLf) As String 'PURPOSE: to return a combined string from the passed query 'ARGS: ' 1. SQL is a valid Select statement ' 2. ColumnDelimiter is the character(s) that separate each column ' 3. RowDelimiter is the character(s) that separate each row 'RETURN VAL: Concatenated list 'DESIGN NOTES: 'EXAMPLE CALL: =GetList("Select Col1,Col2 From Table1 Where Table1.Key = " & OuterTable.Key) Const PROCNAME = "GetList" Const adClipString = 2 Dim oConn As ADODB.Connection Dim oRS As ADODB.Recordset Dim sResult As String On Error GoTo ProcErr Set oConn = CurrentProject.Connection Set oRS = oConn.Execute(SQL) sResult = oRS.GetString(adClipString,-1,ColumnDelimeter,RowDelimeter) If Right(sResult,Len(RowDelimeter)) = RowDelimeter Then sResult = Mid$(sResult,1,Len(sResult) - Len(RowDelimeter)) End If GetList = sResult oRS.Close oConn.Close CleanUp: Set oRS = Nothing Set oConn = Nothing Exit Function ProcErr: ' insert error handler Resume CleanUp End Function Remou的版本具有添加的功能,您可以传递一个值数组,而不是SQL语句. 示例查询可能如下所示: SELECT SourceTable.Name,GetList("Select Day From SourceTable As T1 Where T1.Name = """ & [SourceTable].[Name] & """","",",") AS Expr1 FROM SourceTable GROUP BY SourceTable.Name; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在Windows中启动glassfish
- windows-server-2012 – Skype for Business WSUS Server 2
- windows-mobile – 存在文件共享冲突. SQL Server CE 3.5 S
- windows – 批处理脚本if else命令
- 在Windows 7上安装和配置LDAP(AD LDS)
- XNA和Windows 8之间的兼容性问题
- unit-testing – mstest.exe如何处理测试DLL的配置文件?
- cmd – 如何在Windows 7中永久自定义命令提示符的窗口大小/
- 语音识别 – 如何在Windows中为sox安装flac支持(flac库)
- Windows Server 2008 R2上本机支持的远程文件传输的选项
推荐文章
站长推荐
热点阅读