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

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

قام بنشر

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

تفضل

ضع هذا الكود في وحدة نمطية


Public Function UpdateCounter()
    Dim SQL As String
    Dim Rs As New ADODB.Recordset
    Dim counter As Long

    counter = 1
    
   SQL = "SELECT IDx" & _
            " FROM table1 ORDER BY table1.Idx"
    With Rs
        .Open SQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
        Do While Not .EOF
            ![idx] = counter
            counter = counter + 1
            .Update
            .MoveNext
        Loop
        .Close
    End With
    
    Set Rs = Nothing
    
End Function

وقم باستدعائه تحت زر الامر هكذا

UpdateCounter
Me.Requery

 

test550055.mdb

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

أستاذى @AlwaZeeR

ممكن بعد اذنك الترتيب ميكونش ليه علاقة بخلية NAmex  التأثير على Id فقط
يعنى اول خلية 1 و الثانة 2 و هكذا

تم تعديل بواسطه محمد احمد لطفى
قام بنشر
7 دقائق مضت, AlwaZeeR said:

فقط تحتاج الى إضافة حقل في الجدول

ترقيم تلقائي

وفرز حسب هذا الحقل

 

test550055vv.mdb 728 \u0643\u064a\u0644\u0648 \u0628\u0627\u064a\u062a · 0 downloads

بعتذر منك استاذى 

انا مش عاوز الموضوع ليه علاقة بالترتيب او ترتيب تلقائى

فى نموذجى اعطى ارقام 1 و 2 و 3 و 4 و احتاج الى تبديل الارقام ثم ارتب حسب الاسم او رقم خاص 

ثم اعمل اعادة ترتيب 

ويكون الترتيب كما يوجد فى النموذج 

الخليه الاولى 1 
الخلية الثانيى 2 

يعنى الترتيب يكون بالاسبقية فى النموذج لا يكون مرتبط بشىء أخر 

قام بنشر

ماذا تقصد بتبديل الارقام؟

تبديل يدوي؟

ممكن تشرح الغرض واكيد سيكون حل باذن الله

 

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

هل تأذنون لي أن أشارك معكم 

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

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

test550055_2.accdb

تم تعديل بواسطه ابوآمنة
  • Like 1
قام بنشر

أساتذتى الكرام 

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

Dim i As Integer

DoCmd.GoToRecord , , acFirst

For i = 1 To 8

Me.idx = DateAdd("d", i, 1) - 1
DoCmd.GoToRecord , , acNext
Next

DoCmd.Requery

و لكن أريده ان يتوقف بانتهاء السجلات بالنموذج و ليس عند تحديده      For i = 1 To 8

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


 

test550055vv5522.rar

قام بنشر

فهم السؤال ثلثي الاجازة 

:wallbash:

42 minutes ago, محمد احمد لطفى said:

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

اعمل مربع نص وسميه مثلا 

ALLRec

ضع فيه

=Count(*)

واجعل نهاية For

هذا الحقل

For i = 1 To AllRec

لا تنس عمل إخفاء للمربع المذكور

🙂

 

  • Thanks 1
  • تمت الإجابة
قام بنشر

شكرأ أستاذى @AlwaZeeR 

 

Dim i As Integer
DoCmd.GoToRecord , , acFirst
For i = 1 To 1000
If Not IsNull(idx) Then
Me.idx = DateAdd("d", i, 1) - 1
DoCmd.GoToRecord , , acNext
End If
Next

DoCmd.Requery

توصلت الى حل بدون عمل مربع نص

قام بنشر

ما الفائدة من الرقم 1000

وماذا سيحدث لو تم الكتابة في 

Namex

وتركت 

idx 

فارغا؟

هل سيقوم بالترقيم؟؟

 

  • Thanks 1
قام بنشر
1 ساعه مضت, AlwaZeeR said:

ما الفائدة من الرقم 1000

وماذا سيحدث لو تم الكتابة في 

Namex

وتركت 

idx 

فارغا؟

هل سيقوم بالترقيم؟؟

 

مدى رقم كبير  لن يستطيع برنامجي تجاوزه 
idx دائما بها ارقام و ممكن تطبيقها على Namex وليس idx

هذا ما توصلت اليه فى النهاية حسب تفكيرى

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