كيف يمكن إستخدام الكود لإضافة index في Access?
كيف يمكن إستخدام الكود لإضافة index في Access
السلام عليكم
المكتوب فى ال help أنك لا تستطيع ذلك الا اذاكنت تستخدم ADO
You can set this property only in the Field Properties section in table Design view. You can set a single-field index by setting the Indexed property in the Field Properties section in table Design view. You can set multiple-field indexes in the Indexes window by clicking Indexes on the View menu.
If you add a single-field index in the Indexes window, Microsoft Access will set the Indexed property for the field to Yes.
In Visual Basic, use the ADO Append method of the Indexes collection to create an index for a field.
فهل تستخدم ADO
فهمت من كلامك أنك تريد عمل فهرس بنفسك منفصل عن الفهارس فى الاستعلامات فإن كان ذلك فاتبع ما يلي :
1- على النموذج الذي به البيانات ويفضل أن يكون نموذج مستمر .
2- ضع زر وضع فى حدث عند النقر الكود التالي :
Me.OrderByOn = True Me.OrderBy = "id"
حيث id هو اسم الحقل المراد عمل فهرس عليه
أشرف خليل
شكرا أخي مصراوي وأشرف
نعم أستخدم ado فقط أريد أعرف هل يمكن عمل ذالك يعني بكتابة أمر sql مثل create index
أو بإستخدام recordset بأحد الطريقتين
بالنسبة لطريقة SQL كيف يمكن كتابة الامر لأني أعرف كتابة الأمر بالنسبة للأوراكل ولم ينفع مع access لا أدري لماذا
أو بالنسبة للطريقة الثانية ما هي الصفة التي يجب أن أعدلها ؟
وجزاكما الله خير
من ملف التعليمات :
ملاحظة بالنسبة إلى قواعد البيانات غير الخاصة بـ Microsoft Jet فإن مشغّل قاعدة بيانات Microsoft Jet لا يدعم استخدام CREATE INDEX (إلا لإنشاء فهرس زائف على جدول مرتبط لـ ODBC) أو أي من عبارات لغة تعريف البيانات (DDL). استخدم أساليب Create في DAO عوضاً عن ذلك.
بناء الجملة :
CREATE [ UNIQUE ] INDEX index
ON table (field [ASC|DESC][, field [ASC|DESC], ...])
[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]
index اسم الفهرس الذي يجب إنشاؤه.
table اسم الجدول الموجود الذي سيحتوي على الفهرس.
field اسم الحقل أو الحقول التي يجب فهرستها. لإنشاء فهرس بحقل واحد، عليك سرد اسم الحقل بين أقواس بعد اسم الجدول. لإنشاء فهرس متعدد الحقول، عليك سرد اسم كل حقل يجب تضمينه في الفهرس. لإنشاء فهارس تنازلية، استخدم الكلمة المحجوزة DESC؛ وإلا فيفترض أن الفهارس تصاعدية.
تنويهات :
لمنع القيم المكررة في الحقل أو الحقول المفهرسة لسجلات مختلفة، استخدم الكلمة المحجوزة UNIQUE.
في البند الاختياري WITH يمكنك فرض قواعد التحقق من الصحة. يمكنك :
* منع الإدخالات الفارغة في الحقل أو الحقول المفهرسة للسجلات الجديدة باستخدام الخيار DISALLOW NULL.
* منع السجلات ذات القيم الفارغة في الحقل أو الحقول المفهرسة من تضمينها في الفهرس باستخدام الخيار IGNORE NULL.
* تعيين الحقل أو الحقول المفهرسة كـ مفتاح أساسي باستخدام الكلمة المحجوزة PRIMARY. وهذا يدل ضمناً على أن المفتاح فريد، بحيث يمكنك تجاهل الكلمة المحجوزة UNIQUE.
يمكنك استخدام CREATE INDEX لإنشاء فهرس زائف على جدول مرتبط في مصدر بيانات ODBC، مثل ملقم Microsoft® SQL Server، ليس لديه فهرس. ولست بحاجة إلى إذن أو وصول إلى الملقم البعيد لإنشاء الفهرس الزائف، ولا تكون قاعدة البيانات البعيدة على علم بالفهرس الزائف وهي لا تتأثر به. وعليك استخدام بناء الجملة نفسه للجدول الأصلي والجدول المرتبط. وبإمكان إنشاء فهرس زائف على جدول قد يكون عادة للقراءة أن يكون مفيداً بشكل خاص.
يمكنك أيضاً استخدام عبارة ALTER TABLE لإضافة فهرس بحقل واحد أو متعدد الحقول إلى جدول، ويمكنك استخدام عبارة ALTER TABLE أو عبارة DROP لإزالة فهرس تم إنشاؤه بواسطة ALTER TABLE أو CREATE INDEX.
ملاحظة لا تستخدم الكلمة المحجوزة PRIMARY عند إنشاء فهرس جديد على جدول له مسبقاً مفتاح أساسي؛ فسيؤدي قيامك بذلك إلى حدوث خطأ.
مثال عبارة CREATE INDEX
ينشئ هذا المثال فهرساً يتألف من الحقلين Phone وExtension في الجدول Employees:
Sub CreateIndexX1()
Dim dbs As Database
Set dbs = OpenDatabase("Northwind.mdb")
dbs.Execute "CREATE INDEX NewIndex ON Employees " _
& "(HomePhone, Extension);"
dbs.Close
End Sub
ينشئ هذا المثال فهرساً على الجدول Customers باستخدام الحقل CustomerID ولا يمكن أن تكون البيانات نفسها لسجلين في الحقل CustomerID كما أن القيم الفارغة غير مسموح بها.
Sub CreateIndexX2()
Dim dbs As Database
Set dbs = OpenDatabase("Northwind.mdb")
dbs.Execute "CREATE UNIQUE INDEX CustID " _
& "ON Customers (CustomerID) " _
& "WITH DISALLOW NULL;"
dbs.Close
End Sub
ولكم تحياتي
أبو حمود
هل ملف التعليمات لديك مختلف عما لدينا ؟؟
هل تستخدم MSDN مثلا ؟؟
ما وضعته هنا كنت قد نسخته منذ فترة من ملف التعليمات ولست متأكداً أي اصدارات الأكسس وإن كان يغلب على ظني أنه 2000 .
ولك تحياتي
ما هي طريقة حفظك لمثل هذه الاشياء
هل تصنفها فى برنامج معين مثلا ، أم تخزنها كملفات منفصلة ؟
اضع كل ما احصل عليه من هذا المنتدى ومن غيره من المواقع في مستند وورد واحد مرتب حسب الموضوع مع وضع عنوان مناسب له ، ولكن لما كبر المستند وتضخم واصبح البحث يأخذ وقتاً وكذلك الحفظ قمت بتقسيمه إلى عدة مستندات .
وقد نصحت الأخوة بذلك مراراً لأن الشخص مهما بلغ من قوة الحفظ لن يستطيع حفظ كل هذه الأكواد وكل حلول هذه المشاكل وكل هذه المعلومات ولكن بالكتابة يكون كل شيء أمامك متيسر ومشروح لطريقة عمله وكيفية تشغيله ... ثواني وتجد الكود الذي تريد جاهز مع طريقة عمله .
طريقة جيدة اليس كذلك ؟
ولك تحياتي
هل جربت هذا البرنامج
http://vbart.brinkster.net/OurWork/Free/VB...-CodeManger.asp
لا لم أجربه .
ولكن لا اعتقد أن هناك برنامج يعطيني ميزات الوورد فأنا ادرج صور وملفات البرامج مضغوطة واجد فيه كل ما اريد .
ولك تحياتي
هذا الموضوع مغلق.
