【发布时间】:2016-09-23 20:30:45
【问题描述】:
我无法让它在 VBA 中工作,尽管它可以在 access 中工作。 哪个是错误?
Private Sub Command517_Click()
Dim SQL As String
SQL = "SELECT Tags.Tag, MacroAttività.[Nome/Descrizione], MacroAttività.ID," & _
" MacroAttività.Descrizione, MacroAttività.[Data inizio attività], " & _
" MacroAttività.[Data fine prevista], MacroAttività.[Data fine effettiva], " & _
" MacroAttività.Note,operatore.Nome, Tipologia.Tipologia " & _
" FROM Tipologia INNER JOIN (operatore INNER JOIN (MacroAttività INNER JOIN Tags ON MacroAttività.ID = Tags.[ID macro attività]) " & _
" ON operatore.ID = MacroAttività.Leader) ON Tipologia.ID = MacroAttività.Tipologia WHERE " & _
"(((Tags.Tag) = [Forms]![MacroAttività]![Text511]) " & _
" UNION ALL SELECT Tags.Tag, MacroAttività.[Nome/Descrizione], " & _
" MacroAttività.Descrizione, MacroAttività.ID, " & _
" MacroAttività.Leader, MacroAttività.[Data inizio attività], " & _
" MacroAttività.[Data fine prevista], MacroAttività.[Data fine effettiva], " & _
" MacroAttività.Note, MacroAttività.Tipologia " & _
" FROM MacroAttività INNER JOIN Tags ON MacroAttività.ID = Tags.[ID macro attività] " & _
" WHERE (((Tags.Tag)=[Forms]![MacroAttività]![Text513])); "
DoCmd.RunSQL SQL
End Sub
【问题讨论】:
-
如何创建一个带有参数的过程,例如
CREATE PROCEDURE GetStuff ( :tag VARCHAR(20) ) AS SELECT * FROM Stuff WHERE tag = :tag;...那么在 VBA 代码中只需调用 proc 并为参数值传递一个值?