在Access 2007中创建新数据库时,是否应使用ADO(ActiveX数据对象)或DAO(数据访问对象)?
编辑:此数据库的一部分将从Excel 2007电子表格导入数据.
隐藏的工作表/工作簿对VBA代码中可以做的事情有一些限制,比如大多数Select和Selection语句,以及来自的任何内容ActiveSheet,但我似乎无法找到任何限制的列表.
Google,帮助系统中的内置文档以及MSDN的网站都让我失望.谁能指出我正确的方向?
编辑:打开工作簿
Set WB_Master = Workbooks.Open(Filename:=PATH_Master, ReadOnly:=False)
Run Code Online (Sandbox Code Playgroud)
然后隐藏着
WB_Master.Windows(1).Visible = False
Run Code Online (Sandbox Code Playgroud) 在复杂的数据库结构过程中,我需要为用户提供一种编辑存储在一系列表中的数据的方法.尽管所有数据类型都相同,但它们的名称中不会按1:1排列.为了缓解这种情况,我创建了一个查询,将原始名称(来自外部报告)映射到内部使用的名称; 从这些查询中,所有内容都被输入到一个巨大的UNION查询中.
所有数据类型和字段大小都正确排列.
我还需要做些什么来使这个UNION查询工作?
这是查询背后的当前SQL:
SELECT * FROM MappingQuery1 UNION SELECT * FROM MappingQuery2;
Run Code Online (Sandbox Code Playgroud)
编辑:
下面的答案发布了一篇知识库文章的链接,该文章肯定地说明了UNION查询中的数据无法更新.有什么方法可以解决这个问题吗?例如:
SELECT * FROM MappingQuery1, MappingQuery2;
Run Code Online (Sandbox Code Playgroud)
这会有用吗?请记住,所有字段都在类型,大小和名称中对齐.
我的代码需要在 Excel 2003 和 Excel 2007 上运行,并且在某些地方版本中的更改会导致代码停止。我尝试使用 If-Else 语句将这些行分开,但代码无法在其中任何一个上编译,因为它无法识别用于另一个的代码。有什么方法可以让一个版本忽略 VBA 中的代码块(类似于 C 或 C++ 风格的 #ifdef)吗?
我有一个报告跟踪某些项目在数据库中的持续时间,并通过一系列年龄范围(20-44,45-60,61-90,91-180,180 +)跟踪它.我有以下查询作为报告的数据源:
SELECT DISTINCT Source.ItemName,
Count(SELECT Source.DateAdded FROM Source WHERE Int(Date()-Source.DateAdded) > 20) AS Total,
Count(SELECT Source.DateAdded FROM Source WHERE Int(Date()-Source.DateAdded) BETWEEN 20 AND 44) AS BTWN_20_44,
Count(SELECT Source.DateAdded FROM Source WHERE Int(Date()-Source.DateAdded) BETWEEN 45 AND 60) AS BTWN_45_60,
Count(SELECT Source.DateAdded FROM Source WHERE Int(Date()-Source.DateAdded) BETWEEN 61 AND 90) AS BTWN_61_90,
Count(SELECT Source.DateAdded FROM Source WHERE Int(Date()-Source.DateAdded) BETWEEN 91 AND 180) AS BTWN_91_180,
Count(SELECT Source.DateAdded FROM Source WHERE Int(Date()-Source.DateAdded) > 180) AS GT_180
FROM Source
GROUP BY Source.ItemName;
Run Code Online (Sandbox Code Playgroud)
此查询很有效,除非列中没有任何条目.而不是返回0的计数,返回空值.
如何让Count()返回0而不是空?
ms-access ×3
vba ×3
excel ×2
sql ×2
excel-vba ×1
ms-office ×1
office-2003 ×1
office-2007 ×1
syntax ×1