Sql MS ACCESS-在表单中动态更改数据

Sql MS ACCESS-在表单中动态更改数据,sql,ms-access,Sql,Ms Access,我的表单由表单页眉、详细信息部分和表单页脚(设计模式)划分。“详细信息”部分列出了所有表格字段 我必须这样做——当我点击人名(显示为超链接)时,细节部分必须显示表中的记录,其中名称字段值等于我点击的值。显示的字段数应保持不变 我在VB上写了一个程序: Private Sub GE_PERSON_Click() Dim strSQL As String strSQL = "SELECT GENERIC.GE_ID, GENERIC.GE_OPEN AS [OPEN], Workforce.WF

我的表单由表单页眉、详细信息部分和表单页脚(设计模式)划分。“详细信息”部分列出了所有表格字段

我必须这样做——当我点击人名(显示为超链接)时,细节部分必须显示表中的记录,其中名称字段值等于我点击的值。显示的字段数应保持不变

我在VB上写了一个程序:

Private Sub GE_PERSON_Click()

Dim strSQL As String

strSQL = "SELECT GENERIC.GE_ID, GENERIC.GE_OPEN AS [OPEN], Workforce.WF_NAME AS PERSON, [GENERIC].[GE_DATEIN] AS RECEIVED, GENERIC.GE_DATEREQUESTED AS [STARTING DATE], GENERIC.GE_CONSECUTIVE AS CONSECUTIVE, GENERIC.GE_AMOUNT AS [DAYS TAKEN], ABSENCE.AB_TYPE AS [ABSENCE TYPE], [GENERIC].[GE_STATUS] AS STATUS"
strSQL = strSQL + "FROM (GENERIC INNER JOIN Workforce ON GENERIC.[GE_PERSON] = Workforce.[WF_ID]) INNER JOIN ABSENCE ON GENERIC.[GE_TYPE] = ABSENCE.[AB_ID]"
strSQL = strSQL + "WHERE WORKFORCE.[WF_NAME] = " + Form_GENERIC.GE_PERSON
strSQL = strSQL + "ORDER BY GENERIC.GE_DATEREQUESTED;"

Form_GENERIC.RecordSource = strSQL 

End Sub
当我将
strSQL
分配给
表单\u GENERIC.RecordSource
时,我收到一个错误。我无法将数据从格式化字符串发送到主窗体通用记录源-这会导致错误

运行时错误3141:SELECT语句包含拼写错误或缺少的保留字或参数名称,或者标点符号不正确


绝对需要你们的帮助

连接字符串时,请确保在每行的开头或结尾都包含空格。否则,字符串会被推到一起,从而导致您看到的错误

如果你这样做

strSQL = "SELECT field1, field2"
strSQL = strSQL + "FROM table"
你最终会得到这个

"SELECT field1, field2FROM table"
添加一个空格以防止出现错误

strSQL = "SELECT field1, field2"
strSQL = strSQL + " FROM table"
                   ^
                   put a space at the start of each concatenated line

相关记录如何显示?有子窗体吗?您的表单描述不足以生成最终答案。让我看看是否得到了此。。。当您单击
名称
字段时,它将过滤当前表单(您没有提到是否存在子表单、是否为分割的子表单或显示过滤记录的内容)。假设它处于电子表格模式。