Pregunta

Estoy tratando de confirmar o negar si se puede definir una columna de la tabla en MS Access 2003 como un conjunto. Parece que este es implementado en Office 2007 - se puede definir una columna para tener una 'selección múltiple lista' en la consulta / de búsqueda, pero esta característica parece ser única para el nuevo formato de archivo de Access 2007 por lo que yo puedo determinar.

redactada de otra manera, no MS Access 2003 tiene el equivalente a la instrucción SQL:

CREATE TABLE mytable (foo VARCHAR(10), bar VARCHAR(5) MULTISET); 

O hay una solución inteligente para lograr algo similar? Yo aceptaría una respuesta proporcionando información sobre cualquier constructores de recogida en Access 2003.

¿Fue útil?

Solución

¿Se refiere al de valores múltiples tipos de datos del motor de base de datos Access ? Si es así, entonces sí, estos son nuevos en el ACE (2007) versión del motor y no están disponibles en Jet 4.0 es la versión de Access2003 del motor.

Fwiw Probé su SQL en Access2007 usando modo de consulta ANSI-92 (OLE DB, tipo de motor = 5) y la palabra clave MULTISET no fue reconocido.

Tenga en cuenta que puede que no necesite ni desee tipos de valores múltiples. Una de las críticas en particular es que la base de datos de acceso SQL DML servicio de expresiones no ha sido modificado para tener en cuenta los tipos de valores múltiples. Además, vea este artículo tipos de datos con varios valores considerados perjudiciales :

  

tanto Suraj [Poozhiyil, el MS Access   Gerente del Programa] y estoy de acuerdo   de todo corazón que los desarrolladores no lo hacen   necesitará utilizar campos de varios valores.   La gente que entiende las bases de datos   ya tienen una buena manera de   la implementación de muchos a muchos   relaciones y va a obtener ningún beneficio   de los campos de varios valores.

     

Por lo tanto, mi consejo claro y seguro a   los desarrolladores no es utilizar varios valores   campos. No tienen nada que ofrecernos   excepto el dolor potencial.

ACTUALIZACIÓN:

  

MULTISET es un nuevo tipo de datos oficial   A partir de SQL: 2003, así que estoy   adivinando parte de la razón para la adición   en Access 2007 es estar completamente   compatible con el estándar SQL

Eso es casi divertido. El equipo de acceso no han mostrado interés en la adición de sintaxis SQL que es compatible con cualquier estándar SQL.

[Cuando el equipo de SQL Server modificaban Avión su lanzamiento 4.0 querían alcanzar SQL-92 cumplimiento, pero fueron impedidos de hacerlo por el equipo de Windows cuyos componentes eran dependientes de algunas de las características restantes no conforme ... pero eso es otra historia. El Equipo de Acceso tener su propia gente privada de la base de código así que han hay tal excusa ... a menos que el equipo de SharePoint ahora tiene una influencia indebida? Estoy divagando ...]

Considere esta cita del documento sobre el estándar SQL2003:

  

valores de un tipo MULTISET pueden ser   creado ya sea mediante la enumeración de la   elementos individuales o suministrando   los elementos a través de una consulta   expresión; por ejemplo.,

     

MULTISET[1, 2, 3, 4]

     

o

     

MULTISET(            SELECT grades              FROM courses           )

     

... Por el contrario, un valor conjunto múltiple puede ser   utilizado como referencia mesa en el FROM   cláusula usando el operador UNNEST.

El equipo de acceso no ha añadido nuevas expresiones ni ningún operador a la sintaxis SQL DML ACE. Así que no, esto no tiene nada que ver con las normas SQL y todo que ver con SharePoint.

  

David W. Fenton: No, [apoyo a   tipos de valores múltiples] se añadió en el   ACCDB formato (no la ACE, como   @onedaywhen dice ...)

Considere esta cita de propio blog del Equipo de Acceso :

  

La característica principal hemos añadido a la nueva   motor de acceso es el soporte para “compleja   datos”.

En definitiva, es una característica del motor!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top