如何创建一个访问数据库的 VBA 子程序,然后在另一个子程序中使用它?

问题描述 投票:0回答:0

如果我说的有误,请提前道歉,我是 VBA 编码的新手,我仍在努力学习一些基础知识。问题是我没有优化这个巨大的代码,我想让它更短。有一段代码访问数据库,并在整个代码过程中一遍又一遍地重复自己,但是我从中获取我想要的信息的数据库“表”每次都会发生变化。我的想法是用这段代码创建另一个子程序,每次我需要它时,我都会在“大”子程序中调用它,但我无法让它工作。

这是我正在谈论的一段代码:(变量

Task_Type
X_Loop
是变化的)

            Dim strSQL As String
            'Define SQL Query
            strSQL = "SELECT * FROM X_Loop  WHERE Sample = '" & Sample & "' AND Task_Type = '" & TaskType & "'"
            'Create recordset with defined SQL Query
            Set rst = New ADODB.Recordset
            rst.Open strSQL, conn, adOpenForwardOnly
            
            While rst.EOF <> True And rst.BOF <> True
                SetTaskField Field:="Name", Value:=rst.Fields("Task_Name")
                SetTaskField Field:="Task Type", Value:=rst.Fields("Task_Type")
                SelectTaskField Row:=0, Column:="duration", Width:=2
                SetTaskMode Manual:=True
                EditClear Contents:=True
                SelectRow Row:=1
                InsertTask
                rst.MoveNext
            Wend

关于如何使这项工作有任何想法吗?谢谢!

sql vba ms-project
© www.soinside.com 2019 - 2024. All rights reserved.