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

عدم تكرار الوظيفة


ameer.iraq.93
إذهب إلى أفضل إجابة Solved by ameer.iraq.93,

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

السلام عليكم 

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

عندي قاعدة بيانات لمدرسة تحتوي ع جدول الوضائف وجدول بيانات الموظفين

جدول الوضائف يحتوي قائمة منسدلة فيها الوضائف مثلا مدير مدرسة \ معاون \ مشرف \

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

اريد عند ادخال وظيفة مدير مرتين تظهر رسالة هذه الوظيفة مستخدمة 

 

اسف ع الاطالة 

 

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

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

اخي في المرة القادمة ارفق مثال بسيط ليتسنى للاخوة مساعدتك وليتم التعديل على المثال المرفق ويقولون لك ( تفضل )

ضع هذا الكود في (عند عدم الوجود في القائمة) من القائمة المنسدلة

'downloaded from A-Soft Channel on youtube
On Error GoTo myError:
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("اسم الجدول الفرعي", dbOpenDynaset)
        If vbYes = MsgBox("هذا الفرع الذي اظفته جديد ليس من ضمن القائمة . هل تريد اظافته الى القائمة " _
                & NewData & " ", _
                vbYesNoCancel + vbDefaultButton2, _
                "New اسم مصدر عنصر التحكم في الجدول الاساسي") Then

            rst.AddNew
                rst!اسم العمود في الجدول الفرعي = NewData
            rst.Update

            Response = acDataErrAdded
        Else
            Response = acDataErrContinue
            Me.اسم القائمة المنسدلة = Null
        End If
leave:
    If Not rst Is Nothing Then
        rst.Close: Set rst = Nothing
    End If
    Exit Sub
myError:
    MsgBox "Error " & Err.Number & ": " & Error$
    Resume leave

 

تم تعديل بواسطه محمد التميمي
  • Like 1
رابط هذا التعليق
شارك

4 ساعات مضت, محمد التميمي said:

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

اخي في المرة القادمة ارفق مثال بسيط ليتسنى للاخوة مساعدتك وليتم التعديل على المثال المرفق ويقولون لك ( تفضل )

ضع هذا الكود في (عند عدم الوجود في القائمة) من القائمة المنسدلة


'downloaded from A-Soft Channel on youtube
On Error GoTo myError:
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("اسم الجدول الفرعي", dbOpenDynaset)
        If vbYes = MsgBox("هذا الفرع الذي اظفته جديد ليس من ضمن القائمة . هل تريد اظافته الى القائمة " _
                & NewData & " ", _
                vbYesNoCancel + vbDefaultButton2, _
                "New اسم مصدر عنصر التحكم في الجدول الاساسي") Then

            rst.AddNew
                rst!اسم العمود في الجدول الفرعي = NewData
            rst.Update

            Response = acDataErrAdded
        Else
            Response = acDataErrContinue
            Me.اسم القائمة المنسدلة = Null
        End If
leave:
    If Not rst Is Nothing Then
        rst.Close: Set rst = Nothing
    End If
    Exit Sub
myError:
    MsgBox "Error " & Err.Number & ": " & Error$
    Resume leave

 

عاشت ايدك حبيبي على المساعدة واعتذر لان نسيت ارفق المثال

المشكلة هي

عندي مدرسة بيها مناصب مدير مدرسة ومعاون ومشرف الى اخره  طبعا نوعة قائمة منسدلة 

كيف امنع المسخدم من ادخال منصب المدير مرتين يعني 

يعني مدير اسمة علي محمد ومدير ثاني اسمة مهدي علي  مستحيل اكو مدرسة بيها مدراء اثنين هذا شي خطا 

اريد رسالة تطلع هذا المنصب مستخدم   

ورفقت قاعدة البيانات حتى توضح الفكرة

 

@محمد التميمي هذه قاعدة البيانات

المدرسة.rar

تم تعديل بواسطه ameer.iraq.93
رابط هذا التعليق
شارك

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

اتفضل اخى الفاضل @ameer.iraq.93

ملحوظه : يجب عدم استعمال الغه العربيه فى تسميه الحقول والجداول يمكنك استخدام اللغه العربيه فالتسميه التوضيحيه للحقل من خصائص الحقل

كما يجب عدم استخدام مسافات فالتسميه واستخدام حرف كبير او علامه _ الشرطه السفليه

جرب ووافنا بالنتيجه

Private Sub الوظيفـة_BeforeUpdate(Cancel As Integer)
If Me.الوظيفـة.Column(1) = "مدير مدرسة" Then
    MsgBox "هذه الوظيفه تم تسجيلها من قبل"
    Me.Undo
End If
End Sub

بالتوفيق

المدرسة.accdb

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

 

3 ساعات مضت, الفلاحجى said:

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

اتفضل اخى الفاضل @ameer.iraq.93

ملحوظه : يجب عدم استعمال الغه العربيه فى تسميه الحقول والجداول يمكنك استخدام اللغه العربيه فالتسميه التوضيحيه للحقل من خصائص الحقل

كما يجب عدم استخدام مسافات فالتسميه واستخدام حرف كبير او علامه _ الشرطه السفليه

جرب ووافنا بالنتيجه


Private Sub الوظيفـة_BeforeUpdate(Cancel As Integer)
If Me.الوظيفـة.Column(1) = "مدير مدرسة" Then
    MsgBox "هذه الوظيفه تم تسجيلها من قبل"
    Me.Undo
End If
End Sub

بالتوفيق

المدرسة.accdb 496 kB · 3 تنزيلات

بارك الله بك اخي الفاضل استاذ الفلاحجي فهمت السؤال خطأ لاني كنت على عجلة من امري مهماً بالخروج 

واعتذر للاخ ameer.iraq.93

 

 

 

تم تعديل بواسطه محمد التميمي
  • Like 1
رابط هذا التعليق
شارك

53 دقائق مضت, محمد التميمي said:

 

بارك الله بك اخي الفاضل استاذ الفلاحجي فهمت السؤال خطأ لاني كنت على عجلة من امري مهماً بالخروج 

واعتذر للاخ ameer.iraq.93

وفيك بارك الله اخى محمد ولا يهمك اخى كلنا نخطئ ونتعلم من اخطائنا

بالتوفيق اخوانى

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

السلام عليكم اخوانى

عذرا ع هذا الخطأ لانه فى حاله اضفنا مدرسه جديده ولها مدير جديد لن يقبل وفى حاله الجدول فارغ وعند التسجيل لن يقبل

سوف اراجعه مره اخرى

تم تعديل بواسطه الفلاحجى
رابط هذا التعليق
شارك

اتفضل اخى

جرب ووافنى بالنتيجه

Private Sub الوظيفـة_BeforeUpdate(Cancel As Integer)

x = Trim(DLookup("الوظيفـة", "البيانات", "[الوظيفـة] = 1 and [اسم المدرسة]='" & [اسم المدرسة] & "'"))
y = Me.الوظيفـة.Column(0)

If x = y Then
    MsgBox "هذه الوظيفه تم تسجيلها من قبل لهذه المدرسه"
    DoCmd.CancelEvent
    Else
End If

End Sub

 

المدرسه.accdb

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

  • أفضل إجابة

ع

7 ساعات مضت, الفلاحجى said:

اتفضل اخى

جرب ووافنى بالنتيجه


Private Sub الوظيفـة_BeforeUpdate(Cancel As Integer)

x = Trim(DLookup("الوظيفـة", "البيانات", "[الوظيفـة] = 1 and [اسم المدرسة]='" & [اسم المدرسة] & "'"))
y = Me.الوظيفـة.Column(0)

If x = y Then
    MsgBox "هذه الوظيفه تم تسجيلها من قبل لهذه المدرسه"
    DoCmd.CancelEvent
    Else
End If

End Sub

 

المدرسه.accdb 488 kB · 0 تنزيلات

عاشت ايدكم اساتذتي  

   و @محمد التميمي

 

 هو هذا المطلوب كفيت وفيت ربي يحفظك @الفلاحجى

طيب اذا ظفنة غير وظيفة يعني مدير ومعاون عدم التكرار يصير ؟ @الفلاحجى

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

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