Frage

Ich versuche, zu bestätigen oder dementieren, ob Sie eine Spalte der Tabelle in MS Access 2003 als Set definieren können. Es scheint, dies in Office 2007 implementiert - Sie können eine Spalte definieren eine ‚Multi-Select-Liste‘ in der Abfrage haben / Lookup, aber diese Funktion erscheint auf das neue Access 2007-Dateiformat eindeutig zu sein soweit ich feststellen kann.

abgefaßt eine andere Art und Weise, hat MS Access 2003 hat die äquivalent zu der SQL-Anweisung:

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

Oder gibt es eine clevere Abhilfe etwas ähnliches zu erreichen? Ich würde in Access 2003 eine Antwort, die Informationen über Inkasso Konstrukteurs nehmen.

War es hilfreich?

Lösung

Beziehen Sie sich auf die Access-Datenbank-Engine mehrwertiges Datentypen ? Wenn ja, dann ja, diese den ACE neu (2007) Version des Motors und sind nicht in Jet 4.0 Access2003-Version des Motors ist.

versuchte FWIW ich Ihre SQL in Access2007 mit ANSI-92-Abfragemodus (OLE DB, Motortyp = 5) und das MULTISET Schlüsselwort wurde nicht erkannt.

Beachten Sie nicht brauchen, können noch wollen mehrwertig Typen. Eine besondere Kritik ist, dass Access-Datenbank SQL DML Ausdrücke Dienst nicht zu berücksichtigen mehrwertig Arten verändert. Siehe auch diesen Artikel Mehrwertige Datentypen schädlich in Betracht gezogen:

  

beide Suraj [Poozhiyil, die MS Access   Programm-Manager] und ich stimmen   von ganzem Herzen, dass die Entwickler nicht   müssen mehrwertig Felder verwenden.   Leute, die Datenbanken zu verstehen   haben bereits eine gute Möglichkeit,   Umsetzung viele zu viele   Beziehungen und wird keinen Nutzen gewinnen   von mehrwertig Felder aus.

     

Also, meine klare und sichere Beratung   Entwickler ist nicht mehrwertig zu verwenden   Felder. Sie haben uns nichts mehr zu bieten   ausnehmen mögliche Schmerzen.

UPDATE:

  

MULTISET ist ein neuer Datentyp offiziell   beginnend mit SQL: 2003 also bin ich   Teil des Grundes rät zum Hinzufügen   es in Access 2007 vollständig sein   konform mit dem SQL-Standard

Das ist, fast amüsant. Das Access-Team hat kein Interesse gezeigt SQL-Syntax in hinzufügen, die mit einem beliebigen SQL-Standards kompatibel ist.

[Wenn das SQL Server-Team Jet Modifizierung wurde für ihre 4.0-Release wollten sie SQL-92-Kompatibilität erreichen, wurden aber daran durch das Windows-Team, deren Komponenten waren angewiesen auf einigen Funktionen verbleibenden nicht konforme verhindert ... aber das ist eine andere Geschichte. Das Access-Team hat eine eigenes Volk der Code-Basis, so dass sie keine solche Ausrede hat ... es sei denn, das Sharepoint Team nun ungebührlichen Einfluss hat? Ich schweife ab ...]

Betrachten Sie dieses Zitat aus dem Dokument über den SQL2003 Standard:

  

Werte eines MULTISET Typ kann sein   entweder durch das Aufzählen   Einzelelemente oder durch Zufuhr von   die Elemente durch eine Abfrage   Ausdruck; z. B.

     

MULTISET[1, 2, 3, 4]

     

oder

     

MULTISET(            SELECT grades              FROM courses           )

     

... Umgekehrt kann ein multiset Wert sein   als Tabellenverweis in der FROM verwendet   Klausel mit dem UNNEST Operator.

Das Access-Team hat keine neue Ausdrücke noch keine Operatoren die ACE SQL DML Syntax hinzugefügt. Also, nein, das hat nichts mit SQL-Standards und alles zu tun, mit Sharepoint zu tun.

  

David W. Fenton: Nein, [Unterstützung für   mehrwertiges types] in der hinzugefügt wurde   ACCDB-Format (nicht der ACE, wie   @onedaywhen sagt ...)

Betrachten Sie dieses Zitat von des eigenen Blog Zugang Team :

  

Die primäre Funktion, die wir in den neuen hinzugefügt   Access-Modul ist die Unterstützung für „complex   Daten“.

Es ist auf jeden Fall ein Motor Feature!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top