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

تحويل حقول متعددة الى سجلات حسب الاسم


Barna

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

السلام عليكم ورحمة الله وبركاته ..... ارجو أن تكونوا في اتم صحة .

لدي جدول مدرسي للمعلمين ..... عبارة عن عدد من الحقول لكل معلم في العمود الواحد .. اسم المعلم - المادة - القاعة .. هذا خلال الحصة الاولى ليوم الأحد وفي العمود الاخر يمثل الحصة الثانية وفيها ايضا اسم معلم اخر والمادة والقاعه .... وهكذا حتى الحصة الاخيرة ..................... تحت هذه البيانات تأتي بيانات اليوم الثاني وبنفس الطريقة .....

السؤال :

هل يمكن باستعلام أو كود جمع بيانات جدول كل معلم على شكل سجل ؟

مرفق ملف للنظر والتعديل ......واشكركم سلفا .... بارك الله فيكم

barna.rar barna.accdb

رابط هذا التعليق
شارك

وعليكم السلام 🙂

 

هذه طريقة ادخال البيانات في الاكسل ، وهي ليست صحيحة لقاعدة بيانات !!

الطريقة الصحيحة هي شيء من هذا القبيل:

1024.Clipboard01.jpg.f63f521918086ca3f64932ff9ca06ff3.jpg

 

وحينها تقدر عمل اي شيء تريد 🙂

 

جعفر

1024.barna.accdb.zip

  • Thanks 1
رابط هذا التعليق
شارك

أشكرك أخي جعفر على الرد ........

34 دقائق مضت, jjafferr said:

1024.Clipboard01.jpg.f63f521918086ca3f64932ff9ca06ff3.jpg

كلامك صواب ....

لكن للاسف هذا الجدول هو في الاساس مستورد من موقع نور وهو خاص بالمدارس ويحوي جداول المعلمين وعند استيراد الجدول على شكل ملف اكسل يبدو بالصورة المرفقه ,,,,,, 

المطلوب هو فرزها لأستخلاص جداول المعلمين عن طريق الاكسس ؟

واشكرك مرة اخرى :rol:

 

tetch.xls

رابط هذا التعليق
شارك

أهلا بك @Barna

قمت بعمل إجراء بسيط لمعالجة البيانات حسب ما تفضل به الاستاذ  جعفر..

أرجو أن تكون صحيحة وخالية من العيوب، وتنال استحسانكم..

1024.barna.accdb.zip

  • Like 1
  • Thanks 2
رابط هذا التعليق
شارك

  Dim RSB As DAO.Recordset
  Dim RSD As DAO.Recordset
  Set RSB = CurrentDb.OpenRecordset("Temp4", 2)
  Set RSD = CurrentDb.OpenRecordset("tbl_Classes", 2)
  Dim I As Integer, ClassDay As String, BM

  Do Until RSB.EOF
    '-- fine logic for retrive record
    If RSB!f2 Like "*/*" Then
      BM = RSB.Bookmark
      If Not IsNull(RSB!f1) Then ClassDay = RSB!f1
      
      For I = 2 To RSB.Fields.Count - 2
        If Not IsNull(RSB(I).Value) Then
          RSD.AddNew
          '-- day name
          RSD!Week_Day = ClassDay
          '-- class #
          RSD!Class = I - 1
          '-- row 1
          RSD!Branch = Split(RSB(I).Value, "/")(0)
          RSD!subject = Split(RSB(I).Value, "/")(1)
          '-- row 2
          RSB.MoveNext
          RSD!Teacher = RSB(I).Value
          '-- row 3
          RSB.MoveNext
          RSD!Hall = RSB(I).Value
          RSD.Update
          RSB.Bookmark = BM
        End If
      Next
   End If
   RSB.MoveNext
  Loop

أبو إبراهيم الغامدي

ما شاء الله تبارك الله 

كود صغير الحجم كبير النفع 

تشكر على هذه الجهود الرائعة ،

ممكن طلب :

إذا تيسر لك الوقت أن تتفضل علينا بشرح الكود حتى نتعلم منه .

بالذات هذه العبارة RSB.MoveNext 

تم تعديل بواسطه صالح البريكان
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information