اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

عبد الفتاح كيرة

الخبراء
  • Posts

    3,015
  • تاريخ الانضمام

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

  • Days Won

    4

مشاركات المكتوبه بواسطه عبد الفتاح كيرة

  1. السلام عليكم و رحمة الله

    إخوتى 

    لدى جدول يشتمل على 

    رقم تقرير الموظف

    رقم الموظف

    درجة تقرير الموظف

    المطلوب إظهار آخر 3 تقارير لكل موظف

    وذلك حسب رقم التقرير

    فالرقم الأعلى فى حقل رقم التقرير هو آخر تقرير

    والرقم السابق عليه هو رقم التقرير السابق

    و هكذا

    كما بالصورة

    test.rar

    Screenshot_1.png.82b8dce8ffdd12ef9f8f0b1cda0f66bd.png

    و جزاكم الله خيرا

  2. الإخفاء جملة أو الإظهار جملة

    هذا هو الواقع

    أما عدم التمكين فيكون 

    لزر السابق عندما لا يكون هناك سجل سابق

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

     

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

    فلا معنى لعدم تمكين الأزرار مع إمكانية التنقل

    والله أعلم

    • Like 1
  3. 17 ساعات مضت, Shivan Rekany said:

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

    لكن انا ما فهمت من طلبك هذا ممكن توضيح اكثر

    هل تريد شيء مثل دالة COUNTA في اكسل ؟

    وهل هناك قاعدة للتجربة عليه بعد توضيح 

    أرفقت قاعدة البيانات

    شكرا لك

    • Like 1
  4. أشكركم جميعا على حسن الرد

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

    وجارى تجربة و تنفيذ كود الأخ أبى خليل

    و أوافيكم بالنتائج

    أولا تعديل كود الأخ جعفر ليوافق ما أريد

    Private Sub Form_Load()
    Dim Counter As Integer
        
        Set rst = CurrentDb.OpenRecordset("Select * From tbltabs")
        rst.MoveLast: rst.MoveFirst
        rc = rst.RecordCount
        RF = rst.Fields.Count
        
          
        'Records
        For i = 1 To rc
            
            Counter = 0


            'Fields
            For j = 1 To RF - 1
            
                'Debug.Print rst(j).Name & vbTab & rst(j)
                If rst(j).Name <> "tt_ID" And rst(j).Name <> "ttab_No_ID" And _
                   rst(j).Name <> "tt_tname" And rst(j).Name <> "h_c" Then
                    
                    If Len(rst(j) & "") <> 0 Then
                        Counter = Counter + 1
                    End If
                    
                End If  'rst
                
            Next j
            
            rst.Edit
                rst!h_c = Counter
                
                If Counter = 0 Then
                    rst!h_c = 0
                Else
                    rc = 1
                End If
                
            rst.Update
            
            rst.MoveNext
        Next i
        
        rst.Close: Set rst = Nothing
            
    End Subgadwal2003.rargadwal.rar

     

     

     

     

     

     

     

    Screenshot_1.png.d8dfa0823037094e078981cf4e6de794.png

     

    كود الأخ أبى خليل

    يصعب كتابة اسم 49 حقلا

    جزاك الله خيرا

    ربما يصلح هذا الكود فى موضع آخر

    • Like 1
  5. أشكركم جميعا على حسن الرد

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

    وجارى تجربة و تنفيذ كود الأخ أبى خليل

    و أوافيكم بالنتائج

    أولا تعديل كود الأخ جعفر ليوافق ما أريد

    Private Sub Form_Load()
    Dim Counter As Integer
        
        Set rst = CurrentDb.OpenRecordset("Select * From tbltabs")
        rst.MoveLast: rst.MoveFirst
        rc = rst.RecordCount
        RF = rst.Fields.Count
        
          
        'Records
        For i = 1 To rc
            
            Counter = 0


            'Fields
            For j = 1 To RF - 1
            
                'Debug.Print rst(j).Name & vbTab & rst(j)
                If rst(j).Name <> "tt_ID" And rst(j).Name <> "ttab_No_ID" And _
                   rst(j).Name <> "tt_tname" And rst(j).Name <> "h_c" Then
                    
                    If Len(rst(j) & "") <> 0 Then
                        Counter = Counter + 1
                    End If
                    
                End If  'rst
                
            Next j
            
            rst.Edit
                rst!h_c = Counter
                
                If Counter = 0 Then
                    rst!h_c = 0
                Else
                    rc = 1
                End If
                
            rst.Update
            
            rst.MoveNext
        Next i
        
        rst.Close: Set rst = Nothing
            
    End Subgadwal2003.rargadwal.rar

     

    Screenshot_1.png.d8dfa0823037094e078981cf4e6de794.png

  6. جميل جدا

    أحتاج من هذا الجزء الخاص بالحقول

    مع استخدام الشرط

    Not isempty 

    وإرجاع واحد عند تحقق الشرط

    وصف عند عدم تحقق الشرط

    والجمع تراكميا فى متغير

    و وضع الناتج فى حقل محسوب آخر الجدول

    ويتم تشغيل الكود عند فتح النموذج و إغلاقه

    هذه هى الخطة

    جارى التنفيذ

    وشكرا لك

    5a424c7d6da45_Screenshot_-----.png.be216be5632959d7cc0e82525ccb04a3.png

  7. شكرا لكم

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

    قد يحدث نتائج كارثية على قاعدة البيانات

    مثلا قد يضيف مستخدم دولة الأردن بهمزة 

    أو الاردن بدون همزة

    وتعرف أن هذه العناصر تستخدم بعد ذلك فى استعلامات و إحصاءات

    وفقكم الله

  8. السلام عليكم

    عندنا جدول بالقول

    A b c d

    كيف يمكن عد القيم غير الفارغة

    فى سجل واحد من جميع الحقول

    A1 b1 c1. ....

    وهكذا

    قد تصل إلى 40 حقلا

    وهذا مطلوب لعد حصص مدرس فى جدول مدرسى

    فى السجل

    اسم المدرس فى حقل

    وبعده

    الحصة الأولى يوم الأحد ثم الثانية يوم الأحد ثم الثالثة وهكذا إلى الثامنة يوم الأحد ثم إلى الثامنة يوم الخميس

    فطبعا هناك حصص يدخلها المعلم و حصص أخرى فارغة

    أريد عد الحصص غير الفارغة للحصول على عدد حصص المدرس فى اليوم

    بعبارة مختصرة

    عد القيم غير الفارغة من عدة حقول فى سجل واحد

    وشكرا

     

    • Like 1
  9. 4 ساعات مضت, أبو آدم said:

    للتعرف على ثاني أعلى قيمة

    
    SELECT Min(Field1) AS Top2
    FROM table1
    WHERE (((table1.[Field1]) In (SELECT TOP 2 Field1 from table1 ORDER BY Field1 DESC)));

    أو

    
    select Field1
      from Table1
     where Field1 = 
           ( select max(Field1)
               from Table1
              where Field1 <
                   ( select max(Field1)
                       from Table1 ))

     

    رائعة و مطلوبة

    جزاك الله خيرا

  10. 4 ساعات مضت, Shivan Rekany said:

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

    صار مطلبا جماهيريا

    حبذا لو يفتتح الأخ إبراهيم موضوعا يختاره لشرح vba

    إن شاء الله أرفع لكم الملف بعد حذف البيانات الخاصة منه

    • Like 1
  11. الحمد لله

    أخذ حاجتى من هذه الحلول الرائعة

    بهذا الكود

    مع تعديل اسم الشيت كل مرة

    Sub EXPORT_TO_EXCEL_01(SHEET_NAME) '.. EXPORT TO EXCEL USING DOCMD RUNSQL
     DoCmd.RunSQL "SELECT [EmpName],[Mada],[nsun1],[nsun2],[nsun3],[nsun4],[nsun5],[nsun6] , [nsun7], [nsun8], [nmon1], [nmon2], [nmon3], [nmon4], [nmon5], [nmon6],[nmon7],[nmon8], [ntu1],[ntu2],[ntu3],[ntu4],[ntu5],[ntu6] , [ntu7], [ntu8] , [nwed1],[nwed2],[nwed3],[nwed4],[nwed5],[nwed6] , [nwed7] , [nthu1],[nthu2],[nthu3],[nthu4],[nthu5],[nthu6] , [nthu7]  INTO [" & SHEET_NAME & "]IN'" _
        & CurrentProject.Path & "\الجدول'[Excel 8.0;HDR=yes;] FROM q_all"
        End Sub

    وفى الاستدعاء

    Private Sub أمر23_Click()
    DoCmd.SetWarnings False
     EXPORT_TO_EXCEL_01 "جدول " & Format(Now(), "mm:ss")
     MsgBox "تم تصدير الجدول بنجاح إلى نفس مجلد قاعدة البيانات سيتم فتح المجلد الآن... "
    On Error GoTo 1
    Application.FollowHyperlink CurrentProject.Path
    1:
    DoCmd.SetWarnings True
    End Sub

    شكرا لك أخانا الفاضل أبا إبراهيم

    نجد لديك مستويات من الأكواد و الطرق

    كأنك تقرأ من كتب لا ندرى نحن عنها شيئا

    هلا دللتنا على بعض مصادر تعلمك

    وفقكم الله

  12. في ٨‏/١٢‏/٢٠١٧ at 10:43, عبد الفتاح كيرة said:

    السلام عليكم

    وجدت بالمنتدى هذا الموضوع لتصدير الاستعلامات إلى إكسيل

     

    لكنى أبحث عن ميزة اختيار الحقول التى يتم تصديرها من الاستعلام

    يعى مثلا الاستعلام ينتج 45 حقلا

    أرغب فى تصدير الحقول من 19 : 45

    و لكم جزيل الشكر

     

    أشكرك جدا أستاذنا أبا إبراهيم

    مائدة عامرة بالحلول

    أما عن طريقة تمكين المستخدم وكيفية اختياره للحقول

    فالحقيقة أن المستخدم لن يختار حقولا

    بل سيكون الاختيار جاهزا

    ويتم تصدير الاستعلام جملة عن طريق زر أمر

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

    مثلا الدرجة المالية تساوى 1 فى الجدول الرئيس

    وهناك جدول يبين ما اسم الدرجة 1 وهو جدول مساعد به مسميات الدرجات

    الدرجة 1 تساوى مسمى الدرجة الأولى

    فى استعلام ندرى حقل الدرجة من الجدول الرئيسى و هى هنا الرقم 1

    وباستخدام dlookup فى نفس الاستعلام نحصل على مسمى الدرجة النصى

    وهو (الدرجة الأولى)

    الحقل النص هو المراد تصديره والحقل الرقمى لا نريد تصديره لأنه غير مفهوم للجهة المرسل إليها التقرير

    المشكلة أنه عند التصدير يصدر كل الحقول حتى حقول نعم/لا

    ما أريده هو

    اختيار أرقام أو أسماء الحقول المصدرة من داخل الكود

    وهذا متوفر فى الأكواد التى أرسلتها

    حقيقة

    أول مرة أدرى أن

    Insert into

    تستخدم للتصدير إلى شيت  عوضا عن جدول

    جارى التجربة

    جزاك الله خيرا على ما تقدمه

    وهل من الأسهل انتقاء الحقول فى استعلام يستخدم الاستعلام الأول لانتقاء الحقول و من ثم تصديره؟

    وعن العودة للمنتدى

    فدائما أعود للتعلم منكم و إثارة التساؤلات و المشكلات

    وتلقى جواهر الحلول

    جزاكم الله خيرا

  13. السلام عليكم

    الحل المؤقت و هو ليس سيئا

    هو عمل استعلام من الاستعلام الأصلى

    واختيار الحقول المطلوب إظهارها فقط

    بعد ذلك يتم تصدير هذا الاستعلام الأخير

    وشكرا لتعاونكم

  14. للأسف ليس هذا هو المطلوب

    المطلوب تصدير استعلام و ليس تقريرا إلى إكسيل

    الوظيفة

    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "staff_list_with_grouping", "C:\test\test.xlsx", True

    فيها اختيار تحديد الحقول المراد تصديرها

    لكن طريقة عمله ليست واضحة لدى

     

×
×
  • اضف...

Important Information