Ms access 您如何评论MS access查询?
如何向MS Access查询添加注释,以提供其功能的描述Ms access 您如何评论MS access查询?,ms-access,ms-office,Ms Access,Ms Office,如何向MS Access查询添加注释,以提供其功能的描述 一旦添加,如何以编程方式检索此类注释?不可能向“普通”Access查询(即mdb中的QueryDef)添加注释,这就是为什么许多人建议将查询sql存储在表中的原因。注意:已通过Access 2003确认,不知道早期版本 对于MDB中的查询,您可以在查询设计器中右键单击(表所在空白区域中的任意位置),从关联菜单中选择“属性”,然后在“描述”属性中输入文本 限制为256个字符,但总比没有好 您可以通过以下方式通过编程获得描述: Dim db
一旦添加,如何以编程方式检索此类注释?不可能向“普通”Access查询(即mdb中的QueryDef)添加注释,这就是为什么许多人建议将查询sql存储在表中的原因。注意:已通过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")
可以按如下方式向MSAccess查询添加注释:在查询中创建虚拟字段。虽然不优雅,但它是自我记录的,并且包含在查询中,这使得将其检查为源代码控制更加可行!杰尔就是一个例子。进入SQL视图并添加虚拟字段(也可以从设计视图执行): 运行查询:
qryHISTORY FIELD01 FIELD02 ...
2011-01-21;JTR;Added FIELD02;;2011-01-20;JTR;Added qryHISTORY;;" 0000001 ABCDEF ...
请注意“;”作为QRY历史记录字段中的字段分隔符,以及“;”作为注释的结尾,以及ISO日期格式和初始值以及注释的使用。我已经在qryHISTORY字段中用最多646个字符对此进行了测试。我知道这个问题已经很老了,但我想补充几点,奇怪的是忽略了:
令人遗憾的是,据我所知,没有任何产品对这些查询字段的描述和表达式进行文档化。第一个答案提到了如何通过编程方式获取description属性。无论如何,如果您要为程序而烦恼,因为查询中的注释非常模糊,与其尝试将注释放入查询中,不如将它们放入程序中并使用该程序进行所有查询
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"
如果您有一个包含很多条件的查询,那么记住每个条件的作用可能会很困难。 我在原始表中添加了一个文本字段,称之为“注释”或“文档”。 然后我将其包含在查询中,并为每个条件添加注释 注释需要这样写,以便返回所有相关行。 不幸的是,因为我是一个新的海报,我不能添加截图 所以这里没有
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 ""
字段:|注释|合同状态|问题处理||
表:|电气合同|电气合同|电气合同||
排序:
展示:
标准|“所有问题都是|“反对”或|
|拿起这个|“拒绝”或|
|“条件”或为空|“滚动”|
|或“
告诉查询选择与您输入的文本不相等的行,否则它将只拾取文本与您的注释相等的字段,即无
“”请将您的评论用引号括起来
或为Null或“”指示查询在“注释”字段中包含任何没有数据的行,否则它将不会返回任何内容 我决定在
Where
子句中添加一个条件,该条件的计算结果始终为true,但允许程序员查找您的注释
Select
...
From
...
Where
....
And "Comment: FYI, Access doesn't support normal comments!"<>""
选择
...
从…起
...
哪里
....
和“评论:仅供参考,Access不支持普通评论!”
最后一行的计算结果始终为true,因此它不会影响返回的数据,但允许您为下一个家伙留下注释。如果您试图向整个对象(查询或表等)添加常规注释 访问2016 转到导航窗格,突出显示对象,右键单击,选择对象/表属性,在描述窗口中添加注释,即在查询设计中的库存“表上次更新时间为2017年5月31日”:
- 添加一列
- 在字段中输入您的评论(引号)
- 取消选中“显示”
- 表示赞同
如果不进行排序,access将删除该字段。因此,请确保您已取消选中“显示”并对列进行排序。我在上面@Dan的回答中使用了五年的方法,现在意识到有一种类似的方法,允许注释与相关代码相邻,而不是在
WHERE
子句中分开:
可以使用iif()
在字段代码中添加注释。例如,如果字段代码为:
A / B
然后可以这样评论:
iif("Comment: B is never 0." = "", "", A / B)
或
或
与Dan的解决方案一样,它也很笨拙,但这是SQL的错。这是通常意义上的评论吗?对我来说,这是一个自定义属性,不是注释。我同意@Remou。虽然这是一种对整个查询进行“注释”的方式,但实际上并不是您通常想要的,也就是说,一种对查询部分进行注释并格式化布局的方式(这两种方式都是不可能的)。您是否知道,如果将表单控件绑定到字段,则在步骤2中填写的描述字段将显示在状态栏中?通过设置查询字段的“描述”属性,然后在“数据表”视图中查看,可以看到这一点。将焦点放在添加说明的字段上时,文本将显示在状态栏中。这是本栏位的目的,实际上,与表格设计中的目的相同。为了清晰起见,可否对其进行编辑?我很难读懂它。代码中的更多格式、间距等可能会有所帮助。我不确定大多数安装是否希望每次查询调用都返回历史记录(&P)@
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)