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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      10

    • Posts

      9,814


  2. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

    المشرفين السابقين


    • نقاط

      6

    • Posts

      13,165


  3. صالح حمادي

    صالح حمادي

    أوفيسنا


    • نقاط

      4

    • Posts

      1,745


  4. عبدالرحمن حارثة

    عبدالرحمن حارثة

    03 عضو مميز


    • نقاط

      2

    • Posts

      112


Popular Content

Showing content with the highest reputation on 13 يول, 2017 in all areas

  1. وعليكم السلام تحويل التقرير الى صورة ، سواء bmp او png او jpg او غيرها ، هي من الاسئلة العريقة التي لا تزال الروح فيها ، ونراها بين فترة واخرى هناك نوعان من الصور التي يستطيع تقرير الاكسس طباعتها ، وهما خاصّتان بمايكروسوفت فقط ، صيغة snp ، ثم في الاكسس 2007 فما فوق تم اضافة صيغة xps (في نفس الوقت الذي تم إضافة صيغة pdf كذلك) ، لا توجد برامج تحويل هذه الصيغ الى صيغ الصور المتعارف عليها مثل bmp او png او jpg او غيرها ، غير عدد جدا محدود ، مثل تحويل xps الى صور: xps2img: https://sourceforge.net/projects/xps2img/ ولكن وحسب تجاربي ، فأفضل طريقة لتحويل التقرير (او اي شيء من الكمبيوتر تريد تحويله الى صورة) ، هو استخدام الطابعة الافتراضية ، انا لا استخدم طابعة الورق عندما اريد ان اجرب اطبع التقارير ، وانما اطبع بصيغة pdf باستخدام طابعة افتراضية مجانية مثل http://www.dopdf.com/ اما الطابعات الافتراضية لتحويل التقارير الى صور ، فمنها (المجانية): https://www.print-driver.com/stories/convert-pdf-to-jpg-via-the-command-line http://emfprinter.sourceforge.net/ والتي بعد ان تطبع التقرير (تحفظ التقرير بصيغة صورة) ، فيمكنك ان تغير اسم ومكان الصورة بالكود: نسخ الملف من مجلد الى آخر FileCopy "Source_Path_And_Name", "Destination_Path_And_Name" مثل dim New_File_Location as string 'New_File_Location= application.currentproject.path & "\Files\" & me.ID & ".doc" New_File_Location="D:\BD\File_1.doc" FileCopy "D:\myFile.doc", New_File_Location نقل الملف من مجلد الى آخر، او تغيير اسم الملف Name "old_path_AND_name" As "new_path_AND_name" مثل dim New_File_Location as string 'New_File_Location= application.currentproject.path & "\Files\" & me.ID & ".doc" New_File_Location="D:\BD\File_1.doc" Name "D:\myFile.doc" As New_File_Location حذف الملف Kill "SourcePathAnd Name" . وعملت على احد برامج طباعة هويات الموظفين ، لطباعة الهويات على طابعة الهويات Fargo DTC550 وعند طباعة التقرير (الهوية بالصورة) مباشرة من التقرير الى الطابعة ، لاحظت ان الصور غير واضحة ، وبعد البحث اخبرني احد اصحابي "شكرا اخي محمد نادر" والذي كان قد قام بهذه الخطوة قبلي بعدة اشهر ، ان افضل طريقة للطباعة على هذه الطابعة هي: ان تطبع التقرير بصيغة xps ، ثم تفتح الصورة بواسطة xps viewer والذي يتم تنصيبه مع تنصيب الاكسس 2007 فما فوق ، وتطبع الهوية من هناك ، والصور كانت واضحة جدا وقد قمت بشراء الطابعة الافتراضية للمشروع اعلاه: https://code-industry.net/imageprinterpro/ ولكن نتيجة الطباعة كانت نفسها كالتي بـ xps viewer جعفر
    4 points
  2. السلام عليكم و رحمة الله تعالى وبركاته أساتذة و خبراء منتدانا الغالي حياكم الله أردت أن أنجز عمل بمعيتكم الكريمة . و هو إنجاز سلسلة دروس في vba الأكسس لتقوم إدارة المنتدى من بعد ذلك بتثبيت هذا الموضوع ليطلع عليه كل من يريد التعلم و يبقى صدقة جارية لكل من ساهم فيه و لو بحرف واحد. العمل سوف يقسم إلى مجموعة دروس مثلا : المتغيرات ,الجمل الإختيارية , الجمل التكرارية , الكائنات ......الخ. و سوف نحاول شرح جميع دوال و تعليمات VBA أكسس الموجودة مع إعطاء أمثلة في نهاية كل درس. على أن يتم تجميعه في الأخير مرتبا حسب تسلسل الدروس و لا يتم الإنتقال من درس لآخر حتى نستوفي كل ما نستطيع حول هذا الدرس. العمل المطلوب: كلما نبدأ في درس جديد. يقوم الأساتذة الكرام بتقديم الدوال و التعليمات التي تندرج تحت عنوان هذا الدرس و تقديم شرحها مع وضع مثال بسيط لإستعمال الدالة أو التعليمة على أن لا يتم تكرار الدوال و التعليمات الموجودة مسبقا في الدرس من قبل أحد الأعضاء. و قبل البدء أنتظر إقتراحاتكم فيما يخص طريقة العمل أو ترتيب دروس و عناوينها. و إن شاء الله غدا أو بعد غد سوف نبدأ بالعمل على بركة الله.
    1 point
  3. احبتى فى الله السلام عليكم ورحمة الله وبركاته أتشرف اليوم بنشر الاصدار الأول من برنامج ( شئون الطلبة ) ـ للمرحلة الابتدائية [ روابط التحميل فى نهاية الاعلان ] *** مميزات البرنامج **** : 1 ـ البرنامج يوجد بنسختين للعمل على أوفيس 2003 أو أوفيس 2010 2ـ حجم صغير حيت لا يتجاوز الملف 1.3 MB فقط 3ـ برمجة عالية وسرعة فى الأداء. 4 ـ يحتوى على شئون الطلبة وكافة السجلات الإدارية 5 ـ قوائم الفصول والأنشطة الاختيارية : ــ حيث يتيح البرنامج الحصول على قوائم الفصول بحد أقصى 72 طالب فى الفصل ــ و يتيح الحصول على قوائم الفصول بحد أقصى 80 طالب فى الفصل الواحد . 6 ـ يقوم البرنامج باستخراج التلاميذ الموزعين على الأنشطة الاختيارية تلقائيا . 7 ـ سجلات قيد الطللاب من الصف الأول إلى الصف السادس 8 ـ تعليمات التشغيل الضرورية توجد على شكل ملاحظات داخل الأوراق . 9 ـ اسم المستخدم المبدئى هو Mohamed وكلمة المرور هى 2018 يمكن تغيير اسم المستخدم وكلمة المرور ---------------------------------------------- روابط التحميل : نسخة تعمل على أوفيس 2010 أو أعلى https://up.top4top.net/downloadf-557ngs9o1-rar.html نسخة تعمل على أوفيس 2003 https://up.top4top.net/downloadf-557krtmo2-rar.html -------------------------------------- وإليكم بعض الصور من داخل البرنامج أعجبنيعرض مزيد من التفاعلات تعليق ================ ماسبق منقول من الفيس
    1 point
  4. بسم الله الرحمن الرحيم وبه نستعين إخوانى الاعزاء السلام عليكم ورحمته الله وبركاته بناءا على طلب أحد الزملاء الافاضل بهذا الصرح المبارك عبرالخاص وحتى تعم الفائده للجميع أقدم لسيادته وللساده الاعضاء هذا البرنامج وهو يصلح للسادة العاملين بمصانع القطاع الخاص حيث تم ربط الاجر بالحضور والانصراف ويتم التسجيل هنا بصفة يومية وعلى مدار شهرالاستحقاق لكل عامل وهو مقسم على ثلاثة مراحل حسب وضع كل عامل بهذا المصنع المرحلة الاولى مرتبطة بالاجر الاساسى الشهرى المتفق عليه وهو محدد بعدد الساعات الاصلية للعمل المرحلة الثانية مرتبطة بالاجرالاضافى وهناك إحتمالية لحدوث ذلك حسب ظروف كل عامل المرحلة الثالثة مرتبطة بالاجرالاضافى للسهرات الليلية وهناك إحتمالية لحدوث ذلك حسب ظروف كل عامل يشمل البرنامج أيضا الجزاءات التى تقع على العامل ويمكن تعديلة حسب نظام كل شركة يشمل البرنامج أيضا اأيام الغياب لكل عامل بالشركة ففى حالة سماح أيا من رصيد العامل لآجازنه الاعتيادية أو أجازنه العارضة فلايتم خصم أية مبالغ من هذا العامل إلا فى حالة نفاذ تلك الارصدة فتقع عليه أيام الغياب بالخصم يشمل أيضا السلف الذى يتقاضاها العامل على مدارالشهرعلى أن يتم خصمها من اجمالى راتبه اليومى وهناك المزيد نسألكم الدعاء.... تقبوا وافر احترامى .... وجزاكم الله خيرا
    1 point
  5. جزاك الله خيرا استاذ خليل تم حل حل مشكلتي بنجاح الف الف شكر جزاك الله خيرا
    1 point
  6. نعم استاذ ياسر - موضوع مهم ويسهل العمل بسبب كثرة عدد المواد تسلم واشكرك ويدفع الله عنك كل شر وبلاء
    1 point
  7. معذرة استاذ ياسر على التعب واتمنى من الله ان يجعله فى ميزان حسناتك وان شاء الله سوف اضع مرفق جديد للمطلوب وشكرا جزيلا على تعاونكم معنا
    1 point
  8. بارك الله فيك أخي الكريم حارثة نعم يمكن إضافة أسطر للكود لإنشاء أوراق عمل في حالة عدم وجودها ، ولكن أفضل أن يكون هناك ورقة Template كنموذج يتم نسخها ووضع النتائج بها .. الأمر يحتاج لوقت وهو لا يتوفر لي في الوقت الحالي .. إذا كنت تريد هذه الإضافة سأحاول العمل عليها في أقرب وقت إن شاء الله
    1 point
  9. اشكرك استاذ ياسر - جزيت خيرا تم تحميل الملف وتم الترحيل وهو المطلوب وان شاء الله اتابع تحميل الملفات التي احتاجها من الموقع - جزاك الله خيرا - وأني اعتذر منك على التعب - وان شاء الله يغنيك ويعافيك ويبارك لك في وقتك اطلعت على شروط المنتدى حول الاسئلة - ولكن اعتقد ان سؤالي ادناه في صلب الموضوع لأن حالاً افتهمت ما تريد مني عندما سألتي ( وسؤال أخير : ماذا عن الأكواد التي ليس لها أوراق عمل موجودة بالمصنف ... مثال : الكود 61 ليس له ورقة عمل موجودة فما العمل في هذه الحالة؟ ) وهو سؤال مهم جدا ) فاعتذر على عدم فهمي للسؤال ممكن اذا ما موجودة ورقة العمل انشائها تلقائيا
    1 point
  10. أعتذر أخي الكريم حارثة عن المعاناة التي عانيتها .. عموماً تفضل الملف المرفق (ولكن إذا أردت دعمي حاول التحميل من الموقع لأنه يعطيني ربح على التحميلات .. كل ألف تحميل بـ 4 دولار تقريباً) المهم إليك الملف المرفق .. Transfer Data From Main Sheet To Related Sheets Using Dictionary YasserKhalil Officena.rar
    1 point
  11. وعليكم السلام أخي الكريم حسين حاول تستخدم خاصية البحث في المنتدى فالموضوع مكرر أكثر من مرة .. عموماً الحل في صورة
    1 point
  12. السلام عليكم حسب ما فهمت وضعت تحت كل حرف مجموع العبارات التي تحوي هذا الحرف في الصف نفسه... بن علية جمع ثوابت.rar
    1 point
  13. السلام عليكم تفضل هذا التعديل على الكود الذي تستعمله: Dim strTargetDB As String Dim tbl As TableDef Dim app As Access.Application strTargetDB = Me.txtPath1 Set app = CreateObject("Access.Application") app.OpenCurrentDatabase (Me.txtPath) app.Visible = False For Each tbl In CurrentDb.TableDefs If Left(tbl.Name, 4) <> "MSys" Then app.DoCmd.TransferDatabase acExport, "Microsoft Access", strTargetDB, acTable, tbl.Name, tbl.Name, False End If Next و هذا ملفك بعد التعديل عليه موفق إن شاء الله 1‏‏kanory.rar
    1 point
  14. وعليكم السلام غير مفهوم ما تريد، هل من التوضيح أكثر؟؟
    1 point
  15. السلام عليكم ورحمة الله وبركاته الاستاذ الفاضل ياسر خليل أبو البراء أخونا الغائب عن العين والحاضر في القلب (رحمه الله رحمة واسعة ووسع عليه قبره وأدخله الجنة من غير سابقة عذاب) أخونا الحسامي أشكركم على هذه الهدية الغالية
    1 point
  16. وعليكم السلام ورحمة الله وبركاته أستاذ نبيل نزلت أهلا وحللت سهلا واتحفت من الطيبات زبدا ولبنا وعسلا ولكون سيادتكم جديدا بالمنتدى سأشير لحضرتك على قواعد المنتدى سريعا ( حتى لا تسمعنا ادارة المنتدى ويتعرض موضوعك للاغلاق ) 1- يجب أن يحتوى الموضوع على عنوان مناسب يصف المشكلة بشكل مختصر. 2- أن يكون الموضوع محتوى على سؤال واحد وليس عدة أسئلة ولطرح المزيد من الأسئلة لا مانع من فتح المزيد من الموضوعات (ولكن مع مراعات البحث عن الموضوع بالمنتدى قبل طرحه لعدم تكرار الموضوعات واختصارا للوقت والجهد.) طبعا هذا للأخذ بالاعتبار عند طرح موضوعات جديدة : والآن: أنت بحاجة لتصميم جدول مستقل يضم بيانات أصناف المشتريات , يعتمد على فكرة اماكن تواجد الأصناف مثلا لنفترض أنى اشتريت صنف أ بتاريخ 1/1 وانتهاء الصلاحية بعد 3 أشهر بكمية 300 وحدة - واشتريت الصنف هو هو بتاريخ 2/1 وانتهاء الصلاحية أيضا بعد 3 أشهر والكمية 200 لكون الباقى من الأول 100 (أعتقد أن هذا ما تعنى) فسأفترض أنى وضعت الصنف أ بالرفوف 1 - 2- 3 وبعد فراغ الرفين 1 - 2 تم ملؤها بالمشتريات الجديدة فصار لدى الصنف بالرف 1 قديم وبالرف 2 جديد (تمام الى هنا ) وعليه سيكون جدول المشتريات الخاص بى يحوى هذه الأعمدة 1- كود المنتج 2- اسم المنتج 3- كود الموزع 4- ناريخ الشراء 5- مدة الصلاحية أو تاريخ الانتهاء 6- تواجد الصنف (كود الرف أو كود المخزن فى حالة تعدد المخازن) 7- الكمية 8- سعر الشراء 9- نوع السداد (نقدا / أو بالأجل) ------------------------------------------------------ ويمكن أضافة أعمدة حسب طبيعة البيانات التى نريد الحصول عليها وكذلك هذه الأعمدة سيتم ربطها بجداول أخرى تحوى معلومات أخرى كجدول الموزعين (أو البائعين أو التجار ) حسب المسمى المتعارف عليه لديكم - وجدول العملاء وأدع المجال لغيرى أرجو أن أكون قد أفدتك
    1 point
  17. السلام عليكم ورحمة الله تعالى وبركاته هو شرح بسيط اتمنى من الله ان يساعد احدا منكم يوما هذا الشرح عبارة عن مقالات قراتها قديما ولكن نجمعها هنا باذن الله ممكن تقول عن الموضوع الاسس العلمية او الاسس الصحيحة لبناء قاعدة بينات متكاملة دا ان صح التعبير يعنى لانى لست اهلا لذلك نصيحة لو عاوز تتعلم بجد اكسس عليك بالورقة والقلم والة حاسبة كمان .... ودى بجد حقيقة ولو فكرت تفتح الاكسس قاوم نفسك واستمتع بالتطبيق على الورق اولا ثم جرب على الاكسس فى النهاية واى سؤال هتبداه بكيف ؟؟ صدقنى مش هتفهم حاجة هتبقى مجرد الة بتنقل وخلاص انا عاوزك انت تكون الاكسس يعنى تسال نفسك اولا كيف ؟؟ ثم تعقبها مباشرة بلماذا ؟؟ لانى كيف ؟؟ سهلة جدا ... اعمل كذا وكذا وكذا وكذا بس هتصنع منك مقلدا عظيما اما لماذا عاوزة فهم عاوزة هدوء عاوزة شرح لان انت لو اتعلمت بجد الاسس الصحيحة البرامج دى Access . FoxPro. . Clipper . DBase . Microsoft SQL . Oracle . Sybase هتبقى سهلة جدا معاك البرامج اللى فاتت دى عبارة عن برامج لشركات تستخدم ادوات قواعد البيانات مثال بسيط كلمة تليفون او موبايل لما تيجى تتكلم عنها هتتكلم عن طريقة عملها الصناعة بتاعتها او صيانتها بس مش هتتكلم عن نوع معين من التليفونات يلا اقفل الاكسس وابتدى اسال نفسك لماذا ننشأ هذا الجدول؟ لماذا بهذه الطريقة ؟ لماذا الاستعلام وما هى اهميته ؟ مش كيف ننشأ هذا الجدول انما لماذا ننشا هذا الجدول ؟؟ مفيش اكسس كله مقفول انت الاكسس صدقنى لو جربت الموضوع دا هتكون وضعت قدمك على الطريق الصحيح لانشاء قاعدة بيانات متكاملة قواعد البيانات خلى بالك من كلمة البيانات دى هى عبارة عن مجموعة لا معنى لها من الارقام والكلمات زى كدا "ربح " "خسارة" "2000 " ...... دى اسمها بيانات البيانات لا تعنى شيئا ولا يستفاد منها اطلاقا الخاصية الثانية للبيانات هى الحجم حيث البيانات تعنى الضخامة والكبر من حيث العدد اذا فالبيانات ضخمة ومتشعبة وكثيرة وفى نفس لوقت لا تعنى شيئا ندخل بقى فى مصطلح قاعدة قاعدة هو تنظيم الشئ على اسس ودا اللى بيحصل قى قواعد البيانات تنظيممها .. ثم تحليلها ... ليه بقى ؟؟ظ لان من خلال معالجة البيانات هتحولها لمعلومات ... يبقى الهدف من البيانات ه تحويلها لمعلومات السؤال برضو .. لمــــــــــــــــــــــــاذا نقوم بتحويل البيانات الى معلومات علشان سببين مهمين جدا اولا .. اتخاذ القرارات ثانيا ... التخطيط مثال بسيط اوى .. بلدى الغالية مصر ربنا يحفظها عندة قاعدة بينات لتعداد السكان فى مصر .. اللى هما اصلا مش بيبطلو خلفة هههههههه هي بينات ملهاش قيمة انما بقى لما اجى اعالجها علشام احولها لمعلومات علشان اقدر اخطط واتخذ القرارات هلاقى مثلا مثلا عندى اطفال لسه صغيرين مثلا 20 % دى لحد كدا معلومة عايزة تخطيط لبناء مدارس وهكذا مثلا ... ومننساش اننا لازم نحول البيانات الى معلومات علشان نقدر نتخذ القرارات اخى الكريم قواعد البينات تندرج تحت مصطلح علم للبرمجة أسمه Tier 3 أي الطبقات الثلاثة هههههههههههه الاستاذ InternetMaster - الفريق العربى للبرمجة عندما سال فى احد مشاركاته ان هذه الطبقات هو طراز قديم او تصميم قديم قال احفظوها كما هى حتى لو قيل انها خطأ .. الطبقة الأولىFirst Tier وهو ما يسمى بالمقدمة أو واجهة المستخدم User Interface الطبقة الثانية Second Tier وهوما يسمى بطبقة المنطق والقوانين Logic Interface الطبقة الثالثة Third Tier وهو ما يسمى بالخلفيه Back End ليه انا بقولك على الطبقات الثلاثة دى تعالى لننسى النماذج . وننسى التقارير ملحوظة النماذج والتقارير الموجودة فى الاسس ليست للاحتراف او البرامج القوية ليه واجع دماغنا بكل دا لان مفيش حاجة اسمها فى قواعد البينات اسمه نماذج او تقارير النماذج والتقارير تصنع فى الطبقة الاولى اما قواعد البينات فى الطبقة الثالثة لماذا الآكسس و FoxPro و Dbase و Clipper و MySQL يستخدمون الطبقات الثلاثة مع بعضها البعض ف محتوى واحد؟ علشان دى برامج تعبانة . ودى حقيقةعلى قدها يعنى علشان البرامج دى لا تصلح الا للاستخدام الشخصى فقط او البرامج الى لا يزيد عدد مستخدميها عن 10 اشخاص فقط اخوانى اعضاء منتديات اوفيسنا . قسم الاكسس تحديدا . او اى قارئ تخيل ان قاعدة البيانات فى 5000 جدول ان كل جدول فى قاعدة البيانات يحتوى على 10 ملايين سجل انه يوجد 30 الف مستخدم يتعاملون مع القاعدة فى نفس الوقت خلى بالك من التخيل دا علشان انا بقول كدا ليه فى مصطلحين لازم تعرفهم اولا وهم اللى هيوصلولك التخيل الصحيح الذى ادرجته مسبقا Server و Client Client الواجهات والنماذج والتقارير دائما وأبدا على Client -- الطبقة الأولى Server قواعد البيالنات دائما وأبداً على Server -- الطبقة الثالثة ------------------------ المسافة بين Client وال Server دائماغير معروفة، قد تكون 5 سم او الاف كيلو متر 10 عند بداية تصميم اى قاعدة بينات نبدأ بمعرفة اين يقع Client واين يقع server ثم يجب تحديد عدد المستخدمين لبرنامجك ولذلك ضمان مستوى كفائ الطبقة الثالثة وهو الخادم حتى لا يتعطل ونروح فى داهية ههههههههههه اخوانى اهم شئ الورقة والقلم ولبناء قاعدة بينات صحيحة يجب اولا بتحديد المخرجات - التقارير- فابدا بالتقارير ثم الجداول ثم الاستعلامات ثم ...... ومتنساش بالورقة والقلم الاول اتمنى من الله ان يساعد هذا الموضوع شخصا ما يوما .. وكما قلت مسبقا هو خلاصة ما تعلمته من استاذتى تحياتى مارد
    1 point
  18. وعليكم السلام أخي حارثة تصدق إنك بردو مجاوبتنيش على سؤالي .. عموماً جهزت لك ملف وإن شاء الله يكون المطلوب أعتذر لتحميل الملف على موقع خارجي .. نظراً لأن الملف اجتهاد شخصي وأخذ من وقتي أكثر من ساعة ونصف تحميل الملف من هنا
    1 point
  19. وعليكم السلام تجربتي تقول ، ان جميع ما تقرأ هو نظري ، الى ان تبدأ وتطبقه عمليا ، وافضل طريقة للتطبيق العملي المتنوع ، هو مواضيع المنتديات ، وابدأ بـ : مراجعة مواضيع المنتدى ، وابتدأ بالاسئلة السهلة ، افهم السؤال ، اشتغل على اجابة السؤال دون النظر الى الردود ، ثم قارن نتائج اجابتك بنتائج بقية اجابات السؤال ستلاحظ الطرق المتعددة لحل سؤال ما ، تطبيقيا ، وقد تكون طريقتك افضل من الطرق الاخرى جعفر
    1 point
  20. وعليكم السلام من عيوب الاكسل البطئ عندما تكون البيانات كبيرة .. ومن الطرق المفيدة في هذه الحالة هي استخدام لغة سيكول اليك الكود الاتي ليقوم بالترحيل بسرعة اكبر من المعادلات .. المثال في المرفق ملاحظة .. تمت التجربة علي اوفس 2013 وقد يحتاج الي تعديل مع النسخ الاخري Sub InQuery() Dim intLastR As Double Dim strSQL Dim Conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim srtPath As String, strConn As String With Application .ScreenUpdating = False .DisplayStatusBar = False .Calculation = xlCalculationManual .EnableEvents = False End With intLastR = ActiveSheet.UsedRange.Rows.Count Sheets("Sheet2").Columns(1).ClearContents srtPath = ThisWorkbook.FullName strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=" & srtPath & ";" & _ "Extended Properties=""Excel 12.0 Macro;HDR=Yes;IMEX=1"";" intLastR = Sheets("Sheet1").UsedRange.Rows.Count Conn.Open strConn strSQL = "SELECT * From [Sheet1$A1:b" & intLastR & "] WHERE [Column1] = 1" Debug.Print strSQL Debug.Print Conn rs.Open strSQL, Conn Sheet2.Range("A2").CopyFromRecordset rs Sheet2.Columns(2).ClearContents rs.Close Conn.Close With Application .ScreenUpdating = True .DisplayStatusBar = True .Calculation = xlCalculationAutomatic .EnableEvents = True End With End Sub ارقام.rar
    1 point
  21. السلام عليكم ورحمة الله استخدم الكود التالى فهو اخف واسرع Sub TransNum() Dim LR As Long, R As Long, p As Long, x As Integer LR = Sheet1.Range("A" & Rows.Count).End(xlUp).Row For R = 2 To LR x = WorksheetFunction.CountIf(Sheet1.Range("$A$2:A" & R), Sheet1.Range("A" & R)) If x = 1 Then p = p + 1 Sheet2.Cells(p + 1, 1) = Sheet1.Cells(R, 1) End If Next End Sub
    1 point
  22. وعليكم السلام تفضل هذا الرابط الخارجي ، وبه مرفقات ايضا ، حسب نسختك من الاكسس https://www.devhut.net/2014/01/22/ms-access-enable-mouse-wheel-scrolling-of-text-box/ جعفر
    1 point
  23. أخي الكريم باشمهندس محمد المهندس .. بص يا هندسة أولاً أحب أرحب بيك .. هتقولي ترحب بيا ليه .. أقولك عشان دي أول مشاركة ليك هتقولي عرفت منين .. هقولك بصيت في المشاركة الأولى في الموضوع ولقيت تحت كلمة الأعضاء الجدد ( 1 مشاركة) عشان كدا يشرفني ويسعدني إني أرحب بيك .. كفاية رغي ندخل في الجد بس بهزار .. عجبني أسلوب طرحك للموضوع رغم إن دي أول مشاركة ليك .. وأرفقت ملف ودا عين العقل وشرحت المطلوب داخل الملف المرفق أيضاً وكذا عداك العيب .. ووضعت النتائج الخطأ بلون أحمر (والله إنت ابن حلال مصفي) طيب الموضوع ممكن يتحل بكذا طريقة بس أنا هكتفي بطريقة واحدة بس ، وممكن الأخوة يستزيدوا من الحلول (براحتهم) المهم شايف الخلية D6 في ورقة العمل المسماة "الجرد" .. الخلية دي جرب فيها المعادلة دي .. =IFERROR(INDEX(المرجع!$F$2:$F$4,MATCH(1,(المرجع!$A$2:$A$41=$P6)*(المرجع!$H$2:$H$4=D$2),0)),"") طيب بعد ما تدخل المعادلة بالشكل ده بتضغط في لوحة المفاتيح على 3 مفاتيح مع بعض Ctrl + Shift +Enter لأن النوع دا من المعادلات اسمه معادلات صفيف (ممكن تبحث في المنتدى أو على جوجل لشرح ليها .. مش موضوعنا) المهم لو ظهر معاك رسالة خطأ تعمل ايه؟ هتستبدل الفاصلة الموجودة في المعادلة بفاصلة منقوطة (لأن دا بيرجع لإعدادات الويندوز اللي عندك) بعد كدا اسحب المعادلة لليسار ولأسفل وشوف النتائج هتظبط معاك ولا لا ... صحيح تأكد إن النصوص الموجودة في النطاق D2:F2 في ورقة العمل "الجرد" مطابقة للنصوص الموجودة في العمود H في ورقة العمل "المرجع" وعشان متقولشي إني قصرت معاك تفضل ملف مرفق مطبق فيه المعادلة بعد ضبط النطاق D2:F2 زي ما قلت لك (بس خلي بالك عشان دي أول مشاركة بس ..لأني مش بحب أرفق ملف إلا للضرورة) وأخيراً تقبل تحياتي شيت جرد.rar
    1 point
  24. لا أستطيع الجزم بقولي أن الاستعلام متاح أم لا .. لسببين : الأول أنني ليس لدي ما يكفي من تفاصيل لمعرفة ذلك الثاني هو أنني أفضل أن يكون الموضوع لطلب واحد فقط (لذا من الأفضل طرح موضوع جديد مع إرفاق ملف مع ذكر النتائج المتوقعة) .. تصدق والله تعبت من نفس النصيحة ..بس مش مشكلة .. كلكم إخواني ولازم تستحملوني
    1 point
  25. السلام عليكم ورحمة الله وبركاته . حبيبنا انا بدأت لك فيه . بس انا خبرتى متواضعة وهحاول اكمله فى اقرب فرصه . دا تصورى له ولو عندك اى اقتراحات اكتبها برنامج حساب المقابل المالي للمرافقين.rar
    1 point
  26. وعليكم السلام من الصورة المرفقة يتبين ان طريقة التصميم لم توفق فيها حاول ان تجعل تاريخ الاقساط بشكل عمودي تحت بعضها وبجانب كل تاريخ خانة اختيار او يكفي حقل تاريخ السداد أي انك ستضع في الجدول حقلين او ثلاثة فقط بدلا من هذه الحقول
    1 point
  27. تابع هذا الرابط لعلك تفد منه شىء وهناك المزيد يمكنك البحث داخل المنتدى
    1 point
  28. انقل كل الملفات الى مكان واحد مثلا قرص D و جرب
    1 point
  29. الدرس الثامن: دوال الرسائل هذا الدرس مخصص لشرح دوال الرسائل: MsgBox: تستخدم هذه الدالة من أجل عرض رسالة في مربع حوار. MsgBox (سياق, ملف التعليمات, العنوان, أزرار , النص) النص: (مطلوب) هو نص الرسالة التي ستعرض في مربع الحوار أزرار: (اختياري) هو تعبير رقمي يحدد نوع الازرار التي يجب ان تعرض العنوان: و يمثل عنوان مربع الحوار ملف التعليمات:(اختياري) تعبير سلسله يعرف ملف التعليمات لتوفير تعليمات تتبع للسياق لمربع الحوار. اذا تم توفير ملف التعليمات ، يجب ايضا توفير سياق . سياق: (اختياري) تعبير رقمي يمثل رقم محتوي التعليمات المعينه الي موضوع "التعليمات" الملائمه حسب الكاتب التعليمات. اذا تم توفير سياق ، يجب ايضا توفير ملف التعليمات . وضعيات الوسيطة أزرار: 0 عرض زر موافق فقط. 1 عرض الأزرار موافق و إلغاء الأمر . 2 عرض الأزرار إحباط + حاول مره أخري + تجاهل . 3 عرض الأزرار نعم + لا + إلغاء الأمر . 4 عرض الأزرار نعم + لا . 5 عرض الأزرار إعاده المحاوله + إلغاء الأمر . 16 عرض أيقونة رساله هامه . 32 تعرض أيقونة التحذير و الإستعلام . 48 عرض رمز رساله تحذير . 64 عرض رمز رساله معلومات. 0 الزر الأول هو الإفتراضي. 256 الزر الثاني هو الإفتراضي. 512 الزر الثالث هو الإفتراضي. 768 الزر الرابع هو الإفتراضي. 4096 نظام مشروط؛ يتم تعليق كافه التطبيقات حتي يستجيب المستخدم ل# مربع الرساله. 16384 إضافه الزر تعليمات إلي مربع الرساله 65536 يحدد إطار مربع الرساله كإطار المقدمه 524288 تتم محاذاه النص لليمين 1048576 يحدد يجب أن يظهر النص اليمين إلي اليسار للقراءه علي الأنظمه العربيه مثال: MsgBox "السلام عليكم", 3, "مرحبا" InputBox: يعرض مطالبة في مربع حوار و تنتظر قيام المستخدم بإدخال نص أو النقر فوق زر، و ترجع سلسلة تحتوي علي محتويات مربع النص. InputBox(«افتراضي»; «العنوان»; «مطالبة»; «xpos»; «ypos»; «helpfile»; «context») مطالبة : (مطلوب) عرض الرسالة في مربع الحوار العنوان: (اختياري) و يمثل عنوان مربع الحوار افتراضي: (اختياري) . عرض النص الإفتراضي في مربع النص. إذا حذفت الإفتراضي، يتم عرض مربع النص فارغ. xpos: (اختياري). تعبير رقمي يحدد، بوحده التويب المسافة الأفقية بين الحافة اليمني لمربع الحوار من الحافة اليسري للشاشة. ypos: (اختياري) تعبير رقمي يحدد، بوحده التويب، المسافه العمودية بين الحافة العلوية لمربع الحوار من أعلي الشاشة. ملف التعليمات:(اختياري) تعبير سلسله يعرف ملف التعليمات لتوفير تعليمات تتبع للسياق لمربع الحوار. اذا تم توفير ملف التعليمات ، يجب ايضا توفير سياق . سياق: (اختياري) تعبير رقمي يمثل رقم محتوي التعليمات المعينه الي موضوع "التعليمات" الملائمه حسب الكاتب التعليمات. اذا تم توفير سياق ، يجب ايضا توفير ملف التعليمات . مثال: Dim str As String str = InputBox("ادخل اسمك", "الاسم")
    1 point
  30. ماشاء الله عليك اخوي صالح ، كفيت ووفيت ، وما بقيت لي شئ اكتبه التنسيق: وذلك بإستخدام زر الـ Tab (لتحريك السطر Indenting) ، و زر Enter (للإنتقال الى السطر التالي) تنسيق وتجميع مجموعات اللـ IF مهم ، وكلما كان تنسيقك افضل ، كلما قلّت اخطاءك ، وكلما استطعت الوصوت للخطأ بسرع في الصور كود لبرنامج أحد الاعضاء (واعتذر مسبقا من صاحب الاكواد) ، لاحظ طريقة عرض الكود ، بدون تنسيق ، وصعوبة معرفة بداية ونهاية الشرط IF : قبل التنسيق وسهولة القراءة بعد التنسيق . اما الكود التالي ، فذكرني بالكاريكاتير "ابحث عن فضولي" ، وهنا نبحث عن بداية ونهاية الشرط IF : . وتم تعديل التنسيق (تغيير الكود هو للتوضيح) الى: . هناك شيئين في التنسيق ، الاول: لاحظ انه من السهل معرفة بداية ونهاية كل شرط ، وحتى الشروط المتداخلة في الشرط الاصلي ، اصبح من السهل معرفة بدايتها ونهايتها ، ونافذة الكود تخبرنا 1: على اي سطر نحن (Line, Ln) ، و 2: في اي عمود (Column, Col) ، مما يساعدنا في عملية التنسيق . ثانيا: لاحظ اني عندما اقفل الجملة الشرطية End If ، فاني اكتب تعليق خلفها ، وهذا التعليق مأخوذ من جزء من بداية الشرط IF ، هذا يسهل عليّ كثيرا معرفة بداية ونهاية الجملة الشرطية: . جعفر
    1 point
  31. أحد الشروط التي التزم بها دائما ، هي كتابة اسم متغير مفهوم وله معنى ، مثلا: File_Name او How_Many ، بحيث بعد مدة لما أرجع لتصحيح الكود ، افهم ما هو عمل المتغير. والمحترفين يذهبون إلى ابعد من هذا ، فبالاضافة إلى استعمالهم مسمى مفهوم المعنى ، فإنهم يسبقون الاسم بحروف تدل على ان المتغير رقم أو كلمات ، هكذا: للارقام: intRows او nColumns ، وللكلمات: strName. واستغرب من بعض المتغيرات المستعمله في كود معقد مثل: a او b !! جعفر
    1 point
  32. طرق استعمالها: 1. اذا اردنا استعمال المتغير في الحدث / الوحدة النمطية فقط (يعني لا يمكن اخذ قيمتها من نماذج/تقارير/استعلامات/وحدات نمطية اخرى) ، فنستخدم: Dim UserName as string او Private UserName as string ويجب ان نستخدم Dim لكل حدث في النموذج/التقرير ، اي نعيد كتابته لكل حدث ، بينما يمكننا ان نضع Dim / Private مرة واحدة في اعلى الصفحة ، ولا تكون داخل اي حدث ، هكذا Option Compare Database Private User_Name As String 2. بينما اذا اردنا ان تكون القيمة متوفرة في جميع كائنات البرنامج ، فنستخدم التالي في وحدة نمطية (حتى ولو كانت وحدة نمطية فارغة): Public UserName as string مثال هذا ، عندما تستعمل نموذج المستخدمين ، ثم تريد الاحتفاظ باسم المستخدم في الكود ، فكل الذي تعمله هو: UserName = "jjafferr" ثم من اي مكان في البرنامج تستطيع ان تستعمل هذا المتغير UserName ، مثلا: User_Prevliage = iif(UserName = "jjafferr" , "Admin", "User") . ويمكننا ان نجعل الكود لا يعمل إلا بتعريف المتغير ، وفي الواقع هذه صعبة في البداية ، ولكن في النهاية سيكون برنامجك افضل ، وهكذا نجعل الكود يفرض علينا استعمال المعرف: . . واهمية هذه الخطوة هي عندما تريد ان تحفظ البرنامج لاحقا بصيغة mde او accde ، فيجب عليك ان: . واذا كانت المتغيرات في الكود معرّفة ، فلن تحصل على اخطاء في التحويل جعفر
    1 point
  33. على بركة الله نبدأ أول درس و ننتظر ملاحظاتكم حول أي شيء نسيته و هو متعلق بهذا الدرس أو أي معلومة أخطأت بها: الــدرس الأول : المتغيرات تعتبر المتغيرات النواة الأساسية أو حجر الأساس بالنسبة لكل برنامج في أي لغة برمجة كانت. يعني قبل البدأ يجب أن تقوم بتعريف المتغيرات التي تحتاجها و تحدد نوعها قبل كل شيء. 11- أنواع المتغيرت: هناك العديد من أنواع المتغيرات و كل نوع يخصص له حجم معين في الذاكرة. سوف نقوم بإضافة شرح جميع أنواع المتغيرات و الحجم الذي يأخذه كل نوع من الذاكرة: String: نص يتسع المتغير النصي إلى 2 جيجا بايت و كل حرف يشغل 1 بايت Boolean: ياخذ نوعين من القيم True و False (طوله 2 بيت ) Byte: بايت يكون رقم بين 0 من 255 (طوله 1 بايت) Integer : عدد صحيح (طوله 2 بيت ) قيمته من 32768- إلى 32767 Long : عدد صحيح طويل (طوله 4 بيت) قيمته من 2,147,483,648- إلى 2.147.483.647 Signal: عدد عشري (طوله 4 بيت) قيمته من 3.402823x1038- إلى 1.401298x10-45- للقيم السالبة و من 1.401298x10-45 إلى 3.402823x1038 للقيم الموجبة Currency: عملة (طوله 8 بيت) قيمته من 922،337،203،685،477.5808- إلى 922،337،203،685،477.5807 Double : مزدوج عدد عشري (طوله 8 بيت) قيمته من 1.79769313486231x10308- إلى 4.94065645841247x10-324- للقيم السالبة. و من 4.94065645841247x10-324 إلى 1.79769313486232x10308 للقيم الموجبة Date: نوع البيانات تكون على شكل تاريخ (طوله 8 بيت) يبدأ تاريخ vba من 1/1/100 حتى 31/12/9999 Object : لتخزين الكائنات التي تحتوي على خصائص و وظائف و يتم تعيينه بجملة set ويشغل في الذاكرة 4 بايت أو حسب خصائص و وظائف الكائن المحدد. و سوف نخصص درس لعرض أنواع الكائنات. Variant : لتخزين كل الأنواع السابقة ويمكن تخزين المصفوفات بداخله أيضاً 2- طريقة الإعلان عن المتغيرات: الإعلان عن متغير يعني حجز مكان في ذاكرة الكمبيوتر باسم هذا المتغير و يحدد حجمه حسب نوع المتغير. و يتم تعريف المتغير أو الإعلان عنه بواسطة العبارة DIM . مثال: Dim A as Integer للإعلان عن أكثر من متغير: Dim a,b as integer للإعلان عن أكثرمن متغير لأنواع مختلفة في نفس السطر: Dim A As Double, B As Integer 3- ملاحظات: - - يفضل الإعلان عن نوع المتغير لزيادة سرعة التعامل معه . - - المتغيرات التي لم تحدد نوعها يعمل فيجول بيسك علي الإعلان عنها تلقائيا من النوع Variant وهو أبطأ أنواع المتغيرات . - - بالنسبة للإعلان عن أكثر من متغير من نفس النوع بالطريقة التالي: Dim a,b as integer هنا b فقط من النوع integer أما a فهو في هذه الحالة يعتبر من النوع Variant يجب أن يتم التعريف بهذا الشكل: Dim a integer,b as integer أو Dim a as Integer Dim b as Integer 4- شروط تسمية المتغيرات: - - اسم المتغير يجب أن يبتدأ بحرف . - - يمكن استعمال الحروف التي تلي الحرف الأول رقم أو حرف أو الإثنين معا. - - لا يجب أن تكون هناك فراغات بين أسماء المتغير و يمكن استعمال الشكل التالي: id_user - - يجب عدم استعمال نقطة أو رمز خاص مثل ( ؟ ، * ، ) ، ( ، /......... إلخ ) ولكن يمكن استخدام الشرطة السفلية ( _ ) - - أن لا يكون اسم المتغير من الكلمات المحجوزة في الأكسس.
    1 point
  34. اتفضل مع طريقة الطريقة الاولى اللي بواسطة فونتات كما في الصورة الاولى والطريقة الثانية شوف الصورة اتبع الصورة الثالثة اتفضل مع القاعدة بيانات db4 (2) (1).rar
    1 point
  35. Private Sub UserForm_Activate() For r = 1 To Sheets("ورقة1").[a65500].End(xlUp).Row ListBox1.AddItem Format(Sheets("ورقة1").Cells(r, 1), "dd-mm-yyyy") Next End Sub الكود يكون بهذا الشكل
    1 point
×
×
  • اضف...

Important Information