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

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

  1. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      9

    • Posts

      12,206


  2. kaser906

    kaser906

    الخبراء


    • نقاط

      5

    • Posts

      1,411


  3. أبو آدم

    أبو آدم

    أوفيسنا


    • نقاط

      3

    • Posts

      3,292


  4. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      2

    • Posts

      8,723


Popular Content

Showing content with the highest reputation on 30 أبر, 2018 in all areas

  1. فعلا انت جايبها من الآخر الحاجة اللي تتكلم عنها هي من الاساسات يعني اول الخطوات في انشاء البرنامج حقل الوحدة اللي انت وضعته في فواتير البيع متعب للمستخدم اتوقع انك قبل كنت تعمل على اكسل ، وهذا اللي يبرر الصعوبة التي تجدها في متابعة التوجيهات حقل الوحدة يجب ان ينزل آلي عند اختيار الصنف ولا يلزم انه يظهر في الشاشة اصلا هذه الاشياء تكون في جدول الاصناف : وحدة الشراء / وحدة البيع يمكن تقول : الصابون يمكن ابيعه بالحبة ويمكن بالكرتون فلازم اضع حقل الوحدة عند البيع فنقول لك هذا يتحدد مسبقا في جدول الاصناف فيمكن عمل رمز للصنف مثلا (صابون ك ) لو لاحظت عند الكاشير في نقاط البيع التي تستخدم قارىء الباركود انه يمرر القارىء على كرتون الصابون بالضبط كما يمرره على حبة الصابون وهذا يعني ان الكرتون صنف والحبة صنف ولكل واحد الرقم الخاص به آمل اني كتبت لك ما تجد به فائدة
    2 points
  2. الله يعافيك اخ سلمان لا حظ ان فكرة ابو ابراهيم عبارة عن دالة تستخدمها باي مكان وهي تقوم بتخزين الطابعة الافتراضية الحالية قبل تغيير الطابعة ومن ثم اختيار الطابعة ثم اعادة الطابعة الافتراضية هنا تستطيع استخدامها لكل تقرير على حدة . اعتقد حاجتك لم تكتمل مع مثال ابو ابراهيم لانه يتم اختيار الطابعة كل مرة يريد ان يطبع التقرير وانت تريد تعريف الطابعة مرة واحدة عند العميل لكل تقرير مختلف هنا عليك بتخزين اسم التقرير بجدول ويبقى عمود اسم الطابعة فارغ يتم تعبئته حسب العميل او حسب كل طابعة عند العميل يتم اعداده مرة واحدة عند تحميل البرنامج لاول مرة . يمكن تضيف ذكاء شوية بان البرنامج يشيك ان كل تقرير طابعنه موجوده فلو فقدت طابعة تظهر رسالة لتعبئة تطابعة هذا التقرير بمعنى فكرة الحل عبارة عن : كود ابو ابراهيم + تخزين بجدول نفس افكرة اعلاه استخدمتها بتوزيع طلب العميل على طابعات نوع الطلب . هنا تقرير واحد على اكثر من طابعة وحسب الاصناف تحياتي
    2 points
  3. عد اذن اخي علي هذا الكود (سريع جداُ لانه يستعمل adanvced filter) Option Explicit Sub filter_for_ME() With Application .ScreenUpdating = False .Calculation = xlCalculationManual End With Dim i%, k%: k = Sheets.Count Dim S_sh As Worksheet: Set S_sh = Sheets("سحب مباشر") Dim T_sh As Worksheet Dim My_Table As Range: Set My_Table = S_sh.Range("b3").CurrentRegion For i = 2 To k Set T_sh = Sheets(i) With T_sh .Range("b3").CurrentRegion.Clear .Range("q1") = "العنوان" .Range("q2") = T_sh.Name End With My_Table.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=T_sh.Range("Q1:q2"), _ CopyToRange:=T_sh.Range("b3") T_sh.Range("q1:q2").ClearContents Next With Application .ScreenUpdating = True .Calculation = xlCalculationAutomatic End With End Sub الملف مرفق salim_Adv_Fllter.xlsm
    2 points
  4. لو اعلنا عن قيمة الحقل كمتغير نصي سيقبل Dim iprt As String iprt = Me.prnt1 Set Application.Printer = Application.Printers(iprt) DoCmd.OpenReport "rebots101", acViewNormal
    1 point
  5. وعليكم السلام ورحمة الله وبركاتة أخي الكريم لست بحاجة لنموذج الخلفية فقط نموذج الواجهة وضع في حدث عند الفتح نموذج المستخدمين ::بالتوفيق:: دخول المستخدمين.accdb
    1 point
  6. المرفق حسب آخر التعديلات بعد فك الضغط افتح قاعدة البيانات وقم باعادة الربط للجداول قبل فتح قاعدة البيانات انظر محتويات مجلد النسخ الاحتياطية ( حتى تلاحظ الفرق لاحقا ) في النموذج زر امر جديد ... اضغط عليه و وافني بالنتيجة .... NA_B&R.rar
    1 point
  7. أستخدم هذا الكود في حدث بعد التحديث للحقل n1 أو في حدث عند التركيز للحقل المراد الغاء تأمينه If Not(IsNull(Me.N1)) Then Me![N2].Locked = False Me![N3].Locked = False End if ::بالتوفيق::
    1 point
  8. تفضل .. بهذا السطر تختار الطابعة من غير التأثير على الطابعة الافتراضية Set Application.Printer = Application.Printers("ZDesigner GC420d") DoCmd.OpenReport "rebots101", acViewNormal
    1 point
  9. تفضل أنظر المرفق وطبق الخطوات على ما تريد اضافته من عملات ::بالتوفيق:: test_3.zip
    1 point
  10. صباح الخير أخي أبا زاهر عملية تصفية الملفات في مجلد النسخ الاحتياطية برمجيا مسألة متاحة ، وقمت بتجهيز الكود التالي ليقوم بفحص الملفات و التعرف عليها حسب التسمية التي فرضناها للنسخ الاحتياطية ، وليس حسب تاريخ انشاء او تعديل الملفات ، و ذلك تحسبا لوجود ملفات اخرى في المجلد ، و من باب الدقة و الحصر. و في النسخة الموجودة لدي ( من قاعدة بياناتك ) قمت بانشاء زر أمر للتعامل من الروتين عند النقر Dim strFldr As String Dim strFile As String Dim FileToGet As String strFldr = CurrentProject.Path & "\BackUp" strFile = Dir(strFldr & "\Data*.*") Do While Len(strFile) > 0 FileToGet = Left(strFile, Len(strFile) - 6) If Len(FileToGet) = 12 Then ' only check files with name of correct length If FileToGet <= CStr("Data" & Format(Date - 1, "yyyymmdd")) & ".accdb" Then ' only check files with name of correct Format 'Renames Name strFldr & "\" & strFile As strFldr & "\" & "OLD .. " & strFile 'Deletes 'Kill strFldr & "\" & strFile Else ' do Nothing End If Else 'Ignore file End If strFile = Dir Loop وانت هنا بالخيار بين اعادة تسمية الملفات القديمة و ابقائها أو حذفها ، هنا فعلت كود اعادة التسمية ، و يمكنك ايقاف كود اعادة التسمية و تفعيل كود الحذف Kill strFldr & "\" & strFile و هنا اخترت اعادة تسمية الملف بعد يوم واحد ، بينما يمكنك تعديل المدة و اختيار ما تشاء و للحديث بقية ...
    1 point
  11. صباح الخير طبعا نحن هنا قمنا بنسخ القاعدة الى مجلد النسخ الاحتياطية ، وقمنا بتمييز اسم القاعدة بالحاق حرف X فقط ، دون تمييزها بتاريخ ، وهذا تبسيط للموضوع و الكود اما في الواقع لا بد من تمييز الاسم بالحاق نمط تاريخ و / أو وقت عند اللزوم ، فاذا كانت هناك اجراءات برمجية او لزوم لاخذ اكثر من نسخة احتياطية في اليوم يلزم الحاق الوقت مع التاريخ و الا فالتاريخ كافي ، وهو لازم للفكرة الاخيرة التي تتحدث عنها و هي تراكم النسخ الاحتياطية. وبذلك يصبح تعريف اسم النسخة الاحتياطية strBackupFile = "Data" & Format(Now, "yyyymmdd") & ".accdb" بدلا عن strBackupFile = "DataX.accdb" و قبل الحديث عن : ما هو مفهوم الاسترداد لديك ؟ لا بد من تصفية و صيانة النسخ الاحتياطية تمهيدا لاسترداد احداها ، و ساجهز لك الكود مع شرح بسيط و للحديث بقية ...
    1 point
  12. برنامج جميل جدا للطباعة من موقع وزارة التربية والتعليم خصوصا لمن يتعاملون مع ويندوز 7 فاعلى مستنى تعليقات الاخوة ونقدهم للاستفادة https://drive.google.com/open?id=1kpDOnd2ix46ehVS1Zg5vxdywuhtjYtGM
    1 point
  13. إخواني الأعزاء أعضاء المنتدى الجميل ، تعبت مرارا وتكرارا وإلحاحا ( حلوة إلحاحا دي ) على المشرفين يشرحوا لنا VBA وأوامره وأكواده وشفراته والتطبيقات الممكنة بيه وربطه باكسيل ، المهم لم أجد مجيب علما بان الموضوع لو كان اتفتح من البداية وكل مشرف حط له كود كل يوم كان زمانه خلصنا منه دلوقتي ، وكان الشرح هيبقى على ايد اساتذة فاهمين ومجربين انا لا الومهم بالطبع عارف ان كلهم مشغولين ، وعلشان كده قلت اترجم كتب ومواقع في الموضوع ده ولقيت إني بستفيد بصراحة ، وحبيت إن الكل يستفيد معايا ، بمعنى آخر أنا زيي زيكم بالضبط معلوماتي في الفيجوال مع اكسيل زي معلوماتكوا في الكيمياء الحيوية وعلاقتها بالعدسات اللاصقة ههههههههه ... ومع بعض واحدة واحدة خالص واللي هخلصه ترجمة وتنسيق أعرضه ليكم ، بداية بتعريف VBA , VBE والواجهة والأوامر وكيفية كتابة الأكواد والعمليات البرمجية ، وفي النهاية هعملكو زي مرجع شامل بكل الاوامر الممكنة وتعريف موجز بالامر او الكود وبيعمل ايه ومثال لكل واحد ، والله المستعان بندأ وبعون الله في الدرس الاول الجزء الأول ( مقدمة إكسيل VBA ) في هذا الجزء سوف تتعلم : ** لماذا إكسيل VBA ** محرر أوامر VBE الغرض من هذه الدورة هو إظهار كيف يمكن لمستخدمي إكسيل استخدام برمجة التطبيقات (VBA ) التي تأتي مع برامج أوفيس مجانا .. هذه الأداة ستساعدك إلى حد كبير على تعزيز قوتك في استخدام البرنامج الأكثر شعبية في جداول البيانات باستخدام VBA . برمجة الكمبيوتر في أيامنا هذه أصبحت أسهل بكثير ، وحتى ما يسمون الآن أناس عاديين يعرفون أن البرمجة هي ببساطة وضع تعليمات يقوم الكمبيوتر بتنفيذها . وبرمجة الإكسيل تعني أنه يمكنك إعطاء تعليمات وأوامر لإكسيل ليقوم بأدائها تلقائيا ، تلك التي كنت تقوم أنت بها يدويا ، وذلك يوفر وقتك كثيرا . أثناء قراءتك لهذا فإنها ستكون المراهنة على تصبح مبرمج إكسيل ، مما قد يكون نابعا من أن تصبح أكثر قابلية للتسويق ، وهذه الدورة وبطبيعة الحال سوف تتعلم برمجة إكسيل ، ومع انتهائها سوف تدرك جيدا مدى سهولة هذه العملية . في نهاية هذه الدورة ، فإننا سوف نتعلم تطوير التطبيقات البسيطة مع اكسل VBA. قبل البدء في تعلم كيفية البرمجة باستخدام VBE ، يجب عليك أولاً كيفية استخدام البرنامج اللازم لإنشاء المشاريع الخاصة بك ، إن تطوير البرمجيات بواسطة ( VBA ) مدرج مع كل من برامج ميكروسوفت أوفيس ، مما يوفر لك عددا من الأدوات في تطوير المشروع . 1) ما هو محرر فيجوال بيزك (Visual Basic Editor ) ؟؟ عليك استخدام المصنفات ، والصيغ والرسوم البيانية ، وغيرها من الأشياء الجيدة لإكسيل معظم الوقت ، حان الوقت الآن لتوسيع النطاق الخاص بك ، واستكشاف آفاق جديدة تماما من جوانب إكسيل ، إنه محرر الفيجوال بيزك Visual Basic Editor ، عليك معرفة كيفية استخدامه ، وتعكف على مهمة كتابة بعض أوامره . إن محرر فيجوال بيزك ( VBE ) هو عبارة عن برنامج منفصل عن طريقه يمكنك كتابة وتعديل VBA أو الماكرو ، وهو يعمل بسلاسة مع إكسيل ، ويمكنك تنشيط هذا المحرر (VBE ) عن طريق الضغط على{ Alt+F11 } عندما يكون إكسيل منشطا ، أو عن طريق استخدام القوائم من أدوات – ماكرو – محرر فيجوال بيزك .. كما بالشكل التالي : الشكل يوضح كيفية استدعاء محرر أوامر الفيجوال بيزك( VBE ) أ) شريط القوائم : تماما مثل أي برنامج آخر يمكنك استخدامه ، فشريط قوائم VBE يتضمن الأوامر المختلفة ومكوناتها ، يمكنك استخدام هذه الأوامر والمكونات في VBE على فعل الأشياء ، والعديد من أوامر القائمة لديها مفاتيح الاختصار المرتبطة بها . الشكل التالي يوضح واجهة محرر البرامج VBE والتي تحتوي على الكثير من المكونات .. ب) مستعرض المشروع (Project Explorer ) : نافذة عرض المشروع تعرض شجرة توضح كل المصنفات المفتوحة في ملف إكسيل الحالي ( بما في ذلك المصنفات الإضافية والخفية ) عندما تعمل على VBE تعتبركل المصنفات والإضافات المفتوحة كمشاريع ، يمكنك اعتبار أن المشروع هو عبارة عن مجموعة من objects أو كائنات رتبت حسب مخطط معين . اضغط على علامة ( + ) الموجودة على يسار اسم المشروع في نافذة عرض المشاريع لتوسيع المشروع . ج) نافذة الأكواد ( objects ) : يضم VBE أداة أخرى ، تحتوي على نافذة الأكواد Code window أو Module window ، كل object في المشروع يرتبط بنافذة أكواد خاصة به . على سبيل المثال ، للإطلاع على نافذة أكواد للورقة Sheet1 ، انقر نقرا مزدوجا فوق Sheet1 في نافذة مستعرض المشروع . وحتى تضيف بعض أوامر VBA فإنها ستظل فارغة ... د) مستعرض الكائنات (Object Browser ( : ويضم VBE أداة أخرى ، تحتوي على نافذة الكائنات المتاحة لك خلال المشروع ، للوصول إلى مستعرض الكائنات ، اضغط F2 في شاشة VBE ، أو من قائمة عرض ( VIEW ) – مستعرض الكائنات (Object Browser ) القائمة المنسدلة في الأعلى قائمة تحتوي على مكتبة بها جميع وجوه الكائنات المتاحة حاليا .,. إذا كنت ترغب في تصفح كائنات إكسل ، حدد إكسل من القائمة المنسدلة. هـ ) نافذة الخصائص (Properties Window ) : الشكل يوضح نافذة الخصائص لأحد الكائنات بالمشروع ، وهو على سبيل المثال (CommandButton1 ) أو زر أمر 1 ، فعندما تريد تغيير عنوان هذا الزر فإنك تغير في إعدادات Caption لهذا الزر وتضع أي عنوان تريده مثل ( اضغط هنا – خروج – حفظ ... ) يمكنك ايضا أن تلعب مع بعض الخصائص الأخرى مثل الخط ، الطول لون الخلفية العرض ، والارتفاع لتغيير مظهر CommandButton1 . موجز سريع : آمل أن أكون قد وفقت في الجزء الأول في عرض المقدمة وأساسيات البرمجة عن طريق VBA ببرنامج إكسيل ، وعليك أن تفتح محرر أوامر بيزك في إكسيل وحاول استعراض الكائنات الخاصة بالمشروعات وتغيير بعض الخصائص ... ومنتظر ردودكم أكمل والا لأ لانها بصراحة أول مرة أعمل موضوع بالشكل ده ...
    1 point
  14. Private Declare Function SetDefaultPrinter Lib "winspool.drv" Alias "SetDefaultPrinterA" (ByVal pszPrinter As String) As Long Private Sub zerprint_Click() SetDefaultPrinter ("ZDesigner GC420d") DoCmd.OpenReport "reportName", acViewNormal End Sub علما انه يمكنك استبدال اسم الطابعة الظاهر باسم مربع النص استبدل reportName باسم التقرير عندك
    1 point
  15. سواء الادخال يدوي او غيره فلو جعلت وحدة بيع الصابون بالحبة : فلما تبيع كرتون الصابون يمكن ان تكتب العدد 24 حبة .. او اي عدد حسب شد الكرتون هنا مشكلتك .. لذا حبيبنا .. لا تعتب على احد
    1 point
  16. شكر واجب للعضو المتمير kaser906 على المجهودات الرائعة
    1 point
  17. أهلا بك سلمان.. كان المقصود من مشاركتي هو التطبيق العملي لفكرة الاستاذ شيفان فقط.. أما بالنسبة لتثبيت وضعية الطابعة الافتراضية لكل تقرير فسوف يكون حسب المفهوم التالي.. - تحديد أنواع الطابعات التي سوف يستخدمها البرنامج (النفثية، الليزرية، النقطية، الباركود،.. ألخ) - تحديد اسم الطابعة لكل نوع من الانواع السابقة.. - تحديد اسم الطابعة لكل تقرير طالما الطابعة متوفرة؛ يجب الاخذ بعين الاعتبار تغير اسماء الطابعات وبالتالي نحن بحاجة إلى معرفة ما إذا كانت الطابعة لا تزال متوفرة عند إقلاع البرنامج أو عند تحميل التقرير على الأقل.. - إيجاد طريقة لتثبيت القيمة الافتراضية وفحصها في كل مرة وفقا للمفاهيم السابقة.. سوف أقوم بترجمت المفاهيم السابقة عمليا في المشاركة التالية بإذن الله..
    1 point
  18. أشكرك أخي الكريم وهذا واجب علينا رد بعض الجميل لهذا الصرح الشامخ اشكرك أخي الكريم ابو زاهر
    1 point
  19. الله يعطيه الصحه والعافيه ما يقصر
    1 point
  20. استبدل الكود السابق بهذا الكود Dim x x = DLookup("[tozeh]", "tbl", "Auto_id =[المعرف]") If x = 0 Then Me![جهة التوزيع].Locked = True Me![جهة التوزيع].Enabled = False ElseIf x = -1 Then Me![جهة التوزيع].Locked = False Me![جهة التوزيع].Enabled = True End If ::بالتوفيق::
    1 point
  21. أهلا وسهلا بك فى منتدانا الكريم تفضل اخى الكريم لعله المطلوب 1.xlsm
    1 point
  22. أخي الكريم ان إنشاء العلاقات بين الجداول هو أهم خطوة في عمل البرنامج ويجب أن يكون لدى الجميع تصور كامل عن البرنامج والهدف منه حتى يستطيع الجميع المساعدة راجع الدروس التالية : الوصايا السبع للمبتدئين بالأكسس http://www.officena.net/ib/index.php?showtopic=13598 العلاقات بين الجداول http://www.officena.net/Tips/Access-Relations.htm
    1 point
×
×
  • اضف...

Important Information