الأخوة خبراء الفيجوال بيسك أقوم ببرنامج مرتبات لموظفين بمؤسسة خاصة وسيستخدم هذا البرنامج عدد من المستخدمين .. أحتاج إلى الكود الذي يقوم بإظهار الحركة التاريخية لمستخدمين البرنامج الذين قاموا بالتعديل في بيانات البرنامج من حذف أو تعديل أو إضافة .. بمعنى إظهار اسم المستخدم أو رقمه مع إظهار البيانات السابقة والبيانات الجديدة التي قام بتعديلها في شبكة جريد .. علماً بأنني استخدمت قاعدة بيانات أكسس 2003 وتم الربط معها عن طريق الأدو .. أرجو من الأخوة إفادتي وشكراً
كود الحركة التاريخية للمستخدمين
الأخ الغالي ، إذا كنت ترغب في إدراج جدول ومعرفة حركة البيانات من تعديلات علي كل سجل وتاريخ كل تعديل وكل مستخدم قام بإجراء عملية التعديل في هذه الحالة يجب عليك إنشاء جدول آخر يحفظ به البيانات السابقة للجدول القديم !!!
بمعني أن تأخذ البيانات القديمة وتحفظها بجدول آخر مع حفظ تاريخ التحديث والمستخدم الذي قام بعملية التحديث ، ومن ثم حفظ البيانات الجديدة بالجدول الرئيسي وكل هذه العمليات تتم دفعة واحدة.
لكن أخي هذه الطريقة لا تستخدم في كل الجداول بل الجداول الهامة التي تتطلب ذلك مثل فاتورة المبيعات التي يمكننا إجراء تعديل علي الفاتورة في حالة إضافة بنود جديدة أو .... الي آخرة
شكراً
لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي
ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك
أنت وتصرفاتك
ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه
اشد آلام ... فصمتي أنا عنوان
السيد الغالي : MMA_EG_Cairo
شكراً لردك على موضوعي .. أما بخصوص الحركة التاريخية للمستخدمين .. فأنا أعلم أن الموضوع يتطلب تصميم أو إعداد جدول خاص يتم فيه حفظ القيم القديمة قبل التغيير مع حفظ رقم المستخدم واسمه الذي قام بالتعديل في البيانات .. وحفظ القيم الجديدة في الجدول الرئيسي لقاعدة البيانات لكن مشكلتي الكبيرة هي أنني لا أعرف الكود المطلوب لهذه العملية .. أما بخصوص للحركة التاريخية للمستخدمين فالموضوع في غاية الأهمية لأن البرنامج خاص بإدراج وإعداد رواتب لموظفين بمؤسسة خاصة أي أن البرنامج برنامج مالي بحت .. أرجو منك إفادتي .. وشكراً مرة أخرى.
السلام عليكم ورحمة الله وبركاتة
أولاً أخي حسب قاعدة البيانات المستخدمة ، فإذا كانت أوراكل فبإمكانك تنفيذ كل المهام بيسر من داخل قاعدة البيانات ، أما إذا كان من نوع Access فلا مفر من ذلك ( عليك بتصميم كل شيء من داخل الفيجوال 6.0 )
ياريت تحدد نوع قاعدة البيانات
شكراً
لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي
ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك
أنت وتصرفاتك
ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه
اشد آلام ... فصمتي أنا عنوان
لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي
ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك
أنت وتصرفاتك
ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه
اشد آلام ... فصمتي أنا عنوان
السيد مصطفى محمود .. مساء الخير
أولاً أنا جداً آسف عن الإحراج الكبير الذي سببته لك بسبب ذكر أسمك صراحة في الصفحة الرئيسية للمنتدى .. وذلك لعدم درايتي بأن ذلك التصرف سيسبب لك كل هذا الإحراج مع أصدقائك بالمنتدى .. أكرر للمرة الثانية أنا جداً آسف.
أما بخصوص سؤالك عن قاعدة البيانات التي استخدمها في برنامجي فهي الـ 2003 Access .. وأعلم أن الحركة التاريخية للمستخدمين يمكن إجراءها بالكامل عن طريق قواعد البيانات أوراكل .. وأعلم أيضاً أن من يستخدم قاعدة البيانات من نوع Access . عليه فعل الحركة التاريخية للمستخدمين عن طريق الفيجوال بيسك نفسها .. ولكني أعود وأقول لك انني لا أعرف الأكود المطلوبة لإجراء هذه العملية .. عموماً أنا سأطلع على النموذج الذي ارفقته لي .. وإذا كان لديك أي برنامج به الحركة التاريخية للمستخدمين أتمنى لو ترفقه لي في المرة القادمة .. شكراً جزيلاً لك على حسن الإهتمام بموضوعي .. أكرر مرة أخرى أسفي الشديد لك.
أخوك / صلاح الدين المحجوب
بسم الله الرحمن الرحيم
الأخوة الكرام السلام عليكم ورحمة الله وبركاته
وأسعد الله ايامكم بكل الخير
هذه فكرة بسيطة ولا أدرى إن كانت ستجد قبول لديكم ولكن نظراً لاحتياج أن يكون لديك جدول خاص بكل جدول موجود به البيانات الأصليه فقد يكون العبء كبير جداً على قاعدة البيانات ولكن سوف أعطى الطريقتين
1- الطريقة الأولى وهى وجود جدول خاص بكل جدول على حدة
مثلاً لدى جدول به بيانات الموظفين
رقم الموظف 1
اسم الموظف سالم
الراتب 5 جنيهات
الجدول الخاص ببيانات التعديل
نوع التعديل حذف أو تعديل ( نختار ايهما )
رقم الموظف قبل التعديل 1
اسم الموظف قبل التعديل سالم
راتب الموظف قبل التعديل 5 جنيهات
رقم الموظف بعد التعديل 1
اسم الموظف بعد التعديل سالم عايد محمد
راتب الموظف بعد التعديل 20 جنيهات
تاريخ التعديل 15/3/2008
وقت التعديل 05:10 م
===============================
الكود الخاص بتسجيل عملية التعديل يتم من حلال نافذة التعديلات نفسها بحيث تحصل على البيانات قبل التعديل فى متغيرات ثم تحصل على البيانات بعد التعديل وتحصل على الوقت والتاريخ واسم ورقم المستخم ثم ترسلهم دفعة واحدة الى الجدول
ملحوظة يجب تصميم الجدول بحيث يقبل حقول فارغة فى الجدزء الخاص بعد التعديل وتكون بيانات نصية بالكامل حتى عندما يكون تم الحذف يسجل فى الخانات بعد التعديل كلمة محذوف محذوف محذوف وهكذا
2- الطريقة الثانية
عمل جدول عام
مسلسل
اسم النافذة أو الجدول
اسم المستخدم
قبل التعديل ( نكتب فيها جملة طويلة نصية فيها سلسلة نصية طويلة عبارة عن ترتيب الحقول قبل التعديل كان نقول الرقم : 1 الاسم : سالم الراتب : 5 جنيهات )
بعد التعديل ( نكتب فيها جملة طويلة نصية فيها سلسلة نصية طويلة عبارة عن ترتيب الحقول قبل التعديل كان نقول الرقم : 1 الاسم : سالم عايد الراتب : 20 جنيهات ) ===== >>>> فى حالة التعديل
أما فى حالة الحذف نكتب فى الحقل بعد التعيل كلمة (محذوف)
اختيارك لأى من الحالتين يتوقف على حجم قاعدة البيانات وكذلك مدى التعقيد الذى يمكن أن تصمم به البرنامج
هذا والله اعلم - أرجوا إن كان هناك أفكار أخرى ألا يبخل بها علينا أساتذتنا الأفاضل وما عهدنا منهم بخل
واشكركم على صبركم علىّ
تم تعديل هذه المشاركة بواسطة s_ayed في 18 مارس 2008 في 22:41
أولاً أخي حصل خير ، أنا بس كنت محرج من أصدقائنا بالمنتي ( لا مشكلة ) !!!
ثانياً ، أنا أدرجت لك مثال بسيط جداً وهو مكون من جدولين الأول يحتوي علي البيانات الرئيسية ، والثاني يحتوي علي بيانات التعديل والتاريخ وإسم المستخدم
وأي إستفسار آخر أنا تحت أمرك
أما بخصوص الأخ a_ayed ، فالطريقة الأولي هو نفس المثال المدرج تقريباً ، أما الطريقة الثانية فهي جيدة وغير جيدة !!!
جيد لأنني لم أحتاج الي إدراج العديد من الجداول ، وغير جيد لأنني سأحتاج الي فصل بين الحقول والآخري !!!
بمعني أدق ، أنت ترغب في إدراج حقل عام ونوعة نصي طويل ويتم تسجيل البيانات كما يلي :
Fld2 ------ 1-Ahmed-1500 2-Usif-1350 2-Usif-1900 1-Ahmed-1800
في هذه الحالة نحتاج الي فصل الحقول بحيث أن كل حقل يحتوي عمود معين ( وهذا شيء صعيب وغير جيد ) !!!
علي العموم أخي فكرة لزيزة وسأفكر فيها ، والأفكار كثيرة
شكراً للجميع
لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي
ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك
أنت وتصرفاتك
ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه
اشد آلام ... فصمتي أنا عنوان