gpt4 book ai didi

sql - 在 VBA 代码中执行 SQL 语句

转载 作者:行者123 更新时间:2023-12-04 16:09:07 26 4
gpt4 key购买 nike

我正在尝试在 VBA 代码中执行 SQL 查询。该查询适用于 MS Access,并要求用户输入 Customer_Name 和 Part_Number 的值

我所做的是在 outlook 中编写 VBA 代码,这样我们就可以运行宏来从 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 中运行。我只需要评估最后一行。

最佳答案

如果你想让数据表表单 View 显示这些记录,你可以使用

DoCmd.OpenForm 

首先使用您想要查看的数据创建一个查询,然后使用 Record Source 属性将其绑定(bind)到您的表单,然后在您调用 DoCmd.OpenForm 时传入你想要的过滤器。

我没有理解您在查询中尝试用 SWITCH 做什么(应该是 switch() 函数吗?它没有括号).但是您需要对其进行调整以改为使用 Where 语句。

关于sql - 在 VBA 代码中执行 SQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50260288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com