Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Access VBA中的SQL语句计数_Sql_Ms Access_Vba_Ms Access 2010 - Fatal编程技术网

Access VBA中的SQL语句计数

Access VBA中的SQL语句计数,sql,ms-access,vba,ms-access-2010,Sql,Ms Access,Vba,Ms Access 2010,我试图在满足某些条件的access表中统计记录,并将总数插入一条记录中的另一个表中。我是通过vba这样做的,并试图在其中创建一个sql语句,但由于某种原因,当我尝试添加时,它说我有太多的行连续体,我真的很困惑为什么。任何帮助都将不胜感激 intYear = InputBox("What year is it currently?", "Year Input") DoCmd.DeleteObject acTable, "ThisTable" strCreate = "CREATE TABL

我试图在满足某些条件的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 "

VBA限制由行连续字符连接的行数

可以对此进行更改,以重新定义变量以断开连续行数

strCount = "blahblahblah" & _
  "moreblahblahblah" & _
  "lastblahforabit" 
strCount = strCount & "evenmoreblah" & _
  "toomuchblahblahblah"
或者完全消除行延续

strCount = "blahblahblah"
strCount = strCount & "moreblahblahblah"
strCount = strCount & "lastblahforabit" 
strCount = strCount & "evenmoreblah"
strCount = strCount & "toomuchblahblahblah"

有趣的事实。这种行为不完全在语言规范中。它没有很好的文档记录,但在一些不同的地方有一些对它的引用。这似乎不是很一致,因为第一个链接建议限制为25,但问题的代码没有超过该限制,但仍然存在错误。