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

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

قام بنشر

عندي جدول ينكون من حقلين الاول رقم العضوية ( المفتاح الرئيسي) والثاني اسم العضو

مثال:

رقم العضوية الاسم

2 سالم

5 محمد

100 احمد

3 ايراهيم

70 سعيد

مع ملاحظة رقم العضوية ليس بالترتيب ويكون تلقائيا

عملت نموزج لهذا الجدول. لكن السؤال اذا اردت ان ادرج شخص بين شخصين كيف العمل؟؟. لنفرض اني اريد ان ادخل شخص جديد بين احمد وابراهيم و بعد ان اعطيه امر ادراج وبعد ان اضع راس المؤشر على احمد , يقوم بفتح سجل فارغ بين احمد وابراهيم بحيث يمكني من ادراج اسم عضو جديد اسمه طاهر مثلا

حسب علمى الاكسس يدرج السجل الجديد فى اخر الجدول؟؟

اريد حل لهذه الاستفسار فى نموذج وليس فى جدول

من يتصدق على وله الاجر؟

  • Thanks 1
قام بنشر

الاستاذ امير عاطف

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

المثال الذى ذكرته لايشبه ما اريده. لان المثال يذكر انه يتم زيادة رقم واحد على رقم العضو

وهذا غير مطلوب فى االاستفسار الذى طلبته انا

فالاجو منك المساعدة وشكرا ولك الاجر

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

بسم الله

يجب ان يكون التسلسل رقمي وليس نصي ثم هناك عدة طرق اما ان تضع المؤشر على خانة الرقم في النموذج ثم في اعلا الفورم ترتيب A-Z او Z-A ترتيب تصاعدي او تنازلي ، و الطريقة الافضل هي ان تذهب الى الجدول المرتبط بالفورم في تصميم الجدول تحدد حقل الرقم وتجعله مفهرس بتكرار ( INDEX ON ) و أن يكون الحقل رقمي فقط وليس رقم تلقائي ثم تحفظ التعديل ..

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

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

تحياتي _______> جزيرة الاسلام

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

المثال المرفق لاعادة الترقيم فى حقل رقمي لجدول

بناء علي تحديد رقم لسجل جديد من نموذج

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

المثال ليس لي ، و للأسف لا أذكر صاحبه :SHY:

و الكود به

Private Sub ِAmr1_Click()


  Dim dbs As Database

  Dim rst As Recordset

  Dim vNum, CountNum, NewNum As Long

  Dim FoundNewNum

  Set dbs = CurrentDb

  Set rst = dbs.OpenRecordset("SELECT main.TID, main.Name FROM main ORDER BY main.TID DESC;", dbOpenDynaset)

   

  CountNum = DCount("TID", "main")

  NewNum = Me.txt2

  FoundNewNum = DLookup("TID", "main", "[TID]= [forms]![frm1]![txt2]")


If IsNull(FoundNewNum) Then

With rst

 .AddNew

!TID = NewNum

   !Name = Me.txt1

   .Update

  

End With

Exit Sub

End If

  

 With rst

   For vNum = 1 To CountNum

      .Edit

      If !TID >= NewNum Then !TID = !TID + 1

      .Update

     .MoveNext

    Next vNum

  

   .AddNew

   !TID = NewNum

   !Name = Me.txt1

   .Update

  

  End With


  rst.Close

  Set dbs = Nothing

End Sub

حيث TID هو حقل الترقيم

Renumber.zip

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