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

(تمت الاجابة) رفع الطلاب من صف الي صف


mostafaatiya

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

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

اخوتي في الله

يوجد لديا نموذج بأسم FORM

يوجد به مربع تحرير وسرد

ومربع تحرير وسرد اخر

اريد من مربع التحرير والسرد الاول اختيار الصف الاول مثلا

ومن مربع التحرير والسرد الثاني اختيار الصف الثاني

واقوم بالضغط علي زر ( ترحيل ) يتم نقل طلاب الصف الاول الي الصف الثاني والثاني الي الثالث والثالث الي الرابع

والرابع الي الخامس والخامس الي السادس والسادس يتم حذفة او يتم تفريغ خانه الصف

واليكم صورة بالمرفات لتوضيح وجزاكم الله خيرا

Micro.rar

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

السلام عليكم

نقل طلاب الصف الاول الي الصف الثاني والثاني الي الثالث والثالث الي الرابع

والرابع الي الخامس والخامس الي السادس والسادس يتم حذفة او يتم تفريغ خانه الصف

الاخ العزيز

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

وتحتفظ بهم في قاعدة البيانات

وبعدها تعمل استعلام حذف طلاب الصف السادس من الجدول الاصلي

ثم نعمل استعلام تحديث الخامس الى السادس

والرابع الى الخامس

والثالث الى الرابع

والثاني الى الثالث

والاول الى الثاني

وهذه الفكرة او العمل استخدمها منذ فترة وحسب شرط الطالب ناجح

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

أخي العزيز

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

عملية الترحيل البسيطة التي تتحدث عنها قد يكون فيها خطورة عند التطبيق ، فاذا رحلت ابناء الصف الاول للثاني ، سيكونون عرضة لتطبيق ترحيل آخر من الثاني للثالث عند اجراء ترحيل ابناء الصف الثاني للثالث... وهكذا ،، بالاضافة لمحاذير أخرى...

واذا اتبعنا طريقة الاخ الفاضل alshmal وهي مستخدمة ومتبعة ودارجة ولكن لي عليها ملاحظات ايضا ولها محاذير ، ليس عدم صحة أو عدم جدوى ، وانما محاذير خطورة ، فالروتين سليم ومنطقي وقابل للتطبيق ، وانما يبقى شرط الصحة والفاعلية مقترنا بصحة الشروط عند الاختيار و الترحيل.

العملية بظاهرها بسيطة لا يطلب فيها الا استعلام تحديث (سارفق لك التطبيق لاحقا) ولكن المعول علية بنية الجداول وتحليلها وروتين التطبيق و التنفيذ بشروط واحتياطات صحيحة ، مقترحا اضافة حقل للسنة الدراسية ضمن جدول data .

والامر لك

والله اعلم

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

أخي العزيز

إليك المرفق وفيه بعض التعديلات المقترحة ، أما أصل التطبيق فكما طلبته انت ، جرب وسترى انه سيحدث لك فوضي اذا بقي بدون ضوابط

أضفت لك ضوابط في النموذج وفي مربعات التحرير تحديدا ، فحين تختار الصف الاول في المربع الاول يظهر لك فقط الصف الثاني (الصف الذي سيرفع اليه) .. وهكذا

وهي مجرد فكرة للضوابط

جرب وطور الفكرة ووافني بالنتيجة

NA_New Access_UP.rar

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

أخي العزيز

إليك المرفق وفيه بعض التعديلات المقترحة ، أما أصل التطبيق فكما طلبته انت ، جرب وسترى انه سيحدث لك فوضي اذا بقي بدون ضوابط

أضفت لك ضوابط في النموذج وفي مربعات التحرير تحديدا ، فحين تختار الصف الاول في المربع الاول يظهر لك فقط الصف الثاني (الصف الذي سيرفع اليه) .. وهكذا

وهي مجرد فكرة للضوابط

جرب وطور الفكرة ووافني بالنتيجة

استاذ الفاضل شكرا لحسن متابعتك وجزاك الله خيرا

المثلا الذي اوضعته له كثير الفائدة ولكن لو سمحت اتمني ان تنال فكرتي اعجابك وعمل التنفيذ عليها

اولا استاذ الفاضل .

يوجد بالقاعدة جدول Data ويوجد بالجدول حقل بأسم Cod_asas وهذا الحقل واخد القيمة من حقل elem_eldrsy العام الدراسي

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

احنا في العام الدراسي 2011-2012 وهذا العام واخد كود 12 في حاله تسجيل بيانات طالب جديد هتم دخول هذي القيمة

الي حقل Cod_asas اللي هيا (12) طبع كل الطلاب الموجودين وخدين نفس القيمية

كل اللي عايز اعملة هو

طبعا كل الطلاب في الجدول وخدين القيمة ( 12 ) عايز في حاله الرفع مثلا

تحويل الصف الاول والثاني والثالث والرابع والخامس الي القيمة ( 12 ) وبقاء الصف السادس كما هو بدون تغيير

وفي حاله التحويل يتم رفع الطلاب بناء علي الحقل Cod_asas بمعني الصف الاول هيبقي تاني وهكذا

بدون تفريغ الحقول يعني الساس سادس لكن قيمة الحقل الاساسي هيتغير مع كل الصفوف لكن هيبقي ثابت عند اخر صف اللي هو السادس

واتمني من الله ان اكون قد عرفت ان اوصف لك ما اقصدقة وجزاك الله خيرا

NA_New Access_UP.rar

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

أخي العزيز مصطفي

إسمح لي أن اتدخل قليلا في التطبيق

فقد أنشأت لك الكود التالي لتنفيذ عملية الترفيع وفق اجراءات وضوابط أولية يمكن أن نضيف اليها ما يلزم


Sub MyProc()

'This code was written and Generated by Nart Lebzo for Officena Forum

'http://www.officena.net

'Copyright 2011. All Rights Reserve

'E-mail: nartlebzo@gmail.com

On Error GoTo Err_MyProc


  Dim db   As DAO.Database

  Dim rst  As DAO.Recordset

  Dim rst1  As DAO.Recordset

  Set db = Access.Application.CurrentDb

  Set rst = db.OpenRecordset("data", dbOpenDynaset)

  Set rst1 = db.OpenRecordset("elem_eldrsy", dbOpenDynaset)

If rst!Cod_asas = rst1!Cod_elem_eldrsy And rst!up = True Then

MsgBox "عملية الترفيع تمت سابقا "

GoTo Exit_MyProc

End If

  With rst

	.MoveLast

	.MoveFirst

	Do While .EOF = False

    	.Edit


    	!ELSF = (!ELSF) - 1

    	!Cod_asas = (rst1!Cod_elem_eldrsy)

    	!up = True


    	.Update

    	.MoveNext

	Loop

  End With


Exit_MyProc:

    	Set rst = Nothing

    	Set db = Nothing

    	Exit Sub

Err_MyProc:

    	MsgBox Err.Description

    	Resume Exit_MyProc

	End Sub

وسارفق لك تطبيقك المعدل لاحقا

والبقية تأتي ... بإذن الله

والله اعلم

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

أخي العزيز

التطبيق المعدل مرفق

أطلع على الجدول data قبل أي إجراء

قم بتنفيذ عملية الترفيع للسنة الدراسية الجديدة من النموذج Form

post-12714-0-72165800-1314396550_thumb.j

أعد الاطلاع على الجدول data بعد اجراء الترفيع

حاول تنفيذ الترفيع مرة أخرى ... وتحقق من النتائج !!!

كنت أجرب الكود لمدة ساعتين وفكرت في جميع الاحتمالات ... الامور جيدة وأظن انها تحقق الغاية بشكل ممتاز

لست مطلعا على كامل التطبيق لديك ولست على دراية بتحليلك للنظام ، ولكن أظن أنه قد يلزمك نقل الطلاب المتخرجين من الجدول لجدول جديد يشمل معلومات الخريجين !!!

جرب وتمهل ووافني بالنتيجة ....

والله أعلم

NA_Upgrade.rar

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

اخي في الله عمل رائع وممتاز لكن ....

ممكن يبقي طلاب الصف عادي

بس يتم تغيير الرقم الاساسي بمعني

عند رفع سنه دراسية جديدة كما شرحت بالمثال

يتم توزيع السنه الجديدة علي الطلاب الصف الاول والثاني والثالث والرابع والخامس فقط

يعني الصف الاول والثاني والثالث والرابع والخامس يتم ادخال السنه الجديدة عليهم ( 12 ) عند تنفيذ الامر من النموذج

امي الصف الادس يبقي كما هو ولا يتم تغيير الرقم ويبقي علي رقم السنه الماضية كما سبق اللي هيا ( 7 )

واتمني ان اكون قد وصلت اليك ما افكر فيه وجزاك الله خيرا علي ما فعلت

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

أخي العزيز

كنت أتطلع للأفضل لك ، ولكن لا بأس لكل إمرئ فيما يحاول مذهب

عدلت الكود كما تريد ، جربه لأنني لم أجربه ، ووافني بالنتيجة .....


Sub MuProc()

'This code was written and Generated by Nart Lebzo for Officena Forum

'http://www.officena.net

'E-mail: nartlebzo@gmail.com

On Error GoTo Err_MyProc


  Dim db   As DAO.Database

  Dim rst  As DAO.Recordset

  Dim rst1  As DAO.Recordset

  Set db = Access.Application.CurrentDb

  Set rst = db.OpenRecordset("data", dbOpenDynaset)

  Set rst1 = db.OpenRecordset("elem_eldrsy", dbOpenDynaset)

If rst!ELSF <> 6 Then

  With rst

	.MoveLast

	.MoveFirst

	Do While .EOF = False

    	.Edit


    	!Cod_asas = (rst1!Cod_elem_eldrsy)

    	!up = True


    	.Update

    	.MoveNext

	Loop

  End With

End If

Exit_MyProc:

    	Set rst = Nothing

    	Set db = Nothing

    	Exit Sub

Err_MyProc:

    	MsgBox Err.Description

    	Resume Exit_MyProc

	End Sub

والله أعلم

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

أخي العزيز

بالتجربة

جملة SQL تفي بالغرض (وبحدود طلبك) إن كنت قد أحسنت الفهم عنك


Private Sub Command20_Click()

DoCmd.RunSQL "UPDATE data, elem_eldrsy SET data.Cod_asas = [elem_eldrsy].[Cod_elem_eldrsy] " & vbCrLf & _

"WHERE (((data.ELSF)<>6));"

End Sub

جرب ووافني بالنتيجة ....

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

اخي في الله بارك الله فيك علي هذا المجهود الرائع

وجعله الله في ميزان حسناتك

لقد قمت بالتعديل بطريقة اخري وهي

قمت بعمل جدول اخر وذهبت الي الاستعلامات

قمت بعمل استعلام الحاق وهو يأخذ القيمة (6) الذي تمثل الصف السادس

وقمت بعمل استعلام حذف وهو يأخذ القيمة (6) الذي تمثل الصف السادس ايضا

وقمت بالتعديل في هذا الكود ووضع الاستعلامان بداخله

المرفق بالملف المعدل

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

بارك الله فيك

((( تمت الاجابة ))))

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

اخي في الله بارك الله فيك علي هذا المجهود الرائع

وجعله الله في ميزان حسناتك

لقد قمت بالتعديل بطريقة اخري وهي

قمت بعمل جدول اخر وذهبت الي الاستعلامات

قمت بعمل استعلام الحاق وهو يأخذ القيمة (6) الذي تمثل الصف السادس

وقمت بعمل استعلام حذف وهو يأخذ القيمة (6) الذي تمثل الصف السادس ايضا

وقمت بالتعديل في هذا الكود ووضع الاستعلامان بداخله

المرفق بالملف المعدل

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

بارك الله فيك

((( تمت الاجابة ))))

الملف المعدل

NA_Upgrade.rar

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information