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

عمل ترقيم متسلسل في استعلام الاكسس


ghassan1959

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

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

رابط هذا التعليق
شارك

على اعتبار اسم الجدول tbl1 وهذا الجدول يحتوي على ترقيم تلقائي اسمه id

ادرج ضمن الاستعلام الحقل id

والصق في حقل جديد في الاستعلام هذا السطر :

urAoutoNm: DCount("ID";"tbl1";"ID <=" & [ID])

  

  • Like 1
رابط هذا التعليق
شارك

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

وهذه مشاركة مع ومعلمي الحبيب @ابوخليل أيضاً . إذا أردت الحصول على ترقيم تسلسلي منتظم بغض النظر عن الفلاتر أو عوامل التصفية داخل الاستعلام سيتوجب عليك استخدام اسلوب الاستعلام المتداخل أو الفرعي ( استعلام داخل استعلام ) وهنا الحاجة لإرسالك ملف :smile: .

 

هذا من وجهة نظري والله أعلم

 

  • Like 1
رابط هذا التعليق
شارك

32 دقائق مضت, ghassan1959 said:

هل من الممكن ارسال الملف مع التقدير والاحترام

أخي العزيز غسان  @ghassan1959 🙂 .. قم أنت بإرسال ملفك وفيه الجدول والاستعلام المطلوب ترقيمه بحيث يكون فيه كم من البيانات 🙂 

  • Like 1
رابط هذا التعليق
شارك

3 دقائق مضت, ghassan1959 said:

حاولت ارسال الملف بس حجم الملف كبير ولم يتم الارسال

 

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

رابط هذا التعليق
شارك

وعليكم السلام أخي غسان .. مع أن الملف بدون بيانات ولكن عبأته لك ببيانات عشوائية .. وطبقت عليه فكرة والدنا العزيز @ابوخليل 🙂 

والدور على معلمنا الحبيب @Foksh ليطبق فكرته 😊👌

image.png.bdc3c8817e0f7cd55bc7f68051cf9a21.png

ghassan.accdb

  • Like 2
رابط هذا التعليق
شارك

6 ساعات مضت, Moosak said:

والدور على معلمنا الحبيب @Foksh ليطبق فكرته 😊👌

 

أهلاً مهندسنا الغالي ..

بدايةً صدقاً ليس تعدياً ولكن كانت فكرتي ان يتم انشاء استعلام مبني على استعلام فرعي بحيث عند الفلترة على سبيل المثال في المرفق الذي وضعه أخونا غسان - ( مع إنه فارغ ولا بيانات :rol: ) وجزاك الله خيراً على طرحك للبيانات - يتم الترقيم حسب القيم الموجودة في الاستعلام النهائي . لذا في مديول بسيط نضع الكود التالي :-

Dim Counter As Long

Function GetSequentialNumber() As Long
    Counter = Counter + 1
    GetSequentialNumber = Counter
End Function

وقمت بانشاء نموذج بسيط يحتوي مربع نص كمثال على الفلترة بالتاريخ في الحقل "تاريخ المباشرة" وزر لتنفيذ الأمر بأن يتم انشاء استعلام ( داخلي ) واستعلام مبني على الاستعلام الداخلي لعد السجلات وإدراج الترقيم التسلسلي في حقل جديد .

 

في الزر ، وضعت هذا الكود ليقوم بالمهمة :-

    Dim db As DAO.Database
    Dim qdf As DAO.QueryDef
    Dim sql As String
    Dim userCriteria As String
    Dim whereClause As String

    If Not IsNull(Me.Txt_Date) And Trim(Me.Txt_Date) <> "" Then
        userCriteria = Trim(Me.Txt_Date)
        whereClause = "WHERE M.[تاريخ المباشرة] = '" & Format(dateValue(userCriteria), "dd-mm-yyyy") & "'"
    Else
        whereClause = ""
    End If

    sql = "SELECT (SELECT COUNT(*) FROM Table1 AS T " & _
          "WHERE T.ID IN (SELECT ID FROM Table1 AS M " & _
          whereClause & " ) AND T.ID <= M.ID) AS [رقم تسلسلي], " & _
          "M.ID, M.[اسم الموظف], M.[اسم الدائرة], " & _
          "M.[تاريخ المباشرة], M.[العنوان الوظيفي], " & _
          "M.[الدرجة الوظيفية] " & _
          "FROM Table1 AS M " & _
          whereClause & ";"

    Set db = CurrentDb
    On Error Resume Next
    db.QueryDefs.Delete "Foksh"
    On Error GoTo 0

    Set qdf = db.CreateQueryDef("Foksh")
    qdf.sql = sql
    qdf.Close

    DoCmd.OpenQuery "Foksh"

حيث يتم انشاء استعلام داخلي ( مع أو بدون المعيار ) ، ثم يتم انشاء استعلام جديد Foksh ويتم فتحه ليتم ترقيم السجلات بتسلسل حسب عددها وليس حسب رقمها في الجدول .

 

الملف المرفق :

 

Ghassan - 1.accdb

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information