اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

أستعلام لجمع القيمة السابقة


أبو وليد

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

أخي ابو وليد

 

احساسي يحسسني انه في عندك قاعدة بيانات غير المرفقه :rol:

وان اللي ذكرته انت هو جزء من المطلوب ، ولم تخبرنا الشروط التي يجب ان نشتغل عليها :rol:

وانه لما نخلي لك الرد ، عندها سترفق قاعدة بياناتك الاصلية ، وتطلب منا التعديل عليها :blink:

 

فرجاء ، لا تخلينا نشتغل مرتين :blink:

 

 

جعفر

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

شاكر لك مرورك

نعم هذا مثال عن ماريد

قاعدة البيانات كبيرة

بس المطلوب الى طريقة الحل

وهو

عمود في الاستعلام

كما هو واضح في الصورة

جمع توالي بمعنى

أتوقع انها غير ممكنه في الاكسيس بحثت وحاولت كثيرا

الا بالتحايل

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

على خير ان شاء الله :rol:

بس انا إحتمال اعمل حقل جديد في الجدول ، وادخل البيانات فيه ،

او اعمل لك جدول مؤقت ، بحيث يكون في نسخة من حقل ID الجدول الحالي علشان تربط الجدولين مع بعض في استعلام.

 

يعني العمل قد لا يمكن عمله في استعلام مباشرة :blink:

 

جعفر

 

والعمل سيتم بالكود

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

تفضل :rol:

 

استخدم زر النموذج Form1 للحصول على نتائج الاستعلام :rol:

256.1.Clipboard01.jpg.ecafe97d04a03d011c

.

والنتيجة:

256.1.Clipboard02.jpg.3f954f0a1b8d77077b

.

 

هذه الوحدة النمطية Add_5 والتي تقوم بالعمل للإستعلام:


Public RowID As Integer
Public RowVal As Integer


Function Add_5(N)
    
    'N = vol

    If Len(RowID & "") = 0 Then
        RowID = RowID + 1
    End If
    
    If RowID = 1 Then
        Add_5 = N
        
    Else
        Add_5 = N + RowVal
        
    End If
    
    RowVal = Add_5
    
End Function

.

ولكن لكي تعمل بالطريقة الصحيحة ، يجب ان نشغل الاستعلام من زر النموذج Form1 ، وحدث الرز (يعني اذا شغّلت الاستعلام مباشرة ، ستحصل على نتائج غلط):


Private Sub cmd_fAdd_5_Click()

    RowID = 0
    RowVal = 0
    
    DoCmd.OpenQuery "Query1"
End Sub

 

جعفر

256.1.Database2.accdb.zip

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

شكرا :rol:

 

جرب هذا الكود بدل السابق :


Public RowID As Integer
Public RowVal As Double


Function Add_5(N)
    
    'N = vol

'    If Len(RowID & "") = 0 Or RowID = 0 Then
        RowID = RowID + 1
'    End If
    
    If RowID = 1 Then
        Add_5 = N
        
    Else
        'Add_5 = N + RowVal + 5
        Add_5 = RowVal + 5
        
    End If
    
    RowVal = Add_5
    
End Function

 

 

جعفر

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

حياك الله :rol:

 

النتائج حاليا تُعرض في الاستعلام ، فما عندك مشكلة هناك :rol:

 

ولكن علشان نستغني عن النموذج (كل اللي يعمله هو ان يخبر الوحدة النمطية بأن بداية السجلات من هنا) ، محتاج الى تسلسل من 1 الى آخر رقم ، كبيانات حقل ،

هذه البيانات موجودة في مرفقك ، حقل Field1 ، ولكنها غير موجودة في الصورة التي وضعتها في سؤالك الاصل :blink:

 

 

جعفر

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

35 دقائق مضت, jjafferr said:

تفضل :rol:

1- انا مليش في الكود .

2- اعتمدت كليا على الترقيم التلقائي ID

.

.

.

تفضل :rol:

كرار ...

Database3.rar

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

33 دقائق مضت, karrar sabry said:

1- انا مليش في الكود .

2- اعتمدت كليا على الترقيم التلقائي 

:rol:

 

طريقة حلوة ، وما ممكن تيجي على بالي :rol:

 

 

1. بس استعلامك كله كود :rol:

2. وهنا اذا تسمح لي اتدخل:

انا ذهبت الى الجدول ، ونسخت السجلات والصقتهم عدة مرات ، ثم حذفت السجلات الاولى ، وبهذه الطريقة ، الرقم التلقائي لم يبدأ بالرقم 1 ، فإستعلامك يحتاج له تعديل بسيط حتى يشتغل على جميع الارقام :rol:

 

في الاستعلام ، غيّر قيمة ID2 الى القيمة التالية:

ID2: DCount("ID","Query1","ID <=" & [ID])-1

 

 

جعفر

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

أخوي أبو وليد :rol:

 

انصحك بإستخدام طريقة أخونا كرار ، مع تعديلي :rol:

لأني لاحظت ان طريقتي تعطي ارقام غير صحيحة لما السجلات تكون كثيرة ، لازم اشوف ليش ، بس حق شغلك ، خذ الطريقة الصح :rol:

 

 

جعفر

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

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

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

Important Information