Я пытаюсь выполнить запрос SQL внутри кода VBA. Запрос работает в MS Access и просит пользователя ввести значение для Customer_Name и Part_Number
Что я сделал, так это написал VBA Code в outlook, чтобы мы могли запустить макрос для выполнения запроса из Outlook. Код, который у меня есть, работает до самой нижней части раздела DoCmd.RunSQL. Я думаю, что у меня неправильный синтаксис. Мне нужно сказать ему, чтобы запустить строку SQL, перечисленные выше:
Public Sub AppendAllTables()
Part_Number = InputBox("Enter Part Number")
Customer_Name = InputBox("Enter Customer Name")
Dim strsqlQuery As String
Dim Y As String
Y = "YES, Exact Match"
Dim P As String
P = "Possible Match - Base 6"
Dim X As String
X = "*"
strsqlQuery = "SELECT Append_All_Tables.Customer,
Append_All_Tables.CustomerCode, Append_All_Tables.PartNumber,
Append_All_Tables.Description, Append_All_Tables.Vehicle, SWITCH" &
Customer_Name & " = Append_All_Tables.PartNumber, " & Y & ", LEFT(" &
Part_Number & ",12) = LEFT(Append_All_Tables.PartNumber,12)," & Y & ",
LEFT(" & Part_Number & ",6) = LEFT(Append_All_Tables.PartNumber,6)," & P
& ") AS Interchangeability FROM Append_All_Tables WHERE" & Customer_Name
& "Like " & X & Customer_Name & X & "AND
LEFT(Append_All_Tables.PartNumber,6) = LEFT(" & Part_Number & ",6);"
Set appAccess = CreateObject("Access.Application")
appAccess.OpenCurrentDatabase "path.accdb"
appAccess.DoCmd.RunSQL "strsqlQuery"
End Sub
Обратите внимание, путь был изменен для конфиденциальности. Код SQL уже работает в Access. Мне нужна только последняя строка для оценки.