سؤال

أحاول تأكيد أو رفض ما إذا كان يمكنك تحديد عمود جدول في MS Access 2003 كمجموعة. يبدو هذا يكون يتم تنفيذها في Office 2007 - يمكنك تحديد عمود للحصول على "قائمة متعددة التحديد" في الاستعلام / البحث، ولكن يبدو أن هذه الميزة فريدة من نوعها بتنسيق ملف Access 2007 الجديد بقدر ما يمكنني تحديده.

صياغة طريقة أخرى، هل لدى MS Access 2003 أي ما يعادل عبارة SQL:

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

أم أن هناك حدودا ذكيا لتحقيق شيء مماثل؟ وأود أن أقبل إجابة توفير معلومات عن أي منشئين جمع في Access 2003.

هل كانت مفيدة؟

المحلول

هل تشير إلى محرك قاعدة بيانات الوصول أنواع البيانات متعددة الجنسياتب إذا كان الأمر كذلك، فعندئذ نعم، هذه جديدة على إصدار ACE (2007) من المحرك وغير متوفرة في Jet 4.0 كونها إصدار Access2003 من المحرك.

FWIW حاولت SQL الخاص بك في Access2007 باستخدام وضع الاستعلام ANSI-92 (OLE DB، نوع المحرك = 5) ولم يتم التعرف على الكلمة الأساسية متعددة المتعدد.

ملاحظة قد لا تحتاج ولا تريد أنواعا متعددة الجنسيات. انتقاد معين هو أن خدمة قاعدة بيانات قاعدة بيانات Access لم يتم تغيير خدمة SQL DML لمراعاة الأنواع متعددة الجنسيات. أيضا، انظر هذا المقال الصور متعددة الجنسيات تعتبر ضارة:

كل من Suraj [Poozhiyil، مدير برنامج MS Access] وأوافق بإخلاص أن المطورين لا يحتاجون إلى استخدام الحقول متعددة القيمة. إن الأشخاص الذين يفهمون قواعد البيانات لديهم بالفعل طريقة جيدة لتنفيذ الكثير من العلاقات وستستفيد من الحقول متعددة القيمة.

لذلك، فإن نصيحتي واضحة ومحددة للمطورين هي عدم استخدام الحقول متعددة القيمة. ليس لديهم ما قدموا لنا باستثناء الألم المحتمل.

تحديث:

multiset. هو نموذج بيانات جديد يبدأ رسميا ب SQL: 2003، لذلك، أعتقد أن جزءا من سبب إضافته في Access 2007 هو أن تكون متوافقة تماما مع SQL Standard

هذا مسلية تقريبا. لم يظهر فريق الوصول أي مصلحة في إضافة بناء جملة SQL المتوافق مع أي معيار SQL.

عندما يقوم فريق SQL Server بتعديل النفاثة من أجل الإصدار 4.0 الذي أرادوا تحقيق الامتثال SQL-92 ولكن تم منعه من القيام بذلك من خلال فريق Windows الذي تم اعتماد مكوناته على بعض الميزات المتبقية غير متوافقة ... ولكن هذه قصة أخرى. لدى فريق الوصول الشعبي الخاص من قاعدة التعليمات البرمجية الخاصة به حتى لا يوجد مثل هذا السذر ... ما لم يكن لدى فريق SharePoint الآن تأثيرا لا مبرر له؟ أنا أستطرد...

النظر في هذا الاقتباس من المستند حول معيار SQL2003:

قيم أ MULTISET يمكن إنشاء نوع إما عن طريق تعداد العناصر الفردية أو عن طريق توفير العناصر من خلال تعبير الاستعلام؛ على سبيل المثال،

MULTISET[1, 2, 3, 4]

أو

MULTISET( SELECT grades FROM courses )

... على العكس، يمكن استخدام قيمة Multiset كمرجع جدول في FROMجملة باستخدام UNNEST المشغل أو العامل.

لم يقم فريق الوصول بإضافة أي تعبيرات جديدة ولا أي مشغلين إلى بناء جملة ACE SQL DML. لذلك، لا، هذا لا علاقة له بمعايير SQL وكل شيء للقيام به مع SharePoint.

تمت إضافة David W. Fenton: لا، [دعم الأنواع متعددة الجنسيات] في تنسيق ACCDB (وليس ACE، كما يقول LeedayWhen ...)

النظر في هذا الاقتباس من مدونة فريق الوصول الخاصة:

الميزة الأساسية التي أضفناها إلى محرك الوصول الجديد هو دعم "البيانات المعقدة".

إنها بالتأكيد ميزة المحرك!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top