32

如何向 MS Access 查询添加评论,以提供对其功能的描述?

添加后,如何以编程方式检索此类评论?

4

10 回答 10

28

我决定在Where条款中添加一个条件,该条件始终评估为真,但允许编码人员找到您的评论。

Select
   ...
From
   ...
Where
   ....
   And "Comment: FYI, Access doesn't support normal comments!"<>""

最后一行总是评估为 true,因此它不会影响返回的数据,但允许您为下一个人留下评论。

于 2015-01-22T18:41:13.377 回答
13

无法向“普通”Access 查询(即 mdb 中的 QueryDef)添加注释,这就是为什么许多人建议将查询的 sql 存储在表中的原因。

于 2008-10-31T14:32:33.130 回答
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")
于 2008-10-31T14:48:38.870 回答
4

我知道这个问题很老了,但我想补充几点,奇怪地省略了:

  1. 您可以右键单击容器中的查询,然后单击属性,然后填写您的描述。您以这种方式输入的文本也可以在设计视图中的 Descrption 属性中访问
  2. 每个字段也可以记录在案。只需确保打开属性窗口,然后单击要记录的查询字段,并填写描述(就在鲜为人知的格式属性上方)

没有产品(我知道)记录这些查询字段的描述和表达式,这有点令人遗憾。

于 2011-03-22T12:49:08.937 回答
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 日期格式和缩写,以及评论。已在 qryHISTORY 字段中使用最多 646 个字符对此进行了测试。

于 2011-01-21T20:14:00.177 回答
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"
于 2012-09-07T03:06:48.937 回答
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 Is Null OR "" 告诉您的查询在评论字段中包含任何没有数据的行,否则它不会返回任何内容!

于 2012-09-16T16:17:36.743 回答
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 的错。

于 2021-03-22T13:46:02.103 回答
0

如果您尝试向整个对象(查询或表等)添加一般注释

Access 2016 转到导航窗格,突出显示对象,右键单击,选择对象/表属性,在描述窗口中添加注释,即库存“表上次更新时间 05/31/17”

于 2017-05-31T11:20:39.490 回答
0

在查询设计中:

  • 添加一列
  • 在字段中输入您的评论(用引号引起来)
  • 取消选中显示
  • 排序。

笔记:

如果您不排序,该字段将被访问删除。因此,请确保您已取消选中显示并对列进行排序。

于 2018-01-05T15:06:54.137 回答