? ? Concatenate fields in same table | Author(s) |
Dev Ashish | |
![]() | |
![]() | |
(Q)??? I need to concatenate a field in the format "Value1; Value2;Value3" etc. for each unique value of another field in the same table.? How canI do this? (A)??? Using the fConcatFld function,? in the Northwind database,the following query should return a concatenated list of all CustomerIDs if you group byContactTitle. 使用方式: ? 参数说明: fConcatFld参数说明stTable As String 表名称?_stForFld As String, 查询的条件字段名称_stFldToConcat As String, 合并的字段名称_ stForFldType As String, 合并字段的类型_vForFldVal As Variant 合并字段的查询条件 '************ Code Start **********'This code was originally written by Dev Ashish'It is not to be altered or distributed,'except as part of an application.'You are free to use it in any application,'provided the copyright notice is left unchanged.''Code Courtesy of'Dev Ashish'Function fConcatFld(stTable As String, _ stForFld As String, _ stFldToConcat As String, _ stForFldType As String, _ vForFldVal As Variant) _ As String'Returns mutiple field values for each unique value'of another field in a single table'in a semi-colon separated format.''Usage Examples:' ?fConcatFld(("Customers","ContactTitle","CustomerID", _' "string","Owner")'Where Customers = The parent Table' ContactTitle = The field whose values to use for lookups' CustomerID = Field name to concatenate' string = DataType of ContactTitle field' Owner = Value on which to return concatenated CustomerID'Dim lodb As Database, lors As RecordsetDim lovConcat As Variant, loCriteria As StringDim loSQL As StringConst cQ = """" On Error GoTo Err_fConcatFld lovConcat = Null Set lodb = CurrentDb loSQL = "SELECT [" & stFldToConcat & "] FROM [" loSQL = loSQL & stTable & "] WHERE " Select Case stForFldType Case "String": loSQL = loSQL & "[" & stForFld & "] =" & cQ & vForFldVal & cQ Case "Long", "Integer", "Double": 'AutoNumber is Type Long loSQL = loSQL & "[" & stForFld & "] = " & vForFldVal Case Else GoTo Err_fConcatFld End Select Set lors = lodb.OpenRecordset(loSQL, dbOpenSnapshot) 'Are we sure that duplicates exist in stFldToConcat With lors If .RecordCount <> 0 Then 'start concatenating records Do While Not .EOF lovConcat = lovConcat & lors(stFldToConcat) & "; " .MoveNext Loop Else GoTo Exit_fConcatFld End If End With 'That's it... you should have a concatenated string now 'Just Trim the trailing ; fConcatFld = Left(lovConcat, Len(lovConcat) - 2)Exit_fConcatFld: Set lors = Nothing: Set lodb = Nothing Exit FunctionErr_fConcatFld: MsgBox "Error#: " & Err.Number & vbCrLf & Err.Description Resume Exit_fConcatFldEnd Function'************ Code End ********** |
详细解决方案
access合拢多行列数据到一行,类似于mysql的group_concact()函数
热度:3816 发布时间:2013-02-26 00:00:00.0
相关解决方案
- mysql 简单化 or能否实现
- 请问registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister
- MySQL 5.5 Command Line Client 窗口1输密码就退出
- 在LINUX上配置 MySQL 开机自动 启动
- mysql 转 orocle java ssh项目一条 sql 句不通!
- jsp access 图片调用的有关问题
- 上了个 MySQL 5.5.25 但是安装时出错了
- 求jsp博客源代码mvc+mysql,该如何解决
- 小弟我用JSP+ACCESS+tomcat 5.0 JDK1.4做的一个网站
- JDBC MYSQL 驱动加载失败 JSP DAO ECLIPSE,该怎么解决
- tomcat 中抛异com.mysql.jdbc.exceptions.MySQLTransactionRollbackException,该如何处理
- struts+iBatis+mysql,该如何解决
- mysql 有外键的插入解决方案
- mysql,该如何处理
- +++++ mysql 插入成功,查询不到记录?
- MyBatis3.1.1 Insert 回到主键 long类型 MYSQL 数据库
- mysql:假若一个表中,有两个属性name和id,删除同名的保留id小的,问这样写有误吗
- java mysql where限制有关问题
- 救助。Mysql 的条件删除语句如何写,就是删除部门的时候,如果部门下有用户,就不能删除
- mysql 触发器 根据更新的这一列的数据来更新本行的另一列数据解决办法
- 数据库Sqlserver,Sybase,orcale,mysql 用jDBC 做分页操作的查询效率有什麽区别解决办法
- 何为原子访问(atomic access)解决方案
- 作甚原子访问(atomic access)
- 继续:vs2005 vc access 取不到表中的数据,该如何解决
- 持续:vs2005 vc access 取不到表中的数据
- vs2005,vc access MoveNext()
- dax error : access violation at address解决办法
- Delphi程序写的EXCEL导入程序时报错:Access violation at address0057416f in module"serv"exe,该怎么解决
- dax error : access violation at address,该如何解决
- sql+mysql+chart+DataTable实现折线图分享!解决方案