-
Posts
1,069 -
تاريخ الانضمام
-
تاريخ اخر زياره
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
مشاركات المكتوبه بواسطه عفرنس
-
-
12 ساعات مضت, أبو إبراهيم الغامدي said:
المرفق السابق به خطأ.. أعتذر!
شكر الله لك أخي الكريم @أبو إبراهيم الغامدي
الأمور تسير إلى خير .. 🌹🌹
- 1
-
18 دقائق مضت, أبو إبراهيم الغامدي said:
وهذا يعني أنك تستخف بي!
والذي رفع السماء بلا عمد ما طرأ هذا الكلام على بالي .. غفر الله لي ولك ..
* الأمر الثاني فالنسخة التي أعمل عليها فعلا ليست التي عملتها أنت .. وهذا ربما هو الذي أشكل علي ..
* وإلى هنا سأتوقف ..
* وأسأل الله أن يغفر لي ولك ..
- 1
-
8 دقائق مضت, أبو إبراهيم الغامدي said:
أرجو أن تتفهم أنه في هذه المرحلة لا يمكن اختيار شعبة أو شعب بعينها! يجب أن تكون الشعب متسلسة.
لا تقم باختيار قيمة في مربع الشعبة!
أخي @أبو إبراهيم الغامدي إذا لم أقم باختيار الشعبة في النموذج فلن يظهر لي اسم المادة أو المقرر .. كما ترى في الصورة المرفقة ..
إذا كيف أعمل ؟؟ فأنا لم أفهم ما تفضلت به .
-
المشكلة أخي @Barna @أبو إبراهيم الغامدي تكمن هنا .
-
منذ ساعه, عفرنس said:
عندما أرحل البيانات إلى القالب لا يضيفها إلا في شيت 2 فقط . لعلك ترفق لي البرنامج بالكود الجديد . فلعلي أخطأت في نسخ الكود ..
هلّا مررت بنا
38 دقائق مضت, Barna said:..
-
الان, Barna said:
هل في اعتقادك نوع اصدار أكسس ؟؟
اللي عندي 2016
الان, عفرنس said:هل في اعتقادك نوع اصدار أكسس ؟؟
اللي عندي 2016
ما رأيك ترفق لي النسخة التي عندك ؟؟
2 دقائق مضت, عفرنس said:هل في اعتقادك نوع اصدار أكسس ؟؟
اللي عندي 2016
ما رأيك ترفق لي النسخة التي عندك ؟؟
هذا قالب الرياضيات الذي أعمل عليه .. @Barna
-
7 دقائق مضت, Barna said:
أحسنت الان ضبط عدم تكرار الأسماء ..
لكن ما زال عندي مشكلة عدم وضع الشعب في الشيت المحدد لكل شعبة ..
1 دقيقه مضت, أبو إبراهيم الغامدي said:أعتذر عن هذا الخطأ.. أ. @Barna قام بالواجب
كلاكما فيه الخير والبركة .. ما قصرتم أخي @أبو إبراهيم الغامدي و أخي @Barna
لكن يبقى لدي مشكلة عدم وضع شعبة 2 في شيت 4 وشعبة 3 في شيت 6 وشعبة 4 في شيت 8
لا أدري أين الخلل عندي .
-
-
-
-
1 دقيقه مضت, Barna said:
هل اخترت من النموذج
الصف
المادة
المعلم
إي نعم
-
أيضا عند اختيار الشعبة رقم 2 يضيف طلابها في شيت رقم 2 والمفترض يضيفهم في شيت رقم 4 ، وكذلك شعبة 3 المفترض يضيفهم في شيت رقم 6 وكذلك شعبة 4 المفترض يضيفهم في شيت رقم 8
-
9 دقائق مضت, عفرنس said:
@Barna تم إضافة التعديل الذي تفضلة به وعند التجربة تظهر الرسالة المرفقة في الصورة
تم حل المشكلة بحذف exit sub لكن هناك مشكلة أخرى وهي : انه تم اضافة جميع طلاب المستوى في الشيت كما ترى في الصورة المرفقة ..
نحتاج تصفية الطلاب بحيث ما يعطي الا طلاب الشعبة فقط
-
@Barna تم إضافة التعديل الذي تفضلة به وعند التجربة تظهر الرسالة المرفقة في الصورة
-
13 دقائق مضت, Barna said:
تم التوصل الى المطلوب وهذا هو التعديل ....
Dim fldrname As String Dim fldrpath As String Dim LExcelOriginal As String Dim LExcelCopyOf As String Dim WHERE$ '.. اللاحقة $ تعني أن المتغير نصي Dim RS_SECTIONS As DAO.Recordset Dim RS_STUDENTS As DAO.Recordset Dim fso As Object Dim objExcel As Object Dim objWorkbook As Object '-- إنشاء مجلد للمقرر Set fso = CreateObject("scripting.filesystemobject") fldrname = Me.[text3] fldrpath = CurrentProject.Path & "\السجل الالكتروني\" & fldrname If Not fso.FolderExists(fldrpath) Then fso.createfolder (fldrpath) End If '-- التأكد من توفر البيانات الأولية If Len(Me.text2) Then WHERE$ = " WHERE (Student.المادة='" & Me.text3 & "')AND (Student.الشعبة='" & Me.text2 & "')" ElseIf Len(Me.text3) Then WHERE$ = " WHERE (Student.المادة='" & Me.text3 & "')" Else MsgBox "بينات التصدير غير مكتملة" Exit Sub End If '-- إيجاد الشعب Set RS_SECTIONS = CurrentDb.OpenRecordset _ ("SELECT DISTINCT [الشعبة] FROM Student " & WHERE$ & "ORDER BY [الشعبة]") If RS_SECTIONS.RecordCount = 0 Then MsgBox "لا توجد بيانات لتصديرها" Exit Sub End If '-- نسخ قالب مصنف البيانات إلى مجلد المقرر LExcelOriginal = sXlsFile LExcelCopyOf = CurrentProject.Path & "\السجل الالكتروني\" & fldrname & "\" & Me.[text3] & "_.xlsm" Call FileCopy(LExcelOriginal, LExcelCopyOf) Set objExcel = CreateObject("Excel.Application") Set objWorkbook = objExcel.Workbooks.Open(LExcelCopyOf) '-- تدوير البيانات بناء على الشعب Dim SHEET% SHEET% = 2 Do Until RS_SECTIONS.EOF '-- إيجاد أسماء الطلاب بناء على الشعبة Set RS_STUDENTS = CurrentDb.OpenRecordset _ ("SELECT STUACDID,STUNAME FROM STUDENT WHERE [الشعبة]='" & RS_SECTIONS![الشعبة] & "' ORDER BY STUNAME") ' تعديل اسم صفحات الاكسل حسب اسماء الاستعلامات objWorkbook.Sheets(SHEET%).Name = RS_SECTIONS![الشعبة] '-- بيانات الترويسة objWorkbook.Sheets(SHEET%).range("B1").Value = _ "اسماء طلاب الصف " & "(" & Me.[text1] & ")" _ & " -- " & "(" & RS_SECTIONS![الشعبة] & ")" _ & " المادة " & "(" & Me.[text3] & ")" _ & " معلم المادة / " & "(" & Me.[text4] & ")" '-- بيانات الطلاب objWorkbook.Sheets(SHEET%).range("c5").CopyFromRecordset RS_STUDENTS SHEET% = SHEET% + 2 '-- الانتقال إلى الشعبة التالية RS_SECTIONS.MoveNext Loop '-- حفظ البيانات objExcel.DisplayAlerts = True objWorkbook.Close SaveChanges:=True '-- إغلاق المصادر objExcel.Quit Set objWorkbook = Nothing Set objExcel = Nothing Set RS_SECTIONS = Nothing Set RS_STUDENTS = Nothing ' VBA.Shell "Explorer.exe " & Chr(34) & LExcelCopyOf & Chr(34), vbNormalFocus"هذا السطر لفتح ملف الاكسل بعد التصدير" ' DoCmd.DeleteObject acTable, "temp" MsgBox "تم تصديرالبيانات بنجاح"
تم اضافة هذه الشيفرية ....
' تعديل اسم صفحات الاكسل حسب اسماء الاستعلامات objWorkbook.Sheets(SHEET%).Name = RS_SECTIONS![الشعبة]
لعلك أخي @Barna ترفق البرنامج بعد التعديل الذي تفضلت به ..
-
7 دقائق مضت, Barna said:
هل يمكن تعديل الشيفرة السابقة ليكون اسم الشيت هو اسم الشعبة المصدرة لتلك الورقة ......
بارك الله فيك ..
👍👍
ننتظر رد الأخ الفاضل @أبو إبراهيم الغامدي
-
إخواني الفضلاء .. @أبو عبدالله الحلوانى @أبو إبراهيم الغامدي
تحية طيبة لكم ..
بعد تجربة الكود الذي تفضل به أخي @أبو عبدالله الحلوانى فقد وجدته هو المطلوب ويفي بالمقصود مع بعض التعديل في حال الحاجة . وفقكم الله جميعا .. ولا حرمكم الأجر .
If ShabaNo <= 4 Then shetNo = Val(ShabaNo * 2) Else Select Case ShabaNo Case 5 shetNo = 2 Case 6 shetNo = 4 Case 7 shetNo = 6 Case 8 shetNo = 8 End Select End If
-
15 دقائق مضت, عفرنس said:
افعل ما تراه مناسبا .. المهم نصل الى النتيجة ..
يسر الله امرك ..
البرنامج عندي مكتمل لا غبار عليه .. فقط اريد اضافة بيانات الشعب في القوالب المرفقه كما ذكرت مسبقا ..
وأشكر لك مشاركتك واهتمامك ..
الان ارفق لك البرنامج وفيه بعض البيانات ..
-
9 دقائق مضت, أبو إبراهيم الغامدي said:
بعدها هذا التوضيح، لدي اقتراح فيما يتعلق بتصفية البيانات..
في اعتقادي أننا لسنا بحاجة إلى إنشاء جدول مؤقت لترحيل البيانات إلى أكسل! بل يمكن استخدام جدول الطلاب مباشرة!
المنهج CopyFromRecordset له محددان إضافيان هما عدد الأعمدة، وعدد الصفوف المطلوب جلب البيانات منها في مصدر السجل.. إذا أردنا مزيدا من التحكم..
افعل ما تراه مناسبا .. المهم نصل الى النتيجة ..
يسر الله امرك ..
8 دقائق مضت, ابو البشر said:كلامك كله صيحيح لأنه يعمل على موقع نور ....
فيموقع نور يتم تصدير جداول المعلمين وجداول الطلاب ومنها يمكن الربط بين جداول الطلاب والمعلمين بطريقه تسهل عليك كا ما تريد فهله فيما بعد .... لكن طالما انك بدأت بطرقك هذه إذا لابد من البحث من مخرج ..... وقد تجد لها حل من الاخوة الخبراء ...
البرنامج عندي مكتمل لا غبار عليه .. فقط اريد اضافة بيانات الشعب في القوالب المرفقه كما ذكرت مسبقا ..
وأشكر لك مشاركتك واهتمامك ..
4 دقائق مضت, أبو إبراهيم الغامدي said:ورقة بيانات الطلاب التي تستوردها من أكسل يوجد بها معلومات كثيرة ومن ضمنها اسم معلم المادة! وبالتالي يمكن تضمين اسم المعلم ضمن جدول بيانات الطلاب، كما هو الحال مع اسم الشعبة والمادة...
لكن ليس لديّ منها شيء حتى أطبق عليها
الان ارفق لك البرنامج وفيه بعض البيانات ..
-
7 دقائق مضت, أبو إبراهيم الغامدي said:
أذن صار لكل معلم ملف خاص! هذا سهل.. سهل الله أمرك
هذا صحيح ..
كل معلم له ملف مستقل ..
-
1 دقيقه مضت, ابو البشر said:
أخي فايز ...
المفروض كل شعب المعلم الواحد تكون مرتبطة بالمعلم نفسه من خلال علاقة يفهمها البرنامج .... حتى اذا كتبت الكود في التصدير للاكسل يبدأ بالمعلم س وينفذ تصدير كل شعبه بالترتيب الى ملف الاكسل ثم يبدأ بمعلم آخر وهكذا تكون العملية صحيحة في رأي الخاص .... بارك الله في الجميع
أخي @ابو البشر
البرنامج يتم استيراد البيانات اليه من خلال جدول الطلاب .
البيانات تشمل ( المستوى -الشعبة - والمادة - واسم الطالب ) وكل هذه مجتمعة في الجدول ..
أما أسماء المعلمين فهي مستقلة ولذلك تلاحظ انها في جدول مستقل ..
فمن الصعب اضافة كل معلم في الجدول
-
9 دقائق مضت, أبو إبراهيم الغامدي said:
أحسنت البيان أ. محمد..
وفي نظري أن بقاء كل شعبة في ورقة مستقلة أرتب للبيانات وأسهل في التعامل!
الأخ @أبو عبدالله الحلوانى استطاع ايجاد الحل للشعب من 1الى 4
بقي شعبة 5 الى 8 كنت أريدها بنفس الطريقة ..
-
1 دقيقه مضت, أبو عبدالله الحلوانى said:
أولا- باعتذر لتأخري بالرد فانا لا أزور الموقع الا بشكل متقطع هذه الأيام
ثانيا- لنصل الي الحل الذي يرضيك أعد النظر فيما قال أستاذنا أبو ابراهيم.
ما هي الآلية التي ستضيف بها بيانات الشعبتين في الشيت الواحد هل ستكون اسماء الشعبة الأولي أولا ثم بيانات الشعبة الثانية تحتها بنفس الأعمدة أم سيتم تغير موضع ادخال كل شعبة
أوضح لنا هذه الجزئية لكي نستطيع المساعدة؟ كيف تريد أن يكون شكل بيانات الشعبتين داخل الشيت الواحد؟؟
أخي @أبو عبدالله الحلوانى حتى تتضح الصورة :
الان كل قالب اكسل يحوي 8 شيتات ..
وعندي كمثال مادة الرياضيات يدرسها معلمان .
المعلم الاول يدرس من شعبة 1 الى 4
المعلم الثاني يدرس من شعبة 5-8
كل معلم سأعطيه طلابه في ملف اكسل
فالمعلم الاول سيكون طلاب شعبة 1 في شيت رقم 2 وطلاب الشعبة 2 في شيت رقم 4 وهكذا شعبة3 في شيت 6 وطلاب شعبة 4 في شيت 8
_______
المعلم الثاني / اريد يكون طلاب شعبة 5 في شيت 2
وطلاب الشعبة 6 في شيت رقم 4 وهكذا شعبة 7 في شيت 6 وطلاب شعبة 8 في شيت 8
ان شاء الله اكون وضحت مرادي
-
4 ساعات مضت, أبو إبراهيم الغامدي said:
بحسب قالب البيانات في ورقة أكسل لا يمكن تطبيق الفكرة التي أشرت إليها أعلاه..
أنت بحاجة إلى إعادة نسخة تنسيق القالب ولصقه في الأسفل لتتمكن من إضافة الشعبة الثانية! ولا أظن أنه يوجد طريقة أخرى لتطبييق الفكرة..
وهناك إشكالية أخرى ؛ وهي طريقة تصفية البيانات التي تعمل بها في النموذج لا تسمح باختيار قيم متعددة!
جزاك الله خيرا أخي الفاضل @أبو إبراهيم الغامدي على مرورك ..
هذا هو البرنامج وقوالب اكسل ..
** ملحوظة : كنت أضفت ماهو في المستطيل الأحمر المرفق في الصورة .. فأحيانا تنجح الطريقة وأحيانا أخرى لا تنجح ..
إليكم القوالب مرفقة ..
اضافة البيانات في أكثر من شيت في ملف اكسل
في قسم الأكسيس Access
قام بنشر
@أبو إبراهيم الغامدي @Barna
هذه ملفات اكسل ( جداول الطلاب - المعلمين )
CS_GetStudentScheduleReport (4).xlsx Teacher Schedule.xls