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

ibnjabalsoftware

عضو جديد 01
  • Posts

    13
  • تاريخ الانضمام

  • تاريخ اخر زياره

مشاركات المكتوبه بواسطه ibnjabalsoftware

  1. هذا الكود عبارة عن استعلام اجرائي يقوم بوظيفة الحاق معلومات جدول الي احر 

    الاستعلام يعتمد علي نموزج  اسمه 

    Operations_On_Result

    به عدد 2 قائمة منسدلة يقومان بتمرير قيم مختلفة للاستعلام الالحاقي وكل شي تمام التمام

    الان, ibnjabalsoftware said:
    1 ساعه مضت, kanory said:
    INSERT INTO Obtained_Basic ( File_No_B, Academic_Year_B, Class_B, Classroom_B, Periods_B )
    
    SELECT stages.File_No_S, [Forms]![Operations_On_Result]![Year] AS [Year], stages.Class_S, stages.Classroom_S, [Forms]![Operations_On_Result]![Periods] AS Periods
    
    FROM stages
    
    WHERE ((([Forms]![Operations_On_Result]![Year])=[Forms]![Operations_On_Result]![Year]) AND (([Forms]![Operations_On_Result]![Periods])=[Forms]![Operations_On_Result]![Periods]) AND (([File_No_S] & [Forms]![Operations_On_Result]![Year] & [Class_S] & [Classroom_S] & [Forms]![Operations_On_Result]![Periods]) Not In (SELECT [File_No_B] & [Academic_Year_B] & [Class_B] & [Classroom_B] & [Periods_B] AS Not2
    
    FROM Obtained_Basic)));

    ما هز المطلوب .... رجاءا اشرح وباسهاب ...

    Expand  

    الان كل ماهو مطلوب (تنسيق هذا الاستعلام وتحويله لكود vba ) بدلا من الاستعلام بطبيعته الحالية

    مرفق نموزج به المعطيات والمطلوب

    Periods.accdb

  2. 1 ساعه مضت, kanory said:
    INSERT INTO Obtained_Basic ( File_No_B, Academic_Year_B, Class_B, Classroom_B, Periods_B )
    
    SELECT stages.File_No_S, [Forms]![Operations_On_Result]![Year] AS [Year], stages.Class_S, stages.Classroom_S, [Forms]![Operations_On_Result]![Periods] AS Periods
    
    FROM stages
    
    WHERE ((([Forms]![Operations_On_Result]![Year])=[Forms]![Operations_On_Result]![Year]) AND (([Forms]![Operations_On_Result]![Periods])=[Forms]![Operations_On_Result]![Periods]) AND (([File_No_S] & [Forms]![Operations_On_Result]![Year] & [Class_S] & [Classroom_S] & [Forms]![Operations_On_Result]![Periods]) Not In (SELECT [File_No_B] & [Academic_Year_B] & [Class_B] & [Classroom_B] & [Periods_B] AS Not2
    
    FROM Obtained_Basic)));

    ما هز المطلوب .... رجاءا اشرح وباسهاب ...

  3. INSERT INTO Obtained_Basic ( File_No_B, Academic_Year_B, Class_B, Classroom_B, Periods_B )

    SELECT stages.File_No_S, [Forms]![Operations_On_Result]![Year] AS [Year], stages.Class_S, stages.Classroom_S, [Forms]![Operations_On_Result]![Periods] AS Periods

    FROM stages

    WHERE ((([Forms]![Operations_On_Result]![Year])=[Forms]![Operations_On_Result]![Year]) AND (([Forms]![Operations_On_Result]![Periods])=[Forms]![Operations_On_Result]![Periods]) AND (([File_No_S] & [Forms]![Operations_On_Result]![Year] & [Class_S] & [Classroom_S] & [Forms]![Operations_On_Result]![Periods]) Not In (SELECT [File_No_B] & [Academic_Year_B] & [Class_B] & [Classroom_B] & [Periods_B] AS Not2

    FROM Obtained_Basic)));

  4. يوم 6 شهر 2

    تحديث جديد لقد تم حل المشكلة يارفاق @ابوخليل @ابوخليل @Ahmed_J

    INSERT INTO Obtained_Basic ( File_No_B, Academic_Year_B, Class_B, Classroom_B, Periods_B )
    SELECT stages.File_No_S, [Forms]![Operations_On_Result]![Year] AS [Year], stages.Class_S, stages.Classroom_S, [Forms]![Operations_On_Result]![Periods] AS Periods
    FROM stages
    WHERE ((([Forms]![Operations_On_Result]![Year])=[Forms]![Operations_On_Result]![Year]) AND (([Forms]![Operations_On_Result]![Periods])=[Forms]![Operations_On_Result]![Periods]) AND (([File_No_S] & [Forms]![Operations_On_Result]![Year] & [Class_S] & [Classroom_S] & [Forms]![Operations_On_Result]![Periods]) Not In (SELECT [File_No_B] & [Academic_Year_B] & [Class_B] & [Classroom_B] & [Periods_B] AS Not2
    FROM Obtained_Basic)));

    الان اريد تحويل الاستعلام الالحاقي الي vba code

    بحيث لايستطيع احد الوصول الي الاستعلام وتخريبه

     

     

  5. 57 دقائق مضت, ابوبسمله said:

    وفيك بارك الله

    معلش سامحنى الصوره دى من اى مثال ؟

    الصورة كانت من المثال قبل الأخير

    في ما تكرمت من مثال يجري العمل طبيعيا في حال قمنا بالتغيير في جدول stages

    ولكن في اغلب الأحيان المعلومات في جدول ال stages تكون ثابتة 

    ولكن عندما نريد ترحيلها نقوم بترحيلها وفق المرشحات التي بنموزج Operations_On_Result وهنا تكم مشكلة التكرار 

    في 2‏/2‏/2023 at 20:01, ibnjabalsoftware said:

    لمطلوبات

    اريد نقل معلومات الجدول التالي stages وهو الجدول الأساسي للتسجيل الجديد للطلاب

    اريد نقل معلوماته الي جدول Obtained_Basic وهو جدول الدرجات المتحصلة لمرحلة الأساس

    فقط يمكن تغيير عمود السنة الدراسية (Academic_Year_B) وايضا عمود الفترة الدراسية (Periods_B) او الاثنين معا او احدهما او كليهما

    مايهم 

    نقل كل السجلات من  الجدول التالي stages الي جدول Obtained_Basic دون تكرار

    عدم تكرار النقل في حال لم يتغير شي في احد العمودين عمود السنة الدراسية (Academic_Year_B) وايضا عمود الفترة الدراسية (Periods_B) او الاثنين معا

    لو لاحظت العبارات كانت واضحة في الجزء "فقط يمكن تغيير عمود السنة الدراسية (Academic_Year_B) وايضا عمود الفترة الدراسية (Periods_B) او الاثنين معا او احدهما او كليهما"

    لو دققنا قليلا في Academic_Year_B وايضا Periods_B

  6. 3 ساعات مضت, ابوبسمله said:

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

    مشاركه مع اخوانى واساتذتى جزاهم الله عنى كل خير

    فى مثال اخى ومعلمى وشيخنا الجليل @ابوخليل قم بازاله العلاقه ما بين جدول Obtained_Basic وجدول Students ثم قم باضافتها مره اخرى اذا شئت

    او استخدم

    INSERT INTO Obtained_Basic ( File_No_B, Academic_Year_B, Class_B, Classroom_B )
    SELECT stages.File_No_S, stages.Academic_Year_S, stages.Class_S, stages.Classroom_S
    FROM stages
    WHERE ((([File_No_s] & [Academic_Year_s] & [Class_s] & [Classroom_s]) Not In (SELECT  [File_No_B] & [Academic_Year_B] & [Class_B] & [Classroom_B] FROM Obtained_Basic ;)));

    بالتوفيق

    بوركت وبورك في @ابوخليلوالرفاق الجميلين

    لاحظ الاستعلام الالحاقي شغال بصورة طبيعية الا انه يقبل التكرارا لنفس الحقول

     

    Obtained_Basic
    ترقيم تلقائي رقم الملف العام الدراسي الصف الفصل الفترة
    247 1 1 1 1 1
    248 2 1 1 2 1
    249 3 1 2 1 1
    250 4 1 2 2 1
    251 5 1 3 1 1
    252 6 1 3 2 1
    253 1 1 1 1 1
    254 2 1 1 2 1
    255 3 1 2 1 1
    256 4 1 2 2 1
    257 5 1 3 1 1
    258 6 1 3 2 1
    259 1 1 1 1 1
    260 2 1 1 2 1
    261 3 1 2 1 1
    262 4 1 2 2 1
    263 5 1 3 1 1
    264 6 1 3 2 1

    لاحظ اقام الطلاب من 1 الي 6 مكررين ثلاثة مرات

  7. 2 ساعات مضت, Ahmed_J said:

    السلام عليكم

    كلامك صحيح استاذي العزيز @ابوخليل

    انا جربت الملف

    السجلات لاتتكر

    لكنني اعتقد ان السائل طلبه بالاضافة للالحاق  هو عمل تحديث للسجلات عند  عمل  اي تغيير باي حقل من حقول الجدول stages  تتغير سجلات الجدول Obtained_Basic

    تحياتي استاذ

    الله ينور علييييييييييييك  يا استاذ @Ahmed_J

    يا @ابوخليلالاستعلام يعمل في المرة الأولي في حال تفريغ جدول  Obtained_Basic وبعدها لايستطيع نسخ السجلات ازا شغلت الاستعلام مرة اخري

    هذا هو المطلوب بعينه

    هب انني سجلت 3 طلاب في ثلاث صفوف مختلفة في جدول stages

    وبعدها قرت اجلاسهم في الامتحان الشهري الأول في جدول Obtained_Basic

    سانقل الطلاب باستعلام وياحبزا تحوله لكود من جدول stages الي جدول Obtained_Basic بناءا علي الفلتر او المرشحات او الكمبو بوكس الموجودة في نموزج Operations_On_Result

    ويمكن تكرار هذ الخطوات في كل مرة تطرأ فيها اختبارات او امتحانات مع مراعات تغيير السنة والفترة من نموزج Operations_On_Result

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

  8. 2 ساعات مضت, ابوخليل said:

    تأكد يا زول ، انت ما جربتها

    الحقول الثلاث : اسم الطالب /  السنة الدراسية / الفترة  ، مفاتيح مرتبطة مع بعض

    يستحيل الحاق سجل مشابه للحقول الثلاث .

    هههههههههههه

    لا اخفي عليك الله علما

    هههههههههه كيف عرفت اني زول ما اظن من البروفايل يا بروف @ابوخليل

    والله حتي النسخة الاخيرة جربتها وما ظبطت

    Obtained_Basic
    ترقيم تلقائي رقم الملف العام الدراسي الصف الفصل الفترة إسلامية
    1 1 1 1 1    
    2 2 1 1 2    
    3 3 1 2 1    
    4 4 1 2 2    
    5 5 1 3 1    
    6 6 1 3 2    

     

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

    عموما الاستعلام يرفض بعد تغيير السجلات في العام الدراسي كما يلي

    stages
    Stage_ID رقم الملف العام الدراسي الصف الفصل
    1 1 2 1 1
    2 2 2 1 2
    3 3 2 2 1
    4 4 2 2 2
    5 5 2 3 1
    6 6 2 3 2

     

    لاحظ العام الدراسي

    ويا @ابوبسمله الكود كلو صاير أحمر ماقدرت انسقو قبل الرد ياريت تطبيقه علي النموزج Operations_On_Result مع الاخز في الاعتبار نموزج المرشحات هو نموزج Operations_On_Result أقوم باستخدام لتحديد السنة والفترة الدراسية ولاحظ ان الفترة الدراسية غير موجود كحقل في جدول stages 

     

  9. قمت باقتطاف هذا الكود من الاستعلامات الاجرائية

    stages
    رقم الملف العام الدراسي الصف الفصل الفترة
    1 2 1 1 2
    2 2 1 2 2
    3 2 2 1 2
    4 2 2 2 2
    5 2 3 1 2
    6 2 3 2 2

    أولا شاكر لاهتمامك 

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

    الان ماتم تغييره في عمودي العام الدارسي و الفترة

    في البداية قمت بتغيير نصف السجلات وعددها 3 سجلات من اصل 6

    ولم يفلح  الامر

    وبعدها قمت بتغيير كل السجلات وهي 6 سجلات كما تري ولم يفلح الامر ايضا

    أيضا حاولت استخدام هذه الدالة

    Not In (SELECT stages.File_Info
    FROM stages
    )

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

    الاخوة الأكارم الرجاء تعديل العنوان والقسم بمايتناسب مع قوانين المنتدي

    لدي مشكلة لم استطع حلي منز فترطة طويلة (حاولت بكل الطرق _ استعلامات الحاق اجرائية _ حاولت بكود sql)

    المعطيات

    نظام به عدة جداول مرتبطة

    المطلوبات

    اريد نقل معلومات الجدول التالي stages وهو الجدول الأساسي للتسجيل الجديد للطلاب

    اريد نقل معلوماته الي جدول Obtained_Basic وهو جدول الدرجات المتحصلة لمرحلة الأساس

    فقط يمكن تغيير عمود السنة الدراسية (Academic_Year_B) وايضا عمود الفترة الدراسية (Periods_B) او الاثنين معا او احدهما او كليهما

    مايهم 

    نقل كل السجلات من  الجدول التالي stages الي جدول Obtained_Basic دون تكرار

    عدم تكرار النقل في حال لم يتغير شي في احد العمودين عمود السنة الدراسية (Academic_Year_B) وايضا عمود الفترة الدراسية (Periods_B) او الاثنين معا

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

    موجود مرفق 2010 به كل المطلوب مع محاولاتي

    مع وافر الشكر والتقدير

    استعلام الحاق بشروط دون تكرار.accdb

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

    ولكن عملية تحويله الي vba code اعطت نتائج خطأ

    حتي الاستعلامات الاجرائية احيانا تشتغل واحيانا لا

    الكود

    Me.Year.SetFocus
    If Me.Year.Text = "" Then MsgBox "ÇáÑÌÇÁ ÅÎÊíÇÑ ÇáÚÇã ÇáÏÑÇÓí": Exit Sub
    Me.Periods.SetFocus
    If Me.Periods.Text = "" Then MsgBox "ÇáÑÌÇÁ ÅÎÊíÇÑ ÇáÝÊÑÉ": Exit Sub
    If MsgBox("ÓæÝ íÊã ÊÑÍíá ÇáØáÇÈ" & vbCrLf & "åá ÇäÊ ãÊÃßÏ ãä ÊäÝíÐ ÇáÃãÑ .", vbMsgBoxRtlReading + vbMsgBoxRight + vbExclamation + vbYesNo, "ÊÑÍíá ÇáØáÇÈ") = vbNo Then Exit Sub
    Dim SQL As String
    SQL = "INSERT INTO Grades_Obtained_Basic_School (Class_B, Academic_Year_B, Periods_B, File_No_B)" & _
    "SELECT Grades_Obtained_Basic_School.Class_B, Grades_Obtained_Basic_School.Academic_Year_B," & Me.Periods.Column(0) & ",Grades_Obtained_Basic_School.File_No_B " & _
    "FROM Students INNER JOIN Grades_Obtained_Basic_School ON Students.File_No=Grades_Obtained_Basic_School.File_No_B " & _
    "WHERE Grades_Obtained_Basic_School.Class_B=" & Me.Class.Column(0) & " AND Grades_Obtained_Basic_School.Academic_Year_B=" & Me.Year.Column(0) & ";"
    DoCmd.SetWarnings False
    DoCmd.RunSQL SQL
    MsgBox "Êã ÊÑÍíá ÇáØáÇÈ ÈäÌÇÍ"
     

×
×
  • اضف...

Important Information