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

صالح حمادي

أوفيسنا
  • Posts

    1,745
  • تاريخ الانضمام

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

  • Days Won

    29

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

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

    تفضل الكود التالي يقوم بطباعة الصورة مباشرة بدون عرضها في تقرير

        Dim imgPath As String
        Dim app As Object
    
        ' تحديد مسار الصورة
        imgPath = CurrentProject.Path & "\Pictures\" & Me.nn & ".jpg"
        Set app = CreateObject("Shell.Application")
         ' فتح الصورة في عارض الصور الخاص بالأوفيس
        app.Open imgPath
    
         ' طباعة الصورة
        Dim objShell As Object
        Set objShell = CreateObject("Shell.Application")
        objShell.Namespace(0).ParseName(imgPath).InvokeVerbEx ("print")
            
       Set app = Nothing
       Set objShell = Nothing

     

    print picture.rar

    • Thanks 1
  2. 7 ساعات مضت, Eng.Qassim said:

    وعليكم السلام استاذ صالح..

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

    https://www.accessrepairnrecovery.com/blog/access-database-table-recovery

    شكرا جزيلا اخي قام باسترجاع الجداول لكن بدون بيانات

  3. 2 ساعات مضت, النجاشي said:

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

    استاذي الفاضل صالح كيف حالك عساك بخير شهر مبارك يالغالي استاذي الفاضل حبيت اشارك لعلا تجد فيه طلبك أنا أتصفح بالموبايل ووجدت هذا الرابط لأحد الزملاء اطلع عليه لعلا يفيدك

    أهلين أخي ليك وحشة كبيرة 

    للأسف هذه الطريقة لا تعمل لان القاعدة تم اغلاقها

    2 ساعات مضت, kkhalifa1960 said:

    أهلين أستاذ خليفة

    هذه خاصة بــ sql server

  4. السلام عليكم زملائي الأكارم

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

    و المشكلة أن هذه الجداول هي المهمة و تحمل في طياتها مبالغ الديون.

    فهل هناك طريقة لاصلاح هذه القاعدة و استرجاع هذه الجداول

    بارك الله فيكم جميعا

  5. في ١٠‏/٧‏/٢٠٢١ at 00:18, Eng.Qassim said:

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

    معذرة على تأخري في الرد لظروف خاصة.

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

    - يجب فصل قاعدة البيانات (الجداول) عن برنامج الواجهة (النماذج و الاستعلامات و التقارير و الوحدات النمطية) يعني يصبح لديك ملفين و هذه هي الطريقة الصحيحة للعمل.

    ثانيا إذا كان التعديل على الواجهة فلا يوجد مشكل نضع الملف مكان الملف القديم و خلاص لأنه لا توجد بيانات مخزنة بها.

    المشكل عندما يكون التعديل على الجداول هنا نطبق الفطرة التي قلنا عليها من قبل و ليست السكوال سيرفر فهي لغة الإستعلامات الهيكلية هي لغة موحدة لمخاطبة جميع قواعد البيانات رغم إختلافها

    فتعلمها أمر مهم.

    الأمر الأخير أنا لا أحبذ تماما إستيراد البيانات لقاعدة جديدة و ذلك لعدة أسباب ذكرتها سابقا

  6. 19 دقائق مضت, Eng.Qassim said:

    انت فتحت الموضوع سابقا ولم تكمله مع الاستاذ رمهان

    الموضوع مكتمل أخي. أظن هناك سوء فهم فقط

    18 دقائق مضت, Eng.Qassim said:

    لكن يجب على المبرمج نفسه ان يقوم بتلك المهمة

    لا ليس بالضرورة المبرمج من يقوم بالعملية.

    مثلا نضع في قاعدة البيانات رقم نسخة البرنامج و عند تحديث الواجهة و إضافة تغييرات للقاعدة نغير رقم النسخة في التحديث الجديد الذي نرسلة للزبون

    عند فتح التحديث الجديد إذا وجد اختلاف في رقم النسخة يقوم البرنامج بتشغيل كود التعديل على قاعدة البيانات دون أن يعلم الزبون بذلك

  7. 14 ساعات مضت, Eng.Qassim said:

    وانا اعتقد رغم خبرتي القليلة بأن يقوم العميل بأرسال قاعدة بياناته عبر الايميل الى المبرمج ليتم نقل البيانات الى القاعدة الجديدة ومن ثم اعادة ارسالها الى العميل

    السلام عليكم

    هذا يعتبر خطأ كبير

    لأنه في بعض الأحيان القاعدة يكون حجمها أكبر من 100 ميغا مثلا هنا الإرسال يأخذ وقتا و كذلك استيراد الجداول للقاعدة الجديدة يأخذ وقتا أطول تخيل أنه عندك عدد كبير من الزبائن

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

  8. 10 ساعات مضت, SEMO.Pa3x said:

    احسنت استاذ صالح شرح رائع من شخص أروع

    شكرا جزيلا دكتور على مرورك الطيب

    4 ساعات مضت, ولد جدة said:

    بارك الله بك وزادك من علمه

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

    22 ساعات مضت, abouelhassan said:

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

    ربنا يبارك لك يارب

    سوف نحاول

    22 ساعات مضت, السعيد سعيدي said:

    بارك الله فيك استاذ صالح ونفع بك

    و يك بارك الله

    16 ساعات مضت, بلال اليامين said:

    اخي عند ارسال البيانات الى الاكسيل لم تظهر البيانات داخل الجدول

    جرب المرفق الموجود مع المشاركة سوف تجد زر إنشاء ملف أكسل و زر ارسال أو تصدير بيانات

    اضغط على زر  ان شاء ملف اكسل ثم اضغط على الزر الثاني و اذهب لمسار الملف سوف تجد ملف أكسل اسمه   2026

    في الشيت 4سوف تجد البيانات

  9. السلام عليكم و رحمة الله تعالى و بركاته

    من بين أكثر الأسئلة الموجودة في المنتدى هي حول التعامل مع الأكسل من الأكسس سواءا إستيراد أو تصدير.

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

    أولا: شرح بعض المصطلحات

    الأكسل هو تطبيق Excel.Application يقوم بفتح أو عرض المصنف Workbook 

    و المصنف يحتوي على عدة أوراق WorkSheets  و الشيت يحتوي على الكثير من الأعمدة Columns و الأسطر Rows

    تقاطع كل سطر و عمود يشكل لنا خلية Cells و كل مجموعة خلايا نحددها تسمى نطاق range

    -*- تذكرو هذه المصطلحات جيدا. سوف نعتمد عليها في هذا الموضوع إن شاء الله -*-

    ثانيا: إنشاء ملف أكسل جديد

    لإنشاء ملف أكسل سوف نقوم بإنشاء تطبيق أكسل Excel.Application و نضيف له مصنف جديد Workbook به ثلاث أوراق sheets و نستطيع إضافة شيت آخر أو أكثر لهذا المصنف ثم نقوم بحفظ هذا الملف بمسار محدد و هذا هو الكود:

        Dim xlApp As Object  'Excel.Application
        Dim xlWB As Object   'Excel.Workbook
        Dim xlWs As Object   'Excel.Sheet
    
        Set xlApp = CreateObject("Excel.Application") 
        Set xlWB = xlApp.Workbooks.Add   ' إضافة مصنف جديد
        
        Set xlWs = xlWB.Worksheets.Add   ' إضافة شيت جديد
        xlWB.SaveAs CurrentProject.Path & "\2026.xlsx"   ' حفظ الملف باسم 2026
    
        xlApp.Quit
    
        Set xlWs = Nothing
        Set xlWB = Nothing
        Set xlApp = Nothing
        MsgBox "انتهت المهمة بنجاح"

    ثالثا: التصدير لملف أكسل موجود مسبقا

    سوف نقوم بإرسال بيانات ثابتة لخلايا محددة بملف الأكسل الذي أنشأناه في الأعلى و نستطيع بنفس الطريقة إرسال بيانات من جدول أو إستعلام من خلال الكود التالي:

        Dim xlApp As Object  'Excel.Application
        Dim xlWB As Object   'Excel.Workbook
        Dim xlWs As Object   'Excel.Sheet
        Dim curPath As String
        
        curPath = CurrentProject.Path & "\2026.xlsx"    'مسار ملف الأكسل
    
        Set xlApp = CreateObject("Excel.Application")
        xlApp.Visible = False   ' إخفاء التطبيق
        
        Set xlWB = xlApp.Workbooks.Open(curPath)
        Set xlWs = xlWB.Worksheets(1)   ' 1 هو رقم الورقة في ملف الأكسل
           
        xlWs.Cells(1, 1).Value = "الاسم"
        xlWs.Cells(2, 1).Value = "ابوخليل"  ' 2 رقم السطر   و 1 هو رقم العمود
        xlWs.Cells(3, 1).Value = "جعفر"
        
        xlWs.Cells(1, 2).Value = "العنوان"
        xlWs.Cells(2, 2).Value = "الدمام"
        xlWs.Cells(3, 2).Value = "مسقط"
        
        xlWs.Cells(1, 3).Value = "الهاتف"
        xlWs.Cells(2, 3).Value = "011245632"
        xlWs.Cells(3, 3).Value = "033156513"
    
        xlWB.Save
        xlApp.Quit
    
        Set xlWs = Nothing
        Set xlWB = Nothing
        Set xlApp = Nothing
        MsgBox "انتهت المهمة بنجاح"

     

    التحكم في الأكسل.accdb

    • Like 3
    • Thanks 2
  10. 2 ساعات مضت, mostafaelshnawy5 said:

    شكرا جزيلا احي علي مرورك ولكن هذا المثال يعتمد علي رقم الهاردوير الخاص بكل جهاز وهذا ليس ما اريده

    ما اريده هو نموذج يظهر بعد فترة مثلا 30 يوم وعند ظهوره ارسل للعملاء رقم تفعيل موحد لجميع العملاء وليس ع حسب كل جهاز وشكراً

    الأمر بسيط إذن قم بتغيير الكود الذي يولد رقم الهارد بالكود الذي تريده.

×
×
  • اضف...

Important Information