如何向MS Access Query添加注释,以提供其操作说明?
添加后,如何以编程方式检索此类评论?
答案 0 :(得分:28)
我决定在Where
条款中添加条件,该条款始终评估为true,但允许编码人员找到您的评论。
Select
...
From
...
Where
....
And "Comment: FYI, Access doesn't support normal comments!"<>""
最后一行总是评估为true,因此它不会影响返回的数据,但允许你为下一个人留下评论。
答案 1 :(得分:12)
无法向“普通”访问查询添加注释,即mdb中的QueryDef,这就是为什么许多人建议在表中存储查询的sql。
答案 2 :(得分:11)
注意:使用Access 2003确认,不了解早期版本。
对于MDB中的查询,您可以右键单击查询设计器(表空间中的任何位置),从上下文菜单中选择“属性”,然后在描述中输入文本属性。
你只限于256个字符,但总比没有好。
您可以使用以下内容以编程方式获取描述:
Dim db As Database
Dim qry As QueryDef
Set db = Application.CurrentDb
Set qry = db.QueryDefs("myQuery")
Debug.Print qry.Properties("Description")
答案 3 :(得分:4)
我知道这个问题已经很老了,但我想补充几点,奇怪地省略了:
有点令人遗憾的是,没有产品(我知道)会记录这些查询字段的描述和表达。
答案 4 :(得分:3)
您可以按如下方式向MSAccess查询添加注释:在查询中创建虚拟字段。不优雅但是自我记录并包含在查询中,这使得它成为源代码控制更加可行!杰尔就是一个例子。进入SQL视图并添加虚拟字段(您也可以从设计视图中执行):
SELECT "2011-01-21;JTR;Added FIELD02;;2011-01-20;JTR;Added qryHISTORY;;" as qryHISTORY, ...rest of query here...
运行查询:
qryHISTORY FIELD01 FIELD02 ...
2011-01-21;JTR;Added FIELD02;;2011-01-20;JTR;Added qryHISTORY;;" 0000001 ABCDEF ...
注意使用“;”作为qryHISTORY字段中的字段分隔符,和“;;”作为评论的结束,使用ISO日期格式和intials,以及评论。在qryHISTORY字段中测试了最多646个字符。
答案 5 :(得分:2)
第一个答案提到了如何以编程方式获取描述属性。无论如何,如果您打算使用程序,由于查询中的注释非常复杂,而不是尝试将注释放入查询中,可能最好将它们放入程序中并使用程序来提出所有问题
Dim dbs As DAO.Database
Dim qry As DAO.QueryDef
Set dbs = CurrentDb
'put your comments wherever in your program makes the most sense
dbs.QueryDefs("qryName").SQL = "SELECT whatever.fields FROM whatever_table;"
DoCmd.OpenQuery "qryname"
答案 6 :(得分:1)
如果您的查询有很多标准,那么记住每个标准的作用可能会很棘手。 我在原始表中添加了一个文本字段 - 称之为“注释”或“文档”。 然后我将它包含在查询中,并为每个条件添加注释。
需要像这样编写注释,以便返回所有相关的行。 不幸的是,由于我是一张新海报,我无法添加截图!
所以这里没有
Field: | Comment |ContractStatus | ProblemDealtWith | ...... |
Table: | ElecContracts |ElecContracts | ElecContracts | ...... |
Sort:
Show:
Criteria | <> "all problems are | "objection" Or |
| picked up with this | "rejected" Or |
| criteria" OR Is Null | "rolled" |
| OR ""
<>
告诉查询选择与您输入的文本不相等的行,否则它只会选择文本等于您的评论的字段,即无:!
“”将您的评论用引号括起来
OR是Null OR“”告诉您的查询在评论字段中包含任何没有数据的行,否则它不会返回任何内容!
答案 7 :(得分:1)
我已经在上面@Dan 的回答中使用该方法五年了,现在意识到有一种类似的方法允许在相关代码旁边添加注释,而不是在 WHERE
子句中分开:
可以使用 iif()
在域代码中添加注释。例如,如果字段代码是:
A / B
然后可以这样评论:
iif("Comment: B is never 0." = "", "", A / B)
或
iif(false, "Comment: B is never 0.", A / B)
或
iif(0, "Comment: B is never 0.", A / B)
就像 Dan 的解决方案一样,它很笨拙,但那是 SQL 的错。
答案 8 :(得分:0)
如果您尝试将常规注释添加到整个对象(查询或表等)。
访问2016 转到导航窗格,突出显示对象,右键单击,选择对象/表格属性,在说明窗口中添加注释,即库存“表格上次最后更新05/31/17”
答案 9 :(得分:0)
在查询设计中:
注意:强>
如果您不排序,该字段将被访问权删除。因此,请确保您已取消选中显示并对列进行排序。