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

كيف يمكن استخراج رقم السجل المضاف ؟

مغلق
بدأه POWER _GIRL في 5 أبريل 2005 · 9 رد · 942 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

عند كتابة جملة إضافة للـSQL

والترقم تلقائي لرقم الفاتورة

كيف يمكنني الحصول أومعرفة الرقم مع إضافة السجل

تحياتي

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#2

قومى بانشاء Trigger لاحضار رقم السجل الحالى

Create Trigger RowNumber
/*Replace MyTable With Your Table Name*/ on MyTable
for Insert
as select ident_current('MyTable')
go

ايضاً يمكنك مراجعة نفس الفكره على هذا الرابط

كيفية الحصول على اخر رقم ID

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#3

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

بالنسبه للكود انا استخدم قاعده البيانات اكسس

<_< لا اعتقد انه يمكن لي كتابه Trigger فجمل SQL الخاصه بها

اما أخر سجل فلا ينفع لأن البرنامج يعمل على شبكة وحدوث الخطأ في هذه الحال وارد

فيجب احضار رقم السجل الحالي

أرجوا المساعدة

وشكرا أستاذي طارق إبراهيم

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#4

الموضوع يخص منتدى الاكسيس

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#5

بل جمل SQL فانا استخدم V.6 كتطبيق

ولكن ان كنت ترى هذا فأرجوا نقل الموضوع

تحياتي

تم تعديل هذه المشاركة بواسطة POWER _GIRL في 8 أبريل 2005 في 01:32

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#6

لمعرفة آخر رقم

;SELECT Max(Nvc.NvcNo) AS LastNumber FROM Nvc

لمعرفة الرقم الذي يليه بدون أن يتم تسجيله بعد

;SELECT Max(Nvc.NvcNo)+1 AS NextLast FROM Nvc

#7

شكرا على الرد

ولكن البرنامج شغال على شبكة وعدد المحاسبين 4

يعني ممكن يقع خطأ بأن يأخذ اكبر قيمه + 1 ويكون المحاسب الاخر فنفس اللحظه قام بأخذ نفس الرقم الجديد

احتمال الخطأ وارد

ما رأيك!

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#8

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

في قائمة Tools > Options > Advanced

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

:(Refresh Interval (sec

وهي عبارة عن توقيت دورات التحديث التي ينبغي على أكسس القيام بها لفك إغلاق الجداول و السجلات (بالثانية)

Number of Update Retries

و هي عبارة عن عدد المحاولات التي ينبغي لأكسس أن يعيدها لفك الإغلاق عندما تتعثر محاولاته خاصة ضد الإغلاق من All Records و هي أكثرها صرامة

و هي بالمناسبة ميزة موجودة في خصائص الجداول و التقارير و النماذج و الاستعلامات و يمكن التحكم يها برمجياً أيضاً

على سبيل المثال Forms("Invoices").RecordLocks = 0

حيث

صفر = فك الإغلاق و تحرير الجدول أو السجلات

1 = إغلاق جميع السجلات

2 = إغلاق السجلات الواقعة تحت التعديل فقط

ففي الحالة التي حاولت فهمها منك يفضل إغلاق جميع السجلات أي المستوى 1 فحتى الوحدات النمطية تعجز عن تحريره

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

و إذا أردت الخروج من هذه المتاهة يمكنك اللجوء إلى أساليب أخرى كأن تجعلي في النموذج المعني مربع نص يكون مصدر بياناته كالتالي

(()Control Source = DMax("[invoiceNumber]", "Invoices","[invoiceDate]" <=Now

بهذه الطريقة ستحصلين على قيمة في حقل رقم الفاتورة من جدول الفواتير و الأحدث زمنياً ، فإذا أضفت ماكرو أو كود Requery على مربع النص أو Refresh في Timer على مستوى النموذج ستحصلين ضمان التحديث أولاً بأول .

#9

( بهذه الطريقة ستحصلين على قيمة في حقل رقم الفاتورة )

أقصد ستحصلين على أعلى قيمة في حقل رقم الفاتورة .

#10

:blink: يعطيك ربي الف عافيه

معلومات ........فعلا تشكر عليها :lol:

سؤطبق كلامك واعلمك بالنتائج بإذن الله تعالى

وشكرا على مساعدتي

والله يوفق دايما يارب

تحياتي لك-----------------------------------

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

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

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