اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

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

والسؤال الذي يدور بذهني متي ينبغي أو يتحتم علي أختيار نوع الترقيم لحقل رقم

أي كيف أحدد نوع الحقل المناسب ومتي اختار الترقيم التلقائي أو رقم حقل رقم

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

ارجو الإفادة تكرماً

قام بنشر

وعليكم السلام 🙂

 

كل جدول يجب ان يحتوي على رقم تلقائي (وتاريخ تلقائي ، حيث نضع القيمة الافتراضية = ()Now ) ، مفهرس ، ومفتاح اساس ،

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

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

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

 

الخطأ الشائع بين المبرمجين ، انهم يستعملون ويعتمدون على حقل الرقم التلقائي في برنامجهم لتسلسل الارقام ، وهذا غير صحيح ،

 

اذا اردت ان تعمل حقل تسلسل/ترقيم ، فهذا يعتمد على نوع البيانات في الحقل وطولها ،

فإذا كانت ارقام فقط ، فتستطيع استعمال حقل رقم (نوعه طويل) ، واذا كان طولها يصل الى 13 خانه او اكثر ، فتستطيع استعمال حقل رقم (نوعه Decimal) ، كما بإمكانك استعمال حقل نص ، والذي ستحتاج ان تتعامل معه بطريقة برمجية لزيادة وتنقيص التسلسل.

اما اذا كان رقم التسلسل يحتوي على حروف مع ارقام ، فيجب استعمال حقل نص (يمكن استعمال حقل الرقم ، اذا اردنا التنسيق يكون فيه حروف ثابته قبل الرقم او بعده ، ولكنه مجرد تنسيق والحقل سيحتوي الارقام فقط).

 

جعفر

 

 

  • Like 1
قام بنشر (معدل)

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

1 ساعه مضت, jjafferr said:

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

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

1 ساعه مضت, jjafferr said:

الخطأ الشائع بين المبرمجين ، انهم يستعملون ويعتمدون على حقل الرقم التلقائي في برنامجهم لتسلسل الارقام ، وهذا غير صحيح

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

تم تعديل بواسطه محمد صلاح1
قام بنشر
منذ ساعه, jjafferr said:

الخطأ الشائع بين المبرمجين ، انهم يستعملون ويعتمدون على حقل الرقم التلقائي في برنامجهم لتسلسل الارقام ، وهذا غير صحيح ،

 

ما هو الصحيح أخي @jjafferr ??

قام بنشر
منذ ساعه, محمد صلاح1 said:

1. نفهم من ذلك أن لابد من الترقيم التلقائي للربط بين الجداول

2. الحاجة للمحافظ علي تسلسل الأرقام بدون نواقص

1.

ابداً ، هذا غير صحيح !!

 

في الجدول (واحد مثلا) اعمل حقل ترقيم/تسلسل من نوع رقم/نص ، ثم برمجيا قم بالتحكم بإضافة/خصم رقم ، للحصول على الرقم المطلوب ،

وفي الجدول (اثنين مثلا) اعمل حقل من نوع رقم/نص (نفس نوع الحقل في الجدول "واحد") ، ثم اربط الجدولين بعلاقة (واذا عملت علاقة بين حقلين ، فيجب ان يكون الحقل مفهرس ، لسرعة جلب بيانات الجدولين) ،

 

2.

2 ساعات مضت, jjafferr said:

والذي ستحتاج ان تتعامل معه بطريقة برمجية لزيادة وتنقيص التسلسل

 

جعفر

قام بنشر (معدل)
23 دقائق مضت, jjafferr said:

في الجدول (واحد مثلا) اعمل حقل ترقيم/تسلسل من نوع رقم/نص ، ثم برمجيا قم بالتحكم بإضافة/خصم رقم ، للحصول على الرقم المطلوب ،

وفي الجدول (اثنين مثلا) اعمل حقل من نوع رقم/نص (نفس نوع الحقل في الجدول "واحد") ، ثم اربط الجدولين بعلاقة (واذا عملت علاقة بين حقلين ، فيجب ان يكون الحقل مفهرس ، لسرعة جلب بيانات الجدولين) ،

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

23 دقائق مضت, jjafferr said:
1 ساعه مضت, محمد صلاح1 said:

1. نفهم من ذلك أن لابد من الترقيم التلقائي للربط بين الجداول

2. الحاجة للمحافظ علي تسلسل الأرقام بدون نواقص

1.

ابداً ، هذا غير صحيح !!

2- إذا ما أهمية الترقيم التلقائي العملية في غير التسلسل ما دام لا يمكن الاعتماد عليه ومتي أحتاج لاستخدامه تحديداً عن غيره ؟

تم تعديل بواسطه محمد صلاح1
قام بنشر
36 دقائق مضت, jjafferr said:

في الجدول (واحد مثلا) اعمل حقل ترقيم/تسلسل من نوع رقم/نص ، ثم برمجيا قم بالتحكم بإضافة/خصم رقم ، للحصول على الرقم المطلوب ،

وفي الجدول (اثنين مثلا) اعمل حقل من نوع رقم/نص (نفس نوع الحقل في الجدول "واحد") ، ثم اربط الجدولين بعلاقة (واذا عملت علاقة بين حقلين ، فيجب ان يكون الحقل مفهرس ، لسرعة جلب بيانات الجدولين)

تفضل

1088.Clipboard01.jpg.f38bd53defe409bcb2850a47b10be339.jpg

.

1088.Clipboard02.jpg.37dd60bc1914e766329ed73800216f00.jpg

.

1088.Clipboard03.jpg.3ae6e631daa1b9f6dfc963375cb39f87.jpg

.

1088.Clipboard04.jpg.c5d890390232c76cca2f03829ab27043.jpg

.

وهذا كود اضافة التسلسل


    DoCmd.GoToRecord , , acNewRec
    
    Me.ID = Nz(DMax("[ID]", "tbl_1"), 0) + 1

.

 

 

48 دقائق مضت, محمد صلاح1 said:

2- إذا ما أهمية الترقيم التلقائي العملية في غير التسلسل ما دام لا يمكن الاعتماد عليه ومتي أحتاج لاستخدامه تحديداً عن غيره ؟

لأنه لايعمل الذي تريده بالتسلسل ، فما معناه انه لا يمكن الاعتماد عليه !!

بالعكس ، فهو يمكن الاعتماد عليه 1000% ، وهو ركيزة جلب البيانات وبسرعة 🙂

 

اذا اردنا قيمة الحقل DOB ، فعندنا طريقتين لجلب هذه المعلومة :

    Me.DOB = DLookup("[DOB]", "tbl_1", "[Auto_ID]=" & Me.Auto_ID)
    Me.DOB = DLookup("[DOB]", "tbl_1", "[Full_Name]='" & Me.Full_Name & "'")

 

هنا يأتي قوة وسرعة حقل الترقيم التلقائي (المفهرس والمفتاح الاساس) ،

فأي الطريقتين تعتقد تكون اسرع ؟

 

جعفر

1088.zip

  • Thanks 1
قام بنشر

أ @jjafferr السلام عليكم

أعذرني إذا عدت إليك فمازال لدي حلقة مفقودة تحتاج لمزيد توضيح

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

46 دقائق مضت, jjafferr said:
2 ساعات مضت, محمد صلاح1 said:

2- إذا ما أهمية الترقيم التلقائي العملية في غير التسلسل ما دام لا يمكن الاعتماد عليه ومتي أحتاج لاستخدامه تحديداً عن غيره ؟

لأنه لايعمل الذي تريده بالتسلسل ، فما معناه انه لا يمكن الاعتماد عليه !!

بالعكس ، فهو يمكن الاعتماد عليه 1000% ، وهو ركيزة جلب البيانات وبسرعة 🙂

إذا ماذا سوف يضيرنا إذا غيرنا حقل Auto_ID من الترقيم التلقائي إلي رقم صحيح طويل في الجدولين في التأثير علي السرعة أو العلاقة بين الجدولين فلقد غيرت ذلك في المثال ولم الاحظ أي تغيير عند إضافة سجل جديد (كما يظهر بالصورة) بل علي العكس أعطاني سماحية مرنة لتغيير أرقام سجلات الحقل Auto_ID بعد تحويله لرقم صحيح طويل وبالطبع كونه مفتاح أساسي مفهرس لا يقبل التكرار فلن يكرر رقم

وهل للترقيم التلقائي تأثير مباشر علي العلاقات بعيداً عن مسألة السرعة وأي فروق أخري لصالح أستخدامه دون غيره وشكرا

ترقيم.jpg

قام بنشر

 

2 ساعات مضت, محمد صلاح1 said:

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

انا لم اقل هذا ، وانما قلت:

7 ساعات مضت, jjafferr said:

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

 

سؤال 1: لماذا لا تستعمل الحقل من "نوع مرفق" للترقيم التلقائي ؟

ج1: لأن هذا الحقل له عمل ، وذلك الحقل له عمل آخر.

 

سؤال 2: لماذا نحن بحاجة الى كل هذه الانواع من الحقول: نص ، رقم ، تاريخ ، مذكرة ...  ، ألا يكفي ان يكون عندنا حقل من نوع نص فقط ، لأننا يمكن استعماله لجميع انواع البيانات ؟

ج2: لأننا نستخدم شيء اسمه قاعدة بيانات ، وقاعدة البيانات معمولة على اساس هذه الحقول.

 

خلاصة القول: اذا اردت ان لا تواجه مشكلة في حقل التسلسل ، فلا تستعمل حقل "الترقيم التلقائي".

 

 

2 ساعات مضت, محمد صلاح1 said:

إذا ماذا سوف يضيرنا إذا غيرنا حقل Auto_ID من الترقيم التلقائي إلي رقم صحيح طويل

لا ضرر ، فانت الآن تتعامل مع حقل من نوع رقم 🙂

 

 

2 ساعات مضت, محمد صلاح1 said:

وهل للترقيم التلقائي تأثير مباشر علي العلاقات

حقل "الترقيم التلقائي" ، والعلاقة بين هذا الحقل وحقل رقم من جدول آخر ، كأي علاقة بين جدولين.

 

جعفر

  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information