我正在寻求关于如何安排数据库(.accdb)的自动更新的意见,因为我对我设置的过程不太满意.
目前,它的工作原理如下:
我认为有太多的步骤,并且它需要2个与数据库相关并存储在系统上的外部文件(.Bat和.vbs),这增加了程序中断的风险.
显然(但请告诉我,我错了,我怎么能改变它).vbs不能调用子程序而只能调用宏.同样,如果用户期望进入数据库的VB环境,则访问宏不能调用子例程,而只能调用函数.这就是我调用函数(VBA Level)然后调用子例程的原因.
希望你们中的一些人知道如何缩短步骤并最终获得.bat和.vbs
我多次调用一段特定代码,因此我想使用可选参数.我可以这样写:
Public Sub main()
strA = "A"
'Calling the function
CalculateMe (strA)
End Sub
Public Sub CalculateMe(strA As String)
Set rs = DB.OpenRecordset("tbl_A")
rs.MoveFirst
Do Until rs.EOF
If rs.Fields(0) = strA Then
dblA = rs.fields(2).Value
End If
rs.MoveNext
Loop
End Sub
Run Code Online (Sandbox Code Playgroud)
如何更改功能以保存多个可选参数?
就像是:
Public Sub main()
strA = "A"
strB = "B"
'Calling the function
CalculateMe (strA, strB)
more code
End Sub
Public Sub CalculateMe(Optional strA As String, Optional strB as String)
Set rs = DB.OpenRecordset("tbl_A")
rs.MoveFirst
Do Until rs.EOF …Run Code Online (Sandbox Code Playgroud) 我正在寻求澄清"新"对对象和脚本的影响.
我的理解是,如果我需要对excel文档执行操作并且应用程序已关闭,那么我应该使用New Excel.Application.
如果我保持此应用程序处于活动状态(例如通过诸如工作簿之类的对象)以及稍后在脚本中我决定打开另一个工作簿,我是否仍应使用New Excel.Application或者使用Excel.Application会更好吗?
我担心的是,我将编写一个长脚本,它将对至少5个工作簿执行操作.我将不得不从一个工作簿切换到另一个工作簿然后再回到前者...
如果每次脚本创建一个新的Excel.Application,我可能最终会运行很多,我担心这个混乱会产生问题.
写一些类似的东西更合适:
Dim NxlApp as New Excel.Application
Dim xlApp as Excel.Application
NxlApp.Workbooks.Open "C:\Users\...\WorkbookA.xlsx"
NxlApp.Visible = True
'Perform actions on WorkbookA (keep it open)
Set ExcelApp = GetObject("", "Excel.Application.14")
xlApp.Workbooks.Open "C:\Users\...\WorkbookB.xlsx"
xlApp.Visible = True
'Perform actions on WorkbookB (keep it open)
'Go back to WorkbookA (using the xlApp variable this time)
xlApp.Workbook("A.xlsx")...
Run Code Online (Sandbox Code Playgroud) 我想在.bat文件中创建一个动态文件路径.目前文件路径如下所示:
"C:\FolderA\FolderB\FileA.xlsx"
Run Code Online (Sandbox Code Playgroud)
我想在文件名中加入今天的日期以产生类似的东西:
/exp:"C:\FolderA\FolderB\FileA " & date() & ".xlsx" /T`
Run Code Online (Sandbox Code Playgroud)
我已经尝试创建一个变量并将其与硬编码部分连接但它不起作用:
set Mydate=!date:~10,4!!date:~7,2!!date:~4,2!
/exp:"C:\FolderA\FolderB\FileA "&%Mydate%&".xlsx" /T
Run Code Online (Sandbox Code Playgroud)
批量连接字符和变量以及引号的规则是什么?如何使用记事本批量调试?
不论他们从事的部门是什么,公司的员工都分为A,B和C类(财务,人力资源,销售...)
如何编写查询(Access 2010),以检索每个类别和每个部门的员工人数?
最终输出将是一张excel表,其中公司部门将在A列中,B列中的A类,B列中的B类,D列中的C类。
我以为IIF()嵌套COUNT()可以胜任工作,但实际上是计算员工总数,而不是按类别进行细分。
任何的想法?
SELECT
tblAssssDB.[Division:],
COUNT( IIF( [Category] = "A", 1, 0 ) ) AS Count_A,
COUNT( IIF( [Category] = "B", 1, 0 ) ) AS Count_B,
COUNT( IIF( [ET Outcome] = "C", 1, 0 ) ) AS Count_C
FROM
tblAssssDB
GROUP BY
tblAssssDB.[Division:];
Run Code Online (Sandbox Code Playgroud)
我的目的是编写单个sql语句,并避免编写子查询以计算每个除法的值。