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

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

قام بنشر

السلام عليكم

طبقا لشروط المنتدي موضوع جديد تكلمة للموضوع السابق

فشلت تماما في عمل قاعدة لمنع التكرار في حالة تكرار 3 حقول   الرقم ، التاريخ، رقم الموظف  طبقا للصورة

والملف المرفق

Capture2.JPG.b69f7e0113fc4b84e25ff3bbdd1649f8.JPG

التحقق من المدخلات ومنع التكرار.rar

قام بنشر

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

 

تفضل:

Private Sub Command24_Click()
' مفتاح اضافة موظف اخر لنفس القرار

    Dim strSQL As String
    Dim intHow_Many As Integer
    
    strSQL = "[KararNom]='" & Me.KararNom & "'"
    strSQL = strSQL & " And [KararYear]='" & Me.KararYear & "'"
    strSQL = strSQL & " And [CompID]=" & Me.CompId
    intHow_Many = DCount("*", "TblKararat", strSQL)
    If intHow_Many > 0 Then
        MsgBox "لقد تم تسجيل هذا الموظف مسبقا"
        Exit Sub
    End If
    
DoCmd.RunCommand acCmdSaveRecord
Dim x As Integer
    If MsgBox("تم اضافة وحفظ بيانات الموظف للقرار بنجاح. هل تريد اضافة موظف لنفس القرار؟", vbYesNo, "تنبيه") = vbYes Then
       Dim N, Y, F
       N = Me.KararNom: Y = Me.KararYear:  F = Me.KararFrom
       DoCmd.GoToRecord , , acNext
       Me.KararNom = N: Me.KararYear = Y:   Me.KararFrom = F
       Me.CompId.SetFocus
    Else
       DoCmd.RunCommand acCmdRecordsGoToNext
       Me.KararNom.SetFocus
    End If
End Sub

 

جعفر

  • Like 3
  • Thanks 2
قام بنشر (معدل)

ما شاء الله عليك استاذ / جعفر

زادك الله من العلم

انا لسه مجربتش الكود ... بنفع اطبق نفس الكود على اضافة قرار جديد وليس فقط اضافة موظف لنفس القرار ؟؟

ان شاء الله اجرب وارد على حضرتك

شكر لتعبك ومجهودك مرة اخرى

في رعاية الله

 

طلب اخير

شرح لكود

strSQL 
تم تعديل بواسطه midomashakel
قام بنشر

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

 

تفضل:

    Dim strSQL As String
    Dim intHow_Many As Integer
    
	مشكلة اكثر من معيار ، هي الطريقة الصحيحة في كتابة الصيغة
	لذلك، خلينا نتعامل مع حقل واحد كل مرة، لنتفادى الخطأ
    strSQL = "[KararNom]='" & Me.KararNom & "'"					'نعمل اول معيار في المتغير strSQL
    strSQL = strSQL & " And [KararYear]='" & Me.KararYear & "'"	'نضيف معيار الحقل الثاني
    strSQL = strSQL & " And [CompID]=" & Me.CompId				'نضيف معيار الحقل الثالث

	الآن اصبح المتغير
	strSQL
	يحتوي على جميع المعايير، وبالصيغه الصحيحة، اذن فالنستعمله في الامر التالي
	كم عدد السجلات التي يوجد بها هذه المعايير
    intHow_Many = DCount("*", "TblKararat", strSQL)
    If intHow_Many > 0 Then
		اذا كان عدد السجلات اكثر من صفر، فمعناه ان اسم الموظف موجود مسبقا
		لذا، اوقف العملية واخبر المستخدم، ولا تحفظ السجل
        MsgBox "لقد تم تسجيل هذا الموظف مسبقا"
        Exit Sub
    End If

 

جعفر

  • Like 1
  • Thanks 2

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