الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلتى مع DAO 3.6 واعادة ترتيب حقل ترقيم تلقاائي

مغلق
بدأه ah_afify في 21 سبتمبر 2003 · 7 رد · 740 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوه الاعزاء اصدقاء المنتدى

هناك كود لاحد الاخوة صديق المنتدى مفرج

Private Function valp()

Dim REC As Recordset

Dim DB As Database

Set DB = CurrentDb()

Set REC = DB.OpenRecordset("اسم الجدول")

REC.AddNew

REC!per_id = 0

REC.Update

End Function[/code2

وقد عدله الاخ العزيز بوحمود بالكود التالى لكى يعيد الترتيب مع اضافة الارقام الناقصة بعد الحذف وظهور مقياس للتقدم بالكود التالي

Dim عدد_السجلات, I

Dim القيمة_المعادة

Dim VarReturn As Variant, str As String

عدد_السجلات = DMax("[م]", "ss")

str = "تقدم عملية الإضافة ....."

VarReturn = SysCmd(acSysCmdInitMeter, str, عدد_السجلات)

Dim REC As Recordset

Dim DB As Database

Set DB = CurrentDb()

Set REC = DB.OpenRecordset("ss")

For I = 1 To عدد_السجلات

القيمة_المعادة = DLookup("[م]", "ss", "[م]=" & I)

If IsNull(القيمة_المعادة) Then

REC.AddNew

REC![م] = I

REC.Update

End If

VarReturn = SysCmd(acSysCmdUpdateMeter, I)

Next I

VarReturn = SysCmd(acSysCmdRemoveMeter)

REC.Close

DB.Close

ولقد نصحنا الاخ بو حمود لاستخدام DAO 3.6

وفعلاً اضفتها ولكن الكود لم يعمل معى واظهر رسالة "13"RUN-TIME ERROR

TYPE MISMATCH

فاين الخلل : على الرغم من ان كل حقول الجدول خاصية مطلوب هى (لا)

وللجميع تحياتى

#2

عزيزي

يبجب أن تميز نوع المكون الذي سوف تستخدم عند استخدام كائناته!!!

الكائن: Recordset المطلق يتزاحم في استقباله كل من DAO و ADO . وعليه

يجب أن تحدد أنت من سيستقبل هذا الكائن بهذة الطريقة:

DAO.DataBase

DAO.Recordset

أو

ADODB.Connection

ADODB.Recordset

تحياتي

تم تعديل هذه المشاركة بواسطة Gaham في 21 سبتمبر 2003 في 07:22

#3

الاخ العزيز gaham

شكرا على ردك الغالى ولكننى ضعيف فى الاكواد ولم افهم ما قلته واحتاج لحل هذه المشكلة واذا كان عندك مثال جاهذ يحتوى على طلبى انت او احد الاصدقاء فاكون شاكر جدا ولك تحياتى

#4

عزيزي

قم باستبدال التالي:

Dim REC As Recordset

Dim DB As Database

ليصبح:

Dim REC As DAO.Recordset

Dim DB As DAO. Database

هذا كل مافي الأمر

عفوا لا أستتطيع عمل مثال لك، لأن خاصية الارفاق غير متاحة.

تحياتي

#5

اخى العزيز gaham

لك منى ومن كل اصدقاء المنتدى كل الشكر

واشكرك على اهتمامك وسوف افعل ما فى ردك واوافيك بالنتيجة إن شاء الله وادعو لك بالتوفيق كما ادعوا لمنتدانا بالشفاء وفتح باب الارفاق حتى تحل مشاكلنا جميعا

وشكرا

#6

الاخ العزيز gaham

الطريقة حسب ردك اشتغلت معى ولكن ما اريده ليس حسب نتيجة الاخ العزيز بو حمود

لانها بمجرد اضافة سجل جديد بعد الحذف ياخذ رقم اخر سجل بعد السجلات المحذوفة ولكن يضيف عدد من السجلات الفارغة مرقمه من 1 حتى الرقم قبل الاخير

وكلها سجلات فارغة ولا حاجة لنا بها

حيث ما اريده هو الرجوع بالترقيم الى الرقم 1 بمجرد ادراج سجل جديد بعد الحذف وتشغيل الكود السابق

فمن عنده حل فليوافينا به ولكم منى كل الشكر

#7

عزيزي

هناك طرق عديدة لعمل الترقيم التلقائي المخصص.

أرجو أن توضح لى هدفك من استعماله حتى أتمكن من مساعدتك على الوجه المطلوب.

تحاتي

#8

اخى العزيز gaham

تحية عطره

ما اريده هو عند حذف سجل او اكثر من احد الجداول بالنقر على ذر امر يعود الترتيب التلقائي مرة اخرى بمعنى

اذا كان عندى السجلات 1،2،3،4،5،6،7،8،9،10 مثلاً وحذفت السجل رقم 5 ، 8

اريد زر امر به كود بالنقر عليه يصبح السجل 6 هو 5 والسجل 7 هو 6 والسجل 8 هو 7 وهكذا وعند رؤية السجلات اجد 8 سجلات فقط مرتبة من 1 حتى 8 وعند ادخال سجل جديد يأخذ الرقم 9 وهكذا

واذا كنت اعمل كود لنسخ القاعدة بالكامل فى مكان آخر واردت مسح السجلات القديمه من النسخة الجديدة لادخال بيانات من جديد (اريد زر يعيد ترتيب الحقل التلقائى من 1 مع اول سجل جديد ادخله بدون استخدام الضغط والاصلاح)

ارجو ان يكون المطلوب واضح ولك تحياتى

بريدى الالكترونى هو afify1965@hotmail.com

الف شكر مرة اخرى على اهتمامك

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…