Sql server VBA-调用模块以生成字符串并完成查询

Sql server VBA-调用模块以生成字符串并完成查询,sql-server,vba,excel,database-connection,Sql Server,Vba,Excel,Database Connection,对VBA来说是很新的。我试图自己解决这个问题,但任何公开的威胁似乎都符合我的需要 背景: 我有一个宏,它从DDBB中获取信息,并将其复制到新工作簿中。我想在不同的模块中组织不同的查询,而不是在主模块中,并根据需要调用它们 问题: 我已将新模块中的查询设置为字符串,但始终未找到ByRef、方法或数据成员: 主接头 查询字符串所在的模块是Module4 我的查询所在的子系统: 如果我在strSQL之后直接引入查询,那么它就可以工作,但是如果我调用Module4上的Sub,它就不能工作。有什么想法吗

对VBA来说是很新的。我试图自己解决这个问题,但任何公开的威胁似乎都符合我的需要

背景: 我有一个宏,它从DDBB中获取信息,并将其复制到新工作簿中。我想在不同的模块中组织不同的查询,而不是在主模块中,并根据需要调用它们

问题: 我已将新模块中的查询设置为字符串,但始终未找到ByRef、方法或数据成员:

主接头

查询字符串所在的模块是Module4

我的查询所在的子系统:

如果我在strSQL之后直接引入查询,那么它就可以工作,但是如果我调用Module4上的Sub,它就不能工作。有什么想法吗


先谢谢你

分配字符串时不要使用Set-这是针对对象类型variablesQuery1=Select*from table1@Tim Williams函数调用/返回中的小错误。非常感谢你们两位!:我不知道我可以这样构造函数。我的意图是通过首先调用我今天学到的子对象来调用我在模块4中创建的对象!:
strSQL = Module4.Query1()


Function Query1() As String
    Query1 = "Select * from table1"
End Sub
Sub Queries(Query1 As String)
Set Query1 = "Select * from table1"
End Sub
strSQL = Module4.Query1()


Function Query1() As String
    Query1 = "Select * from table1"
End Sub