ibnjabalsoftware
-
Posts
13 -
تاريخ الانضمام
-
تاريخ اخر زياره
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
مشاركات المكتوبه بواسطه ibnjabalsoftware
-
-
هذا الكود عبارة عن استعلام اجرائي يقوم بوظيفة الحاق معلومات جدول الي احر
الاستعلام يعتمد علي نموزج اسمه
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)));
ما هز المطلوب .... رجاءا اشرح وباسهاب ...
الان كل ماهو مطلوب (تنسيق هذا الاستعلام وتحويله لكود vba ) بدلا من الاستعلام بطبيعته الحالية
مرفق نموزج به المعطيات والمطلوب
-
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)));
ما هز المطلوب .... رجاءا اشرح وباسهاب ...
-
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)));
-
يوم 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
بحيث لايستطيع احد الوصول الي الاستعلام وتخريبه
-
-
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
-
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 مكررين ثلاثة مرات
-
2 ساعات مضت, Ahmed_J said:
السلام عليكم
كلامك صحيح استاذي العزيز @ابوخليل
انا جربت الملف
السجلات لاتتكر
لكنني اعتقد ان السائل طلبه بالاضافة للالحاق هو عمل تحديث للسجلات عند عمل اي تغيير باي حقل من حقول الجدول stages تتغير سجلات الجدول Obtained_Basic
تحياتي استاذ
الله ينور علييييييييييييك يا استاذ @Ahmed_J
يا @ابوخليلالاستعلام يعمل في المرة الأولي في حال تفريغ جدول Obtained_Basic وبعدها لايستطيع نسخ السجلات ازا شغلت الاستعلام مرة اخري
هذا هو المطلوب بعينه
هب انني سجلت 3 طلاب في ثلاث صفوف مختلفة في جدول stages
وبعدها قرت اجلاسهم في الامتحان الشهري الأول في جدول Obtained_Basic
سانقل الطلاب باستعلام وياحبزا تحوله لكود من جدول stages الي جدول Obtained_Basic بناءا علي الفلتر او المرشحات او الكمبو بوكس الموجودة في نموزج Operations_On_Result
ويمكن تكرار هذ الخطوات في كل مرة تطرأ فيها اختبارات او امتحانات مع مراعات تغيير السنة والفترة من نموزج Operations_On_Result
وبدون تكرار نفس الطلاب اصحاب الفترة السابقة بنفس معلومات الفترة السابقة بحيث لايمكن تكرارهم
-
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
-
قمت باقتطاف هذا الكود من الاستعلامات الاجرائية
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
) -
نقل كل المفاتيح من stages الي Obtained_Basic يشرط في المرة الاولي كلها
في المرة الثانية بشرط نقل السجلات الجيد او التي حدث بها تغيير
-
السلام عليكم ورحة الله وبركانه
الاخوة الأكارم الرجاء تعديل العنوان والقسم بمايتناسب مع قوانين المنتدي
لدي مشكلة لم استطع حلي منز فترطة طويلة (حاولت بكل الطرق _ استعلامات الحاق اجرائية _ حاولت بكود 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 "Êã ÊÑÍíá ÇáØáÇÈ ÈäÌÇÍ"
ضبط تنسيق الكود
في قسم الأكسيس Access
قام بنشر
اولا شاكر لاهتمامك
لكن الكود لايعمل بالصورة المطلوبة
اعزرني @kkhalifa1960 هل قمت بتجربة الكود
وهلي حاولت النقل بعد التجربة الاولي مع تغير احد القائمتين المنسدلتين السنة او الفترة
مع وافر شكري وتقديري