الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل هناك دالة تعطيني قيمة السجل السابق

مغلق
بدأه ابوطلال في 25 يوليو 2006 · 8 رد · 1,205 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هل هناك دالة تعطيني قيمة السجل السابق

شبيهه بالدالة DLookup

بحيث اتخدمها في استعلام يعطي النتيجة التالية

مثال:

العمود الاول ========العمود الثاني(الدالة المطلوبة)

50 ============== 0

100 ============== 50

200 ============== 100

ولك خالص الدعاء بالتوفيق

تم تعديل هذه المشاركة بواسطة ابوطلال في 25 يوليو 2006 في 16:29

#2

السلام عليكم

أخي العزيز على ما أعتقد لا يوجد دالة جاهزه تقوم بهذا العمل والله اعلم

ولكن تستطيع ان تعمل دالة حسب احتياجك

للمثال الذي وضعته أستخدم الكود التالي في المودل

Option Compare Database

Dim OldValue As Variant
Public Function GetLastValue(ByVal nValue)
	GetLastValue = OldValue
	OldValue = nValue
End Function

Public Function ResetValue(Optional DefaultValue)
	 OldValue = DefaultValue
	 ResetValue = Null
End Function

والاستعلام يكون كالتالي

select  0 ,0 from table1  where  not isnull(resetvalue(0))
union
select Value , GetLastValue(Value) from table1;

السطر التالي

select  0 ,0 from table1  where  not isnull(resetvalue(0))

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

GetLastValue(Value)

هذه الجملة تنفذ الدالة GetLastValue وتمرر لها قيمة الحقل value فيرجع قيمة المتغير OldValue ويغير قيمته الى value

abu_talal.rar

1

سبحانك اللهم وبحمدك أشهد ان لا اله الا أنت

أستغفرك وأتوب اليك

الهم صلي وسلم وبارك على سيدنا وحبيبنا محمد

#3

الف الف شكر اخي العزيز والله يجزاك الجنة

تعرف اني نزلت الموضوع اكثر من 5 مرات وبعدة صيغ وانت اول واحد يجيب الحل

باجرب المثال المرفق و ستأكد من ذلك

الله يجمعنا بك في جنته

#4

حياك الله اخي

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

اّميـن

يسمع منك ربنا

تم تعديل هذه المشاركة بواسطة Mo7eb_Alrasool في 26 يوليو 2006 في 22:19

سبحانك اللهم وبحمدك أشهد ان لا اله الا أنت

أستغفرك وأتوب اليك

الهم صلي وسلم وبارك على سيدنا وحبيبنا محمد

#5

اخي محب الرسول

جرب المثال المرفق ولدي بعض الاستفسارات:

1 : جربت الاستعلام والدوال في الفيجوال بيسيك دوت نت وعلى القديم ولم يتعرف على الدوال والحقيقة اني احتاج العملية في الفيجوال بيسيك دوت نت او الفيجوال بيسيك 6 .

2 : لا تنجح العملية اذا كان هناك سجلات مكرره .

3 : يوجد بطء بسبب الربط مع العلم ان العملية قد تنفذ على الاف السجلات .

ارجو ابداء ملاحظاتك ولك جزيل الشكر.

#6

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

أخى الكريم ابوطلال

راجع الموضوع التالى

/index.php?showtopic=79756

ومرفق ملف اتمنى يفيدك.

والله الموفق ,,,

LastRec.rar

1

أشهد أن لا إله إلا الله وأشهد أن محمدا رسول الله

bnr025.gif

مـــوقـــعـــى

#7

شكرا جزيلا اخي عماد

لي طلب بسيط اريد ان اضيف اضافة بسيطة وهي كالتالي

اريد ان اضع حاصل جمع السجلات السابقة في السجل الحالي مثال:

العمود الاول ------------ العمود الثاني (المطلوب)

10-----------------10

20-----------------30

30-----------------60

40-----------------100

وهكذا

واشكرك مقدما وتستحق لقب خبير اكسس بكل جدارة

تم تعديل هذه المشاركة بواسطة ابوطلال في 5 أغسطس 2006 في 15:06

#8

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

الأخ الكريم ابوطلال بارك الله فيك على مجاملتك

واسف جدا اخى الكريم على التاخير فى الرد عليك , لكن فعلا لم انتبه الى مشاركتك الا اليوم من رسالة حضرتك الخاصة.

اخى الكريم طلب حضرتك (حساب مجموع ما سبق) غاية فى البساطة , وقد قمت بالرد على مشاركة سابقة شبيهه تماما بطلبك على الرابط التالى

/index.php?showtopic=73968

وعامة اخى الكريم كل التعديل الذى ستجريه حضرتك على الملف والذى يعود بقيمة السجل السابق للسجل الحالى

هو تغيير دالة DLast فى الاستعلام والتى تعود باخر سجل ( من اسمها ) تغييرها الى الدالة DSum والتى تعود بالمجموع السابق حسب نفس الشروط فى الاستعلام.

اخى الكريم مرفق ملفك بعد الاضافة السابقة , ولا تنسانا من صالح دعائك.

والله الموفق ,,,

أشهد أن لا إله إلا الله وأشهد أن محمدا رسول الله

bnr025.gif

مـــوقـــعـــى

#9

يا اخي العزيز

اشكرك جزيل الشكر

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

وانا يعيننا على رد جميلك

غيرت الجملة كما ذكرت ومشت العملية

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…