1
특정 조건이 충족되는 액세스 테이블에서 레코드를 계산하려고하고 합계를 하나의 레코드에있는 다른 테이블에 삽입하려고합니다. 나는 VBA를 통해 이렇게하고 SQL 문을 만들려고 노력하고 있는데 어떤 이유로 더 이상 추가하려고 할 때 너무 많은 줄 계속이 있다고 표시하고 그 이유에 대해 혼란 스럽다. 어떤 도움이라도 대단히 감사하겠습니다.Access VBA의 SQL 문 계산
intYear = InputBox("What year is it currently?", "Year Input")
DoCmd.DeleteObject acTable, "ThisTable"
strCreate = "CREATE TABLE MarketSegmentTotals (" & vbCrLf & _
"[State Medicaid] TEXT," & vbCrLf & _
"Commercial TEXT," & vbCrLf & _
"HIX TEXT," & vbCrLf & _
"MMP TEXT," & vbCrLf & _
"[CMS Part D (CY " & intYear & ")] TEXT," & vbCrLf & _
"[CMS Part D (CY " & (intYear + 1) & ")] TEXT" & vbCrLf & _
");"
strCount = "INSERT INTO MarketSegmentTotals([State Medicaid], [Commercial], [HIX], [MMP], [CMS Part D (CY " & intYear & ")], [CMS Part D (CY " & (intYear + 1) & ")]) " & _
"SELECT A.cnt, B.cnt, C.cnt, D.cnt, E.cnt " & _
"FROM (" & _
"SELECT COUNT([FORMULARY ID]) as cnt " & _
"FROM ImportMetricsIDs " & _
"WHERE [Market Segment]= 'State Medicaid' " & _
") AS A " & _
", (" & _
"SELECT COUNT([FORMULARY ID]) as cnt " & _
"FROM ImportMetricsIDs " & _
"WHERE [Market Segment]= 'Commercial' " & _
") as B " & _
", (" & _
"SELECT COUNT([FORMULARY ID]) as cnt " & _
"FROM ImportMetricsIDs " & _
"WHERE [Market Segment]= 'HIX' " & _
") AS C " & _
", (" & _
"SELECT COUNT([FORMULARY ID]) as cnt " & _
"FROM ImportMetricsIDs " & _
"WHERE [Market Segment]= 'MMP' " & _
") AS D "
흥미로운 사실. 이 동작은 언어 사양과 정확하게 일치하지 않습니다. [구현은의 문자 수를 제한 할 수 있습니다.] (http://msdn.microsoft.com/en-us/library/ee156843.aspx) –
RubberDuck
잘 설명되어 있지는 않지만 거기에 몇 개의 다른 장소에서 그것에 대한 약간의 언급이다. [하나] (http://msdn.microsoft.com/en-us/library/office/gg264236%28v=office.15%29.aspx) [2] (http://support2..microsoft.com/?kbid = 141513). 첫 번째 링크가 한계가 25임을 시사 하듯이 매우 일관성있는 것으로 보이지 않지만 문제의 코드는 그 한계를 넘지는 못하지만 여전히 오류가 있습니다. – KevenDenen