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

أريد كود لمعرفة أكبر قيمة موجودة فى حقل ما وليكن حقل Id

مغلق
بدأه الأخ المسلم (أسامه عبد الصادق) في 30 سبتمبر 2007 · 7 رد · 2,117 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أريد كود لمعرفة أكبر قيمة موجودة فى حقل ما وليكن حقل ID مثلاً .

للتحكم فى عدم تكرار الأرقام

ولو يمكن حل مشكلة الترقيم التلقائى لكان أفضل

حيث أن الترقيم يبدأ من حيث تم الوقوف حتى لو تم مسح كل السجلات وكان هناك مسجل 50 سجل ثم حذفت كل السجلات يبدأ من 51 وهذه التى اريد حلها .

[/وسط]

#2

السلام عليكم ورحمة الله وبركاته

يا اخي في حالة انت تستخدم في sql server فانها تشتغل على طول

ولكن عرف الحقل identity ======> yes وان شاء الله يكون الحل

والسلام تحياتي

#3

أنا أستخدم أكسس مع العلم أنى أستخدم داتا كنترول

وأريد دالة وليكن مثل دالة Max لمعرفة أكبر قيمة موجودة فى حقل ما وبهذا أتجنب مشاكل الأوتو نبمير

وشكراً

[/وسط]

#4

يمكنك استخدام الدالة max في استعلام مثل

rs.open  "select  max(id)  from  mytable"  ,yourcon
msgbox  rs(0)

او اذا كان الجدول موجود عندك في datacontrol يمكنك الانتقال الى الاخر ومعرفة اكبر رقم

data1.recordset.movelast

msgbox rs!id

#5

أصل المشكلة هى أن آخر سجل ليس الأكبر وقد جربت هذه الطريقة من قبل

[/وسط]

#6

الأخ الفاضل ...

هناك العديد من الحلول للتغلب على مشاكل الترقيم التلقائى، راجع: /index.php?showtopic=118581

شكراً

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#7

السلام عليكم

جزاكم الله خيراً على ردودكم

ولكن كل الذى احتاجة كود واحد لمعرفة أكبر رقم فى حقل ما والمشكلة أنى استخدم داتا كونترول وهى ده المشكلة وأريد حلاً .....

[/وسط]

#8

أخي الكريم ، موضوع الترقيم التلقائي في Access كما قلت عند حذف كافة السجلات يبداً الترقيم من آخر رقم تم إضافتة ، علي سبيل المثال :

قمت بإدراج 50 سجل ، يكون الترقيم من 1 الي 50 !!!!

في حالة حذف الـ 50 سجل ويتم إضافة سجل جديد يبدأ الترقيم من 51 !!!!

إذاً فما عليك إلا بإجراء حل من الإثنين :

الحل الأول :- أن تستخدم أسلوب تحديد أكبر رقم في حقل من نوع رقمي ومن ثم إضافة قيمة واحدة علية كما يلي :

Select IIF(Max(Emp_ID) Is Null,0,Max(Emp_ID)) + 1

From Emp;

تمتاذ هذه الطريقة بالقدرة علي التحكم في الحقل من خلال الكود من داخل الفيجوال بيزيك أو أي لغة برمجة أو حتي من داخل الأكسيس نفسة ... ولكن يعاب علية إنشغال المبرمج كل مرة بضبط الترقيم التلقائي ...

الحل الثاني : أن تقوم بإجراء تعديل لحقل الترقيم التلقائي بعد التأكد من حذف كافة السجلات بجدول البيانات كما يلي :

Alter Table Emp Alter

Column Emp_ID Counter;

يمتاذ هذه الطريقة بسهولة بناء حقل ترقيم ستلقائي دون النظر إلية مرة أخري ..

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

وإذا تم التعديل دون الحذف يبدأ الترقيم من البداية ، وإذا كان الحقل مفتاح رئيسي سيعطي خطأ لتكرار الرقم الكودي بحقل الترقيم التلقائي

أنظر المثال المرفق

DB.rar

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

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

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

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

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

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

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