SQL 选择查询链接到具有多个 WHERE 子句的两个控件
SQL selection query linked to two controls with multiple WHERE clauses
下面的 SQL select 查询出现语法错误。使用第一个 where 子句没有问题。我一添加第二个,就收到一条语法错误消息。
sql_get = "SELECT tblContacts.ID AS IDResource
, tblImmages.Immage
, tblContacts.Foto
, tblSkillsMatrix01.CurrentLevel
, tblSkillsMatrix01.GeneralNotesSymbol
, tblSkillsMatrix01.ID
, tblSkillsMatrix01.Status
, tblSkillsMatrix01.SkillLevelPie
, tblSkillsMatrix01.SubProcessID
, tblSkillsMatrix01.Contact
, tblTeams.Team
, tblValueChain01.MacroProcess
, tblSkillsMatrix01.LevelOneStatus
, tblSkillsMatrix01.AsOfDateL1
, tblSkillsMatrix01.LevelTwoStatus
, tblSkillsMatrix01.AsOfDateL2
, tblSkillsMatrix01.LevelThreeStatus
, tblSkillsMatrix01.AsOfDateL3
, " & _
"tblSkillsMatrix01.LevelFourStatus
, tblSkillsMatrix01.AsOfDateL4
, tblSkillsMatrix01.GeneralNotes
, tblSkillsMatrix01.LevelOneNotes
, tblSkillsMatrix01.LevelTwoNotes
, tblSkillsMatrix01.LevelThreeNotes
, tblSkillsMatrix01.LevelFourNotes
, tblSkillsMatrix01.LevelOneNotesSymbol
, tblSkillsMatrix01.LevelTwoNotesSymbol
, tblSkillsMatrix01.LevelThreeNotesSymbol
, tblSkillsMatrix01.LevelFourNotesSymbol
, tblSkillsMatrix01.ExpectedCmplDateL1
, tblSkillsMatrix01.ExpectedCmplDateL2
, tblSkillsMatrix01.ExpectedCmplDateL3
, tblSkillsMatrix01.ExpectedCmplDateL4
FROM (tblTeams
INNER JOIN (tblContacts
INNER JOIN (tblSkillsMatrix01
INNER JOIN tblImmages ON tblSkillsMatrix01.SkillLevelPie = tblImmages.ID)
ON tblContacts.ID = tblSkillsMatrix01.Contact)
ON tblTeams.ID = tblContacts.Team)
INNER JOIN tblValueChain01 ON tblContacts.Group = tblValueChain01.IDMacroProcesso
WHERE [tblValueChain01].[MacroProcess]= '" & Me.MacroProcess & "'"
and WHERE [tblSkillsMatrix01].[SubProcessID]= '" & Form_frmValueChain07e.ID & "'"
Me.frmValueChain14.Form.RecordSource = sql_get
试试这个...
sql_get = "SELECT tblContacts.ID AS IDResource, tblImmages.Immage, tblContacts.Foto, tblSkillsMatrix01.CurrentLevel, tblSkillsMatrix01.GeneralNotesSymbol, tblSkillsMatrix01.ID, tblSkillsMatrix01.Status, tblSkillsMatrix01.SkillLevelPie, tblSkillsMatrix01.SubProcessID, tblSkillsMatrix01.Contact, tblTeams.Team, tblValueChain01.MacroProcess, tblSkillsMatrix01.LevelOneStatus, tblSkillsMatrix01.AsOfDateL1, tblSkillsMatrix01.LevelTwoStatus, tblSkillsMatrix01.AsOfDateL2, tblSkillsMatrix01.LevelThreeStatus, tblSkillsMatrix01.AsOfDateL3, " & _
"tblSkillsMatrix01.LevelFourStatus , tblSkillsMatrix01.AsOfDateL4, tblSkillsMatrix01.GeneralNotes, tblSkillsMatrix01.LevelOneNotes, tblSkillsMatrix01.LevelTwoNotes, tblSkillsMatrix01.LevelThreeNotes, tblSkillsMatrix01.LevelFourNotes, tblSkillsMatrix01.LevelOneNotesSymbol, tblSkillsMatrix01.LevelTwoNotesSymbol, tblSkillsMatrix01.LevelThreeNotesSymbol, tblSkillsMatrix01.LevelFourNotesSymbol, tblSkillsMatrix01.ExpectedCmplDateL1, tblSkillsMatrix01.ExpectedCmplDateL2, tblSkillsMatrix01.ExpectedCmplDateL3 , tblSkillsMatrix01.ExpectedCmplDateL4 FROM (tblTeams INNER JOIN (tblContacts INNER JOIN (tblSkillsMatrix01 INNER JOIN tblImmages ON tblSkillsMatrix01.SkillLevelPie = tblImmages.ID) ON tblContacts.ID = tblSkillsMatrix01.Contact) ON tblTeams.ID = tblContacts.Team) INNER JOIN tblValueChain01 ON tblContacts.Group = tblValueChain01.IDMacroProcesso WHERE [tblValueChain01].[MacroProcess]= '" & Me.MacroProcess & "'" and [tblSkillsMatrix01].[SubProcessID]= '" & Form_frmValueChain07e.ID & "'"
Me.frmValueChain14.Form.RecordSource = sql_get
您在单个 SELECT
语句中有多个 WHERE
子句。您不需要两个 WHERE
子句。
替换这个
WHERE [tblValueChain01].[MacroProcess]= '" & Me.MacroProcess & "'"
and WHERE [tblSkillsMatrix01].[SubProcessID]= '" & Form_frmValueChain07e.ID & "'"
用这个 [如果 SubProcessID
不是 一个数字]
WHERE [tblValueChain01].[MacroProcess]= '" & Me.MacroProcess & "' and [tblSkillsMatrix01].[SubProcessID]= '" & Form_frmValueChain07e.ID & "'"
或者用这个[如果SubProcessID
是一个数字]
WHERE [tblValueChain01].[MacroProcess]= '" & Me.MacroProcess & "' and [tblSkillsMatrix01].[SubProcessID]= " & Form_frmValueChain07e.ID & ""
然后尝试..
下面的 SQL select 查询出现语法错误。使用第一个 where 子句没有问题。我一添加第二个,就收到一条语法错误消息。
sql_get = "SELECT tblContacts.ID AS IDResource
, tblImmages.Immage
, tblContacts.Foto
, tblSkillsMatrix01.CurrentLevel
, tblSkillsMatrix01.GeneralNotesSymbol
, tblSkillsMatrix01.ID
, tblSkillsMatrix01.Status
, tblSkillsMatrix01.SkillLevelPie
, tblSkillsMatrix01.SubProcessID
, tblSkillsMatrix01.Contact
, tblTeams.Team
, tblValueChain01.MacroProcess
, tblSkillsMatrix01.LevelOneStatus
, tblSkillsMatrix01.AsOfDateL1
, tblSkillsMatrix01.LevelTwoStatus
, tblSkillsMatrix01.AsOfDateL2
, tblSkillsMatrix01.LevelThreeStatus
, tblSkillsMatrix01.AsOfDateL3
, " & _
"tblSkillsMatrix01.LevelFourStatus
, tblSkillsMatrix01.AsOfDateL4
, tblSkillsMatrix01.GeneralNotes
, tblSkillsMatrix01.LevelOneNotes
, tblSkillsMatrix01.LevelTwoNotes
, tblSkillsMatrix01.LevelThreeNotes
, tblSkillsMatrix01.LevelFourNotes
, tblSkillsMatrix01.LevelOneNotesSymbol
, tblSkillsMatrix01.LevelTwoNotesSymbol
, tblSkillsMatrix01.LevelThreeNotesSymbol
, tblSkillsMatrix01.LevelFourNotesSymbol
, tblSkillsMatrix01.ExpectedCmplDateL1
, tblSkillsMatrix01.ExpectedCmplDateL2
, tblSkillsMatrix01.ExpectedCmplDateL3
, tblSkillsMatrix01.ExpectedCmplDateL4
FROM (tblTeams
INNER JOIN (tblContacts
INNER JOIN (tblSkillsMatrix01
INNER JOIN tblImmages ON tblSkillsMatrix01.SkillLevelPie = tblImmages.ID)
ON tblContacts.ID = tblSkillsMatrix01.Contact)
ON tblTeams.ID = tblContacts.Team)
INNER JOIN tblValueChain01 ON tblContacts.Group = tblValueChain01.IDMacroProcesso
WHERE [tblValueChain01].[MacroProcess]= '" & Me.MacroProcess & "'"
and WHERE [tblSkillsMatrix01].[SubProcessID]= '" & Form_frmValueChain07e.ID & "'"
Me.frmValueChain14.Form.RecordSource = sql_get
试试这个...
sql_get = "SELECT tblContacts.ID AS IDResource, tblImmages.Immage, tblContacts.Foto, tblSkillsMatrix01.CurrentLevel, tblSkillsMatrix01.GeneralNotesSymbol, tblSkillsMatrix01.ID, tblSkillsMatrix01.Status, tblSkillsMatrix01.SkillLevelPie, tblSkillsMatrix01.SubProcessID, tblSkillsMatrix01.Contact, tblTeams.Team, tblValueChain01.MacroProcess, tblSkillsMatrix01.LevelOneStatus, tblSkillsMatrix01.AsOfDateL1, tblSkillsMatrix01.LevelTwoStatus, tblSkillsMatrix01.AsOfDateL2, tblSkillsMatrix01.LevelThreeStatus, tblSkillsMatrix01.AsOfDateL3, " & _
"tblSkillsMatrix01.LevelFourStatus , tblSkillsMatrix01.AsOfDateL4, tblSkillsMatrix01.GeneralNotes, tblSkillsMatrix01.LevelOneNotes, tblSkillsMatrix01.LevelTwoNotes, tblSkillsMatrix01.LevelThreeNotes, tblSkillsMatrix01.LevelFourNotes, tblSkillsMatrix01.LevelOneNotesSymbol, tblSkillsMatrix01.LevelTwoNotesSymbol, tblSkillsMatrix01.LevelThreeNotesSymbol, tblSkillsMatrix01.LevelFourNotesSymbol, tblSkillsMatrix01.ExpectedCmplDateL1, tblSkillsMatrix01.ExpectedCmplDateL2, tblSkillsMatrix01.ExpectedCmplDateL3 , tblSkillsMatrix01.ExpectedCmplDateL4 FROM (tblTeams INNER JOIN (tblContacts INNER JOIN (tblSkillsMatrix01 INNER JOIN tblImmages ON tblSkillsMatrix01.SkillLevelPie = tblImmages.ID) ON tblContacts.ID = tblSkillsMatrix01.Contact) ON tblTeams.ID = tblContacts.Team) INNER JOIN tblValueChain01 ON tblContacts.Group = tblValueChain01.IDMacroProcesso WHERE [tblValueChain01].[MacroProcess]= '" & Me.MacroProcess & "'" and [tblSkillsMatrix01].[SubProcessID]= '" & Form_frmValueChain07e.ID & "'"
Me.frmValueChain14.Form.RecordSource = sql_get
您在单个 SELECT
语句中有多个 WHERE
子句。您不需要两个 WHERE
子句。
替换这个
WHERE [tblValueChain01].[MacroProcess]= '" & Me.MacroProcess & "'"
and WHERE [tblSkillsMatrix01].[SubProcessID]= '" & Form_frmValueChain07e.ID & "'"
用这个 [如果 SubProcessID
不是 一个数字]
WHERE [tblValueChain01].[MacroProcess]= '" & Me.MacroProcess & "' and [tblSkillsMatrix01].[SubProcessID]= '" & Form_frmValueChain07e.ID & "'"
或者用这个[如果SubProcessID
是一个数字]
WHERE [tblValueChain01].[MacroProcess]= '" & Me.MacroProcess & "' and [tblSkillsMatrix01].[SubProcessID]= " & Form_frmValueChain07e.ID & ""
然后尝试..