[SQL] MS 액세스에서 GROUP_CONCAT 기능이있다?
SQLMS 액세스에서 GROUP_CONCAT 기능이있다?
GROUP_CONCAT의 함수 MS-액세스 또는 뭔가 비슷한 있는가?
해결법
-
==============================
1.당신이 일반적인 솔루션이 필요한 경우 (또 다른 앨런 브라운입니다) 자신에게 물어해야 아니면 그냥 본 목적을 위해 필요합니다. 당신이 정말로 한 번만이 필요한 경우, 그것에게 쉬운 방법을.
당신이 일반적인 솔루션이 필요한 경우 (또 다른 앨런 브라운입니다) 자신에게 물어해야 아니면 그냥 본 목적을 위해 필요합니다. 당신이 정말로 한 번만이 필요한 경우, 그것에게 쉬운 방법을.
VBA 코드 목록을 연결하면 보조 노트에, 긴 시간 액세스 전문가 트레버 베스트 나에게 가르쳐 트릭을 활용하고,의 모든 가치의 시작 부분에 구분 기호를 부착 할 것을 다음 중간 ()를 사용하여 제거합니다 떨어져서. 대신 자식 레코드를 통해 루프 안쪽이의 :
If Len(strOutput) = 0 Then strOutput = NewValue Else strOutput = strOutput & ", " & NewValue End If
... 루프 내부에 이것을 사용 :
strOutput = strOutput & ", " & NewValue
당신은 루프를 종료 할 때 ... 그리고, 선두 구분 기호를 벗겨 :
strOutput = Mid(strOutput, 3)
이 도처에 의미를 가지고 있으며, 컨텍스트의 전체 호스트에 연결하는 코드를 단순화합니다.
-
==============================
2.하나 개의 값으로 그룹의 여러 값에 대한 액세스 기능있다 (사용자 정의 집계는 것 같아요.) 링크는 http://www.rogersaccesslibrary.com/Otherdownload.asp?SampleName='Generic%20Function%20To%20Concatenate%20Child%입니다 20Records '
하나 개의 값으로 그룹의 여러 값에 대한 액세스 기능있다 (사용자 정의 집계는 것 같아요.) 링크는 http://www.rogersaccesslibrary.com/Otherdownload.asp?SampleName='Generic%20Function%20To%20Concatenate%20Child%입니다 20Records '
하지만이 사이트는 지금 다운. 당신은 HREF 구글 경우 referneces 및 예제를 많이 찾을 수 있습니다.
-
==============================
3.나는 주장이 당신이 원하는 일을 할 수 있도록하는 것이 듀안 Hookum (마이크로 소프트 MVP)에 의해이 게시물을 발견했다. 그래도 난 그것을 테스트하지 않았습니다.
나는 주장이 당신이 원하는 일을 할 수 있도록하는 것이 듀안 Hookum (마이크로 소프트 MVP)에 의해이 게시물을 발견했다. 그래도 난 그것을 테스트하지 않았습니다.
나는 그것을 발견하는 방법 그런데, 경우에 당신이 관심이, 이것은이다 :
먼저 검색 : GROUP_CONCAT 접속이 답변이 게시물에 나를 인도하지만 링크가 부서졌다.
그럼 대답은 링크를 시도했다는 내용 후 다시 검색하고, 그것을 발견 : 사이트 : HTTP : //www.rogersaccesslibrary.com/ 합칠.
-
==============================
4.제 액세스는 GROUP_CONCAT 기능이 없습니다. 그러나, 당신은 SQL 문을 포함하는 문자열을 전달하고 동일한 기능을 얻을 수 있도록하는 VBA 함수를 만들 수 있습니다 (내가 추천 거라고하지를하지만이 가능합니다).
제 액세스는 GROUP_CONCAT 기능이 없습니다. 그러나, 당신은 SQL 문을 포함하는 문자열을 전달하고 동일한 기능을 얻을 수 있도록하는 VBA 함수를 만들 수 있습니다 (내가 추천 거라고하지를하지만이 가능합니다).
내 자신의 개인 뒤로 기계를 가지고 가서, 여기에 공룡이 지구를 지배했을 때 다시 쓴 일부 코드는 다음과 같습니다
Public Function ListQuery(SQL As String _ , Optional ColumnDelimiter As String = " " _ , Optional RowDelimter 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: 'DESIGN NOTES: Const PROCNAME = "ListQuery" Const MAXROWS = 100 Const MAXCOLS = 10 Dim oConn As ADODB.Connection Dim oRS As ADODB.Recordset Dim oField As ADODB.Field Dim sRow As cString Dim sResult As cString On Error GoTo ProcErr Set sResult = New cString Set sRow = New cString Set oConn = GetADOConn() sResult.Clear Do Until oRS.EOF sRow.Clear For Each oField In oRS.Fields With sRow If .Length > 0 Then .Append ColumnDelimiter End If .Append Nz(oField.Value) End With Next oField sRow.Trim If sRow.Length > 0 Then With sResult .Append sRow .Append RowDelimter End With End If oRS.MoveNext Loop oRS.Close oConn.Close With sResult If .Right(Len(RowDelimter)).Value = RowDelimter Then .Length = .Length - Len(RowDelimter) End If End With FunctionResult: ListQuery = sResult.Value CleanUp: Set sResult = Nothing Set sRow = Nothing Set oField = Nothing Set oRS = Nothing Set oConn = Nothing Exit Function ProcErr: ' logging code... Resume CleanUp End Function
GetADOConn 함수는 현재 데이터베이스 연결을 검색하는 중앙 집중화 된 기능입니다. CString을은 .NET은 TLD 및 마케팅 과대 광고 이외 전에 모방 .NET의 StringBuilder 클래스의 동작 만이 긴 쓰여진하는 클래스입니다. 이것은 모든 행에서 호출하기 때문에, VBA이 내장되어있어 문자열 연결 StringBuilder 클래스가 필요한처럼 느리고, 따라서 뭔가 될 것입니다. (나는 부분적으로 수정 한) 원래 코드는 상수 모두에 대해 무엇 인 사용될 수 행과 열의 수에 모자를했다.
from https://stackoverflow.com/questions/2852892/is-there-a-group-concat-function-in-ms-access by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 내가 MySQL 데이터베이스와 올바르게 상호 작용 연결을 내 로그인 양식을 얻을 수 없다 [마감] (0) | 2020.03.30 |
---|---|
[SQL] SparkSQL 지원 하위 쿼리합니까? (0) | 2020.03.30 |
[SQL] VB에서 SQL 명령에 매개 변수를 "@"를 사용하는 방법 (0) | 2020.03.30 |
[SQL] 어떻게 Access에서 UNPIVOT을 시뮬레이션? (0) | 2020.03.30 |
[SQL] 값의 그룹 별 사용자 정의 SERIAL / 자동 증가 (0) | 2020.03.30 |