2008-10-31 10 views
32

¿Cómo se puede agregar un comentario a una MS Access Query para proporcionar una descripción de lo que hace?¿Cómo se comenta una consulta de acceso a MS?

Una vez que se ha agregado, ¿cómo se pueden recuperar dichos comentarios mediante programación?

+0

¡También se aplica a las consultas JET de ADODB! –

Respuesta

10

NOTA: Confirmado con Access 2003, no sé sobre versiones anteriores.

Para una consulta en un MDB puede hacer clic con el botón derecho en el diseñador de consultas (en cualquier lugar del espacio vacío donde están las tablas), seleccionar Propiedades en el menú contextual e ingresar texto en la propiedad Descripción.

Tiene un límite de 256 caracteres, pero es mejor que nada.

Se puede llegar a la descripción programáticamente con algo como esto:

Dim db As Database 
Dim qry As QueryDef 

Set db = Application.CurrentDb 
Set qry = db.QueryDefs("myQuery") 

Debug.Print qry.Properties("Description") 
+3

No me parece un comentario de código. Sin embargo, puedo entender la respuesta propuesta. Es una manera, pero difícilmente la respuesta que alguien esperaría al leer esto. –

12

No es posible agregar comentarios a consultas de acceso 'normales', es decir, un QueryDef en un mdb, por lo que varias personas recomiendan almacenar el sql para consultas en una tabla.

+0

Eso no es verdad. Ver la respuesta aceptada. –

+23

¿Es ese un comentario en el sentido habitual? Para mí, es una propiedad personalizada, no un comentario. – Fionnuala

+2

Estoy de acuerdo con @Remou. Si bien es una forma de "comentar" toda la consulta, no es lo que generalmente desea, es decir, una forma de comentar las partes de la consulta y formatear el diseño (ambas cosas son imposibles). –

3

Puede añadir un comentario a una consulta de MS Access como sigue: Crear un campo ficticio en la consulta. No es elegante, pero se autodocumenta y figura en la consulta, lo que hace que sea mucho más factible convertirlo en código fuente. Jere es un ejemplo. Ir a la vista SQL y agregar el campo ficticio (se puede hacer a la vista de diseño también):

SELECT "2011-01-21;JTR;Added FIELD02;;2011-01-20;JTR;Added qryHISTORY;;" as qryHISTORY, ...rest of query here... 

ejecutar la consulta:

qryHISTORY       FIELD01 FIELD02 ... 
2011-01-21;JTR;Added FIELD02;;2011-01-20;JTR;Added qryHISTORY;;" 0000001 ABCDEF ... 

Nota el uso de ";" como delimitador de campo en el campo qryHISTORY, y ";;" como un final de comentario, y uso de formato de fecha ISO e iniciales, así como de comentario. Ha probado esto con hasta 646 caracteres en el campo qryHISTORY.

+1

¿Podría editarse esto para mayor claridad, por favor? Estoy teniendo dificultades para leerlo/entenderlo. Algo más de formato, espaciado, etc., en el código podría ayudar. –

+0

No estoy seguro de que la mayoría de las instalaciones deseen que se devuelva el historial con cada llamada de consulta, y prefiera la respuesta de @ Dan debajo de – cmroanirgo

4

Sé que esta pregunta es muy antiguo, pero me gustaría añadir algunos puntos, extrañamente omite:

  1. puede haga clic en la consulta en el envase y en Propiedades, y llenar eso con Tu descripción. También se puede acceder al texto que ingrese de esa manera en la vista de diseño, en la propiedad Descripcion
  2. También se puede documentar cada campo. Solo asegúrese de que la ventana de propiedades esté abierta, luego haga clic en el campo de consulta que desea documentar y complete la Descripción (justo encima de la propiedad Formato demasiado poco conocida)

Es un poco triste que no haya ningún producto (lo sé) documenta estas descripciones y expresiones de campos de consulta.

+4

. Sabe que el campo DESCRIPTION que está completando en su paso 2 se mostrará en el barra de estado si enlaza un control de formulario al campo?Puede ver esto configurando la propiedad de descripción de un campo de consulta y luego visualizándolo en la vista de hoja de datos. Cuando coloca el foco en el campo donde agregó una descripción, el texto aparece en la barra de estado. Este es el propósito de este campo, de hecho, lo mismo que en el diseño de la mesa. –

2

La primera respuesta mencionó cómo obtener la propiedad de la descripción programáticamente. Si de todos modos te vas a molestar con el programa, dado que los comentarios en la consulta son tan complicados, en lugar de intentar poner los comentarios en la consulta, quizás sea mejor incluirlos en un programa y usar el programa para hacer todas tus consultas.

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" 
1

Si tiene una consulta con muchos criterios, puede ser complicado recordar lo que hace cada uno. Agrego un campo de texto en la tabla original - llámalo "comentarios" o "documentación". Luego lo incluyo en la consulta con un comentario para cada criterio.

Los comentarios deben escribirse así para que se devuelvan todas las filas relevantes. Desafortunadamente, como soy un nuevo póster, ¡no puedo agregar una captura de pantalla!

Así que aquí hace falta

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 "" 

<> cuenta la consulta para elegir filas que no son iguales al texto que ha introducido, de lo contrario sólo se transmiten los campos que tienen el texto igual a su comentario es decir, ninguno!

"" encierre su comentario entre comillas

O es nulo o "" le dice a su consulta para incluir las filas que no tienen datos en el campo de comentarios, de lo contrario no devuelve nada!

26

Decidí agregar una condición a la cláusula Where que siempre evalúa verdadero pero permite que el codificador encuentre tu comentario.

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

La última línea siempre se evalúa como verdadera por lo que no afecta a los datos devueltos, pero le permite dejar un comentario para que el tipo de al lado.

+0

Todavía no es un comentario en sí, pero es mejor que nada, y definitivamente es bueno para lo que es el propósito principal de los comentarios: ayudarlo a usted (/ a la próxima persona) a recordar lo que está sucediendo. – cmroanirgo

+1

Esta debería ser la respuesta seleccionada. Esta es una gran solución. La clugieness es culpa de Access. – NewSites

+2

No necesita la comparación '<>" "'. Simplemente 'DONDE ... Y '' - sea lo que sea '' – mivk

0

si usted está tratando de poner una nota general al objeto general (consulta o tabla, etc ..)

Acceso 2016 ir a panel de navegación, objeto resaltado, haga clic derecho, seleccione Propiedades de objeto/de mesa, añadir una nota en la descripción de la ventana de inventario es decir "mesa última última actualización 31/05/17"

+0

ya señalado por iDevlop - https://stackoverflow.com/a/5391483/3820271 – Andre

0

en el diseño de la consulta:

  • agregar una columna
  • escriba su comentario (entre comillas) en el campo
  • desmarcar Mostrar
  • ordenar en assending.

Nota:

Si no ordenar, el campo será eliminado por el acceso. Por lo tanto, asegúrese de haber desmarcado mostrar y ordenado la columna.

Cuestiones relacionadas