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

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

قام بنشر

اعزائي الاعضاء

 

لدي حقل رقمي ( مفتاح ) و ليس ترقيم تلقائي ( ترقيم عشوائي )

اريد كود يعطي ما هي الارقام الغير مدخلة في هذا الحقل

اي لدي مثلا سجلات لها الارقام ( 1 - 2 - 4 - 8 ) في هذا الحقل

 

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

و ان يعطيني انه لا يوجد الارقام التالية ( 3 - 5 - 6 - 7 )

 

و مشكورين سلفا

:yes::jump:

قام بنشر

هناك حل مبسط يعتمد على الخطوتين التاليتين

1- قم بانشاء جدول من حقل واحد يتضمن كل الأرقام من واحد الى الرقم الذي تريده

2- قم بانشاء استعلام فرق , و ذلك كما يلي :

- اختر معالج الاستعلامات

- ثم اختر استعلام من نوع

unmached query

سيطلب منك اختيار الجدول الذي يحوي كل السجلات : اختر هنا الجدول الجديد

ثم سيطلب منك اختيار الجدول الذي يحوي البيانات الناقصة : اختر الجدول القديم

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

قام بنشر

اخي المحيط سوفت

اتمنى الاجابة امام كل استفسار :

 هل حقل الرقم متسلسل ؟

بما انه ليس ترقيم تلقائي ماهي الطريقة المستخدمة للترقيم ؟ هل مثلا باستخدام معرفة اخر رقم ثم باضافة 1 ؟ ا

هل هناك قائمة مصدر للارقم وبهذا يكون الرقم المدخل جزء منها ؟ ام ان الادخال يدويا ولا يعتمد على مصدر للارقام ؟

 

وحبذا مرفقا للفهم اكثر وللتطبيق عليه !!

 

بالتوفيق

قام بنشر

طريقة الأخ سليم ممتازة
لكن اذا ارقام قليلة يعني مثلاً من 1 - 1000 أو 2000 لكن عندما

لكن لو عندي مثلاً ارقام حسابات مثلاً يبدأ 611254xxx ف الموضوع يختلف لانه صعب انشاء جدول مكون من ××××× سجل

يا ريت اذا في حل مع الشباب

قام بنشر

حل الأخت زهرة الذي قدمه الأخ ابو خليل لايحتاج انشاء جدول

ماعليك سوى ضغط الزر لاستخراج النتائج

عموما هذا تعديل على الكود ,

1- قم بانشاء نموذج جديد ( بدون مصدر بيانات )

2-قم بانشاء مربعي نص , واحد سمه fr_n

و الثاني  to_n

3-قم بانشاء زر أمر , و ضع فيه الكود التالي ( معدل من كود زهرة ) , في حدث عند النقر

Dim mydb As Database

Dim mytbl2 As Recordset
Dim i As Double
Dim k As Double


DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE Lost_Number.* FROM Lost_Number;"
DoCmd.SetWarnings True
Set mydb = DBEngine.Workspaces(0).Databases(0)

Set mytbl2 = mydb.OpenRecordset("Lost_number")
For i = Me.fr_n To Me.to_n

If DCount("id", "t1", "[id] = " & i) = 0 Then

            With mytbl2
                .AddNew
                !missing = i
            .Update
            End With
      
    End If
 
Next i

mytbl2.Close
Set mytbl2 = Nothing

4- قم بكتابة أول رقم تريد البحث فيه و آخر رقم في مربعي النص الذين تم انشاؤهما في الفقرة رقم 2

5- شغل زر الأمر , تجد الأرقام الناقصة في الجدول Lost-numbers

قام بنشر

الحقيقة لدي فكرة استاذ رضوان

ولكن الاخ لم يرد عالاستفسارات ! لانها مطلب للفكرة !

بالتوفيق

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