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

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

قام بنشر

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

في موضوعي أريد إدراج بيانات جدول في جدولين كما يلي:

الكود الموجود في النمودج في زر"  تحديث "

يقوم بادراج و تحديث  جميع بيانات الحقول الموجودة في جدول tab_degree_saisie  يقوم بادراجها في جدول   tab_degree_mauel

أريد الابقاء على هذا الكود وأضيف له خاصية وهي:

إدراج الحقول التالية من جدول tab_degree_saisie  :

degre

numero_indice_degre

date_effet

الحقول السابقة تدرج في الجول المسمى tbl_info_fonctionnaire

في الحقول التالية بنفس الترتيب:

grade

num_indice_grade

date_effet_grade_actuel

مع مراعاة الشرط التالي 

 لدينا :

في جدول tab_degree_saisie 

لدينا الإسم: خالد مذكور مرتين:

خالد عنده الحقل degre  يساوي  7

وخالد عنده الحقل   degre  يساوي 8

هنا نقوم بادراج البيانات في حالة وجود اسماء مكررة الذي عنده الحقل  degre    الكبير أو الأكبر

فهنا نقوم بادراج بينانات خالد في جدول tbl_info_fonctionnaire  للحقل degree يساوي 8

أما إذاكان الإسم غير مكرر تدرج البانات مباشرة.

وكذلك الشرط الثاني:

مثال code_fonct =1   من  جدول tab_degree_saisie    تدرج في الجدول  tbl_info_fonctionnaire    في num =1

يعني خلاصة :

 ادراج وتحديث  جميع بيانات الحقول الموجودة في جدول tab_degree_saisie  يقوم بادراجها في جدول   tab_degree_mauel

ادراج 4 حقول كما هي مبينة أعلاه من جدول tab_degree_saisie  في جدول tbl_info_fonctionnaire   

مع مراعاة الشرط إذا كان الإسم مذكور مرة واحدة تدرج البيانات مباشرة

إذاكان الاسم مذكور عدة مرات ندرج البيانات فقط للحقل  degre الذي يحمل أكبر قيمة

و مراعاة الشرط الثاني :

مثال code_fonct =1   من  جدول tab_degree_saisie    تدرج في الجدول  tbl_info_fonctionnaire    في num =1

نتمنى أن أكون قد أوصلت الفكرة.

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

 

 

baseZ.accdb

قام بنشر

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

بناءً على ما فهمته من هذا الكم الهائل من المعطيات 😅 ، جرب هذا التعديل ، حيث تم التعديل عى كودك الأصلي ليصبح = 

Private Sub أمر1069_Click()
    On Error GoTo ErrorHandler
    
    DoCmd.SetWarnings False
    
    DoCmd.RunSQL "DELETE FROM tab_degree_mauel"
    
    DoCmd.RunSQL "INSERT INTO tab_degree_mauel(code_fonct, nom_prenom, grade_actuel, categorie, numero_indice_categorie, degre, numero_indice_degre, duree, date_effet, faid_31_12, date_signature_decision, date_reunion_comession, date_calcul_faid_31_12, num_decision) " & _
                "SELECT code_fonct, nom_prenom, grade_actuel, categorie, numero_indice_categorie, degre, numero_indice_degre, duree, date_effet, faid_31_12, date_signature_decision, date_reunion_comession, date_calcul_faid_31_12, num_decision " & _
                "FROM tab_degree_saisie"
    
    DoCmd.RunSQL "DELETE FROM tbl_info_fonctionnaire"
    
    DoCmd.RunSQL "INSERT INTO tbl_info_fonctionnaire(num, grade, num_indice_grade, date_effet_grade_actuel) " & _
                "SELECT code_fonct, degre, numero_indice_degre, date_effet " & _
                "FROM tab_degree_saisie t1 " & _
                "WHERE degre = (SELECT MAX(degre) FROM tab_degree_saisie t2 WHERE t2.nom_prenom = t1.nom_prenom)"
    
    DoCmd.SetWarnings True
    
    Me.Requery
    MsgBox "تم تحديث البيانات في الجدولين بنجاح", vbInformation + vbMsgBoxRight, "تنبيه"
    
    Exit Sub
    
ErrorHandler:
    DoCmd.SetWarnings True
    MsgBox " : حدث خطأ أثناء تنفيذ العملية " & Err.Description, vbCritical + vbMsgBoxRight, "خطأ"
End Sub

 

أخبرنا بالنتيجة :smile: 

baseZ.zip

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.

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

×
×
  • اضف...

Important Information