انا منتظر الاجابة على مثال المرتبات
تجميع البيانات من جدول ونقلها لجدول آخر
السلام عليكم
اخي العزيز ،، لقد نسيت من كثرة المشاغل ما هو الموضوع بالضبط هل يمكنك تذكيري مرة أخري ،، هنا عبر المنتدي حتي أقوم بالاجابة . :)
يرجي اتباع قواعد طرح المشاركة في المنتدي عند اضافة اي مشاركة جديد ،،
تحياتي
الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.
إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.
اخى العزيز prof_1982 عندى قاعدة بيانات مكونة كالأتى:
employee - payrolldetail-payroll
اريد بعد ادخال حركة حضور وانصراف العاملين فى جدول payroll detail ان يتم تجميعها حسب رقم كل موظف ويتم نقلها الى جدول payroll وايضا نقل بيانات جدول emploee الى جدول payroll ارجو ان اكون وفقت فى التوضيح .
KHALED_HELAL
الاخ العزيز prof_1982 عندى سؤال وهو عن الترقيم بواسطة الكود فعند الاضافة كتبت الاتى :
Public Sub AutoGen()
Dim rsvac As New ADODB.Recordset
rsvac.Open "select max(code) from dept", dbvac, adOpenStatic, adLockPessimistic
If IsNull(rsvac(0)) = False Then
text1 = Format(rsvac(0) + 1)
Else
text1 = "1"
End If
rsvac.Close
Set rsvac = Nothing
End Sub
وطبعا مع استدعاء call autogen ولكن عند الحذف لااعرف ماذا افعل لأعادة ترتيب الارقام فما رأيك ؟
KHALED_HELAL
بعد عملية الحذف تريد استرجاع الارقام فاذا كان لديك 1و2و3 و قمت بحذف 1 فتريد ان يرجع 2و3 الى 1و2
Private Sub ReturnCodes() Dim RS As ADODB.Recordset For i = IndexDeleted + 1 To RS.RecordCount - 1 RS(0).Value = i - 1 'update records code Next i End Sub
تم تعديل هذه المشاركة بواسطة راكان الحنيطي في 6 سبتمبر 2004 في 23:35
راكان الحنيطي
Be Open Source

لم يعمل الكود اخى راكان لقد ظهرت الرسالة التالية compile error
وشكل الرسالة مرفقة برجاء التوضيح
KHALED_HELAL
السلام عليكم
اهلا اخي خالد.
اولا ،، بالنسبة لإعادة الترقيم كما وضحها الاخ راكان ولكن المشكلة ظهرت لديك لوجود .
Option Explicit في منطقة التعريفات .و الغرض من هذه الجملة هي منع المتغيرات التي لم يصرح عنها ، لذا الحل إما ان تقوم بحذف الجملة المذكورة سابقا ،، او يتم تعريق المغيرات المتسخدمة في الكود لديك .
أما البرنامج ،، فما زلت أعمل عليه ولقد واجهتني مشاكل كبيرة ، لان معظم الادوات غير مرفقة ،، مما جعل استحالة تشغيل المشروع ،، لذلك سوف أقوم بحل المشاكل لديك في مشاريع منفصلة ثم انت تقوم بتجهيزها لبرنامجك الاصلي .
تحياتي ،، وعذرا للاطالة بسبب المشاغل
الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.
إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.
اخى prof_1982 عملت بنصيحتك وحذفت option explicit وما زال يوجد خطأ فماذا أفعل ؟ وشكرا لك
KHALED_HELAL
ماهو الخطأ بالضبط .. اكتب تفاصيل الخطأ هنا حتي استطيع مساعدتك
الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.
إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.
الاخ prof_1982 مرسل لك نص رسالة الخطأ ارجو الاطلاع عليها وافادتى بكيفية اصلاح هذا الخطأ واسف للأطالة
KHALED_HELAL
أخي الكريم
بالنسبة لالحاق الحقول بعد تجميعها استعمل استعلام لهذه الغاية :
INSERT INTO Payroll ( Code, AbcenseDays, AnnualVacat, TempVacat, SickDays, PenaltyDaysAll ) SELECT Code, Sum(PayrollDetail.AbcenseDays) AS SUM1 , Sum(PayrollDetail.AnnualVacationDays) AS SUM2, Sum(PayrollDetail.TempVacationDays) AS SUM3, Sum(PayrollDetail.SickDays) AS SUM4, Sum(PayrollDetail.PenaltyDaysAll) AS SUM5 FROM PayrollDetail GROUP BY PayrollDetail.Code
هذا الاستعلام بالنسبة لخمس حقول .. وعليك أن تضف إليه باقي الحقول التي تريدها بنفس الأسلوب
هذا الموضوع مغلق.
