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

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

قام بنشر (معدل)

السلام عليكم الإخوة الأفاضل في هذا المنتدى الجميل

 أريد إضافة بيانات  كل سجل من  جدول  tbl_info_fonctionnaire    في جدول   tbl_masser_mihani

إنطلاقا من النموذج fm_info_fonctionnaire   و من زر  " إضافة "

بشرط واحد أن لا يكون  الحقل  date_grade_poste_actuel    من جدول  tbl_info_fonctionnaire      موجود في الجدول    tbl_masser_mihani  وفي الحقل date_nomination  لنفس الموظف الذي له الرقم num

مثلا num  الموظف هو رقم : 3 في tbl_info_fonctionnaire     و :  date_grade_poste_actuel   هو: 01/06/2025

فندهب إلى الجدول  tbl_masser_mihani     ونعمل مقارنة إذا كان : code_fonct   يساوي 3  وبه حقل date_nomination   هو: 01/06/2025  

فهنا لا يمكن الاضافة وتأتي رسالة توضح بإن البيانات موجودة مسبقا  ، أما إذا كان التاريخ يختلف عن 01/06/2025 لنفس الموظف الذي له رقم 3 فهنا نستطيع الإضافة

بهذه الطريقة اريد ألكود ان يشتغل

عملت محاولة للكود  وهي في زر إضافة في النموذج

الرجاء المساعدة والتوجيه وبارك الله فيكم

baseQ.accdb

تم تعديل بواسطه moho58
تعديل خطأ في كلمة
قام بنشر
20 دقائق مضت, moho58 said:

السلام عليكم

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

رغم أنك الى حد ما قريب من تحقيق هدفك في محاولتك داخل الزر .. إلا ان بعض النقاط قد غابت عنك ، مثل :-

  1. تنسيق التاريخ بشكل صحيح .
  2. استخدام دالة DLookup بطريقة سليمة عند مقارنة التواريخ .
  3. يفضل استخدام Format عند التعامل مع التواريخ في SQL لتفادي أخطاء اللغة الإقليمية وتنسيق التواريخ .

 

على العموم ، جرب هذا التعديل على ملفك الصلي إن كان صحيحاً :-

Private Sub أمر24_Click()
    Dim numFonct As Long
    Dim dateGrade As Date
    Dim critereRecherche As String
    Dim resultat As Variant

    numFonct = Nz(Me!num, 0)
    dateGrade = Nz(Me!date_grade_poste_actuel, #1/1/2000#)

    critereRecherche = "code_fonct = " & numFonct & " AND date_nomination = #" & Format(dateGrade, "yyyy-mm-dd") & "#"

    resultat = DLookup("code_fonct", "tbl_masser_mihani", critereRecherche)

    If Not IsNull(resultat) Then
        MsgBox "هذه المعلومات موجودة من قبل", vbExclamation + vbMsgBoxRight, ""
        Exit Sub
    End If

    DoCmd.SetWarnings False
    DoCmd.RunSQL _
        "INSERT INTO tbl_masser_mihani (code_fonct, loi_fondamontale, grade, sinf, date_nomination, numero_visa_cf, date_visa_cf) " & _
        "SELECT num_fonctionnaire, loi_fondamontale, grade_poste_actuel, categorie, date_grade_poste_actuel, num_visa_grade_poste_actuel, date_visa_grade_poste_actuel " & _
        "FROM tbl_info_fonctionnaire " & _
        "WHERE num_fonctionnaire = " & numFonct
    DoCmd.SetWarnings True

    MsgBox "تمت الإضافة بنجاح", vbInformation + vbMsgBoxRight, "نجاح"
End Sub

 

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