نجوم المشاركات
Popular Content
Showing content with the highest reputation on 01/19/18 in مشاركات
-
بالعكس اخوي ابو ياسين ، ادلو بدلوك كذلك ، فزيادة الخير خيرين جعفر3 points
-
السلام عليكم وبعد البحث ، والتجربة: استعمل هذا الكود في وحدة نمطية: Option Compare Database Option Explicit #If VBA7 Then Private Declare PtrSafe Function SetForegroundWindow Lib "user32" (ByVal hWnd As LongPtr) As LongPtr Private hWnd As LongPtr #Else Public Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd As Long) As Long Public hWnd As Long #End If Public Function Activate_This_AccessApp() As Boolean 'Brings the DB to the front of all open windows Call SetForegroundWindow(Application.hWndAccessApp) End Function Public Function Activate_Another_AccessApp() As Boolean 'Brings the DB to the front of all open windows Dim appTarget As Access.Application Set appTarget = GetObject(CurrentDb.Name) ActivateAccessApp = Not SetForegroundWindow(appTarget.hWndAccessApp) = 0 Set appTarget = Nothing End Function ثم ننادي هذه الوحدة النمطية هكذا: Private Sub Form_Load() Call Activate_This_AccessApp DoCmd.Maximize SendKeys "{BS}", False Me.SetFocus Me.id.SetFocus End Sub جعفر 883.Bring_Access_to_Front.mdb.zip3 points
-
2 points
-
2 points
-
2 points
-
السلام عليكم أخي الكريم سليم الكود الذي وضعته بهذه السرعة رائع جدا جازاك الله خير الجزاء وبارك الله فيك وفي علمك وزاده الله في ميزان حسناتك... بالنسبة لأرقام الجلوس أعتقد أنها تلقائية وتسلسلية مثلها مثل أرقام اللجان (وهي بمعادلات)، من المفروض أن لا يخصها الترتيب تبعا لترتيب الأسماء... قمت ببعض التعديل على كودك الجميل وربطه بالملف على أن يكون الترتيب للأسماء فقط وان تكون النتيجة في العمود الثاني (الخاص بالأسماء)... أرجو أن يفي ذلك المطلوب... بن علية حاجي تجهيز الكنترول -1 ابتدائي- مرفق كود الأخ سليم معدل.rar2 points
-
2 points
-
2 points
-
نشكرك .. لكن تقدر تستخدم دالة if مرة واحدة بدل 100 مرات هكذا Static intCount As Integer intCount = intCount + 1 If intCount = 1 Then Me.pr = "تقدم مؤشر التحقق 1%" Else If intCount = 2 Then Me.pr = "تقدم مؤشر التحقق 2%" Else If intCount = 3 Then Me.pr = "تقدم مؤشر التحقق 3%" Else If intCount = 4 Then Me.pr = "تقدم مؤشر التحقق 4%" Else If intCount = 5 Then Me.pr = "تقدم مؤشر التحقق 5%" Else If intCount = 6 Then Me.pr = "تقدم مؤشر التحقق 6%" Else If intCount = 7 Then Me.pr = "تقدم مؤشر التحقق 7%" Else If intCount = 8 Then Me.pr = "تقدم مؤشر التحقق 8%" Else If intCount = 9 Then Me.pr = "تقدم مؤشر التحقق 9%" Else If intCount = 10 Then Me.pr = "تقدم مؤشر التحقق 10%" Else If intCount = 11 Then Me.pr = "تقدم مؤشر التحقق 11%" Else If intCount = 12 Then Me.pr = "تقدم مؤشر التحقق 12%" Else If intCount = 13 Then Me.pr = "تقدم مؤشر التحقق 13%" Else If intCount = 14 Then Me.pr = "تقدم مؤشر التحقق 14%" Else If intCount = 15 Then Me.pr = "تقدم مؤشر التحقق 15%" Else If intCount = 16 Then Me.pr = "تقدم مؤشر التحقق 16%" Else If intCount = 17 Then Me.pr = "تقدم مؤشر التحقق 17%" Else If intCount = 18 Then Me.pr = "تقدم مؤشر التحقق 18%" Else If intCount = 19 Then Me.pr = "تقدم مؤشر التحقق 19%" Else If intCount = 20 Then Me.pr = "تقدم مؤشر التحقق 20%" Else If intCount = 21 Then Me.pr = "تقدم مؤشر التحقق 12%" Else If intCount = 22 Then Me.pr = "تقدم مؤشر التحقق 22%" Else If intCount = 23 Then Me.pr = "تقدم مؤشر التحقق 23%" Else If intCount = 24 Then Me.pr = "تقدم مؤشر التحقق 24%" Else If intCount = 25 Then Me.pr = "تقدم مؤشر التحقق 25%" Else If intCount = 26 Then Me.pr = "تقدم مؤشر التحقق 26%" Else If intCount = 27 Then Me.pr = "تقدم مؤشر التحقق 27%" Else If intCount = 28 Then Me.pr = "تقدم مؤشر التحقق 28%" Else If intCount = 29 Then Me.pr = "تقدم مؤشر التحقق 29%" Else If intCount = 30 Then Me.pr = "تقدم مؤشر التحقق 30%" Else If intCount = 31 Then Me.pr = "تقدم مؤشر التحقق 31%" Else If intCount = 32 Then Me.pr = "تقدم مؤشر التحقق 32%" Else If intCount = 33 Then Me.pr = "تقدم مؤشر التحقق 33%" Else If intCount = 34 Then Me.pr = "تقدم مؤشر التحقق 34%" Else If intCount = 35 Then Me.pr = "تقدم مؤشر التحقق 35%" Else If intCount = 36 Then Me.pr = "تقدم مؤشر التحقق 36%" Else If intCount = 37 Then Me.pr = "تقدم مؤشر التحقق 37%" Else If intCount = 38 Then Me.pr = "تقدم مؤشر التحقق 38%" Else If intCount = 39 Then Me.pr = "تقدم مؤشر التحقق 39%" Else If intCount = 40 Then Me.pr = "تقدم مؤشر التحقق 40%" Else If intCount = 41 Then Me.pr = "تقدم مؤشر التحقق 41%" Else If intCount = 42 Then Me.pr = "تقدم مؤشر التحقق 42%" Else If intCount = 43 Then Me.pr = "تقدم مؤشر التحقق 43%" Else If intCount = 44 Then Me.pr = "تقدم مؤشر التحقق 44%" Else If intCount = 45 Then Me.pr = "تقدم مؤشر التحقق 45%" Else If intCount = 46 Then Me.pr = "تقدم مؤشر التحقق 46%" Else If intCount = 47 Then Me.pr = "تقدم مؤشر التحقق 47%" Else If intCount = 48 Then Me.pr = "تقدم مؤشر التحقق 48%" Else If intCount = 49 Then Me.pr = "تقدم مؤشر التحقق 49%" Else If intCount = 50 Then Me.pr = "تقدم مؤشر التحقق 50%" Else If intCount = 51 Then Me.pr = "تقدم مؤشر التحقق 51%" Else If intCount = 52 Then Me.pr = "تقدم مؤشر التحقق 52%" Else If intCount = 53 Then Me.pr = "تقدم مؤشر التحقق 53%" Else If intCount = 54 Then Me.pr = "تقدم مؤشر التحقق 54%" Else If intCount = 55 Then Me.pr = "تقدم مؤشر التحقق 55%" Else If intCount = 56 Then Me.pr = "تقدم مؤشر التحقق 56%" Else If intCount = 57 Then Me.pr = "تقدم مؤشر التحقق 57%" Else If intCount = 58 Then Me.pr = "تقدم مؤشر التحقق 58%" Else If intCount = 59 Then Me.pr = "تقدم مؤشر التحقق 59%" Else If intCount = 60 Then Me.pr = "تقدم مؤشر التحقق 60%" Else If intCount = 61 Then Me.pr = "تقدم مؤشر التحقق 61%" Else If intCount = 62 Then Me.pr = "تقدم مؤشر التحقق 62%" Else If intCount = 63 Then Me.pr = "تقدم مؤشر التحقق 63%" Else If intCount = 64 Then Me.pr = "تقدم مؤشر التحقق 64%" Else If intCount = 65 Then Me.pr = "تقدم مؤشر التحقق 65%" Else If intCount = 66 Then Me.pr = "تقدم مؤشر التحقق 66%" Else If intCount = 67 Then Me.pr = "تقدم مؤشر التحقق 67%" Else If intCount = 68 Then Me.pr = "تقدم مؤشر التحقق 68%" Else If intCount = 69 Then Me.pr = "تقدم مؤشر التحقق 69%" Else If intCount = 70 Then Me.pr = "تقدم مؤشر التحقق 70%" Else If intCount = 71 Then Me.pr = "تقدم مؤشر التحقق 71%" Else If intCount = 72 Then Me.pr = "تقدم مؤشر التحقق 72%" Else If intCount = 73 Then Me.pr = "تقدم مؤشر التحقق 73%" Else If intCount = 74 Then Me.pr = "تقدم مؤشر التحقق 74%" Else If intCount = 75 Then Me.pr = "تقدم مؤشر التحقق 75%" Else If intCount = 76 Then Me.pr = "تقدم مؤشر التحقق 76%" Else If intCount = 77 Then Me.pr = "تقدم مؤشر التحقق 77%" Else If intCount = 78 Then Me.pr = "تقدم مؤشر التحقق 78%" Else If intCount = 79 Then Me.pr = "تقدم مؤشر التحقق 79%" Else If intCount = 80 Then Me.pr = "تقدم مؤشر التحقق 80%" Else If intCount = 81 Then Me.pr = "تقدم مؤشر التحقق 81%" Else If intCount = 82 Then Me.pr = "تقدم مؤشر التحقق 82%" Else If intCount = 83 Then Me.pr = "تقدم مؤشر التحقق 83%" Else If intCount = 84 Then Me.pr = "تقدم مؤشر التحقق 84%" Else If intCount = 85 Then Me.pr = "تقدم مؤشر التحقق 85%" Else If intCount = 86 Then Me.pr = "تقدم مؤشر التحقق 86%" Else If intCount = 87 Then Me.pr = "تقدم مؤشر التحقق 87%" Else If intCount = 88 Then Me.pr = "تقدم مؤشر التحقق 88%" Else If intCount = 89 Then Me.pr = "تقدم مؤشر التحقق 89%" Else If intCount = 90 Then Me.pr = "تقدم مؤشر التحقق 90%" Else If intCount = 91 Then Me.pr = "تقدم مؤشر التحقق 91%" Else If intCount = 92 Then Me.pr = "تقدم مؤشر التحقق 92%" Else If intCount = 93 Then Me.pr = "تقدم مؤشر التحقق 93%" Else If intCount = 94 Then Me.pr = "تقدم مؤشر التحقق 94%" Else If intCount = 95 Then Me.pr = "تقدم مؤشر التحقق 95%" Else If intCount = 96 Then Me.pr = "تقدم مؤشر التحقق 96%" Else If intCount = 97 Then Me.pr = "تقدم مؤشر التحقق 97%" Else If intCount = 98 Then Me.pr = "تقدم مؤشر التحقق 98%" Else If intCount = 99 Then Me.pr = "تقدم مؤشر التحقق 99%" Else If intCount = 100 Then Me.pr = "تم إكتمال التحقق 100%" End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If غيره الى هذا Static intCount As Integer intCount = intCount + 1 If intCount Then Me.pr = "تقدم مؤشر التحقق " & intCount & "%" End If2 points
-
2 points
-
السلام عليكم ورحمة الله وبركاته هذا الموضوع اُثير اكثر من مرة في الآونة الاخيرة ، ورأيت من الافضل ان اضع مثال ليقتدي به الجميع وقبل ان نبدأ ، اود ان اشير الى انني اعمل على اكسس 32 بت ، ولا املك نسخة من اكسس 64 بت احب ان اشير الى الرابط الذي شرحت فيه ان مايكروسوفت توصي بتنصيب الاوفيس / اكسس 32 بت ، بغض النظر عن نوع الوندوز المنصّب على الكمبيوتر ، سواء كان 32 بت او 64 بت: http://www.officena.net/ib/topic/64036-هل-استخدم-اوفيس-32-بت-او-64-بت/ ولكن ، ماذا نفعل اذا عملنا برنامجنا على اكسس 32 بت ، واتضح ان الزبون عنده جهاز فيه اكسس 64 بت المثال التالي يشتغل على 32 بت و 64 بت ، ونستطيع ان نستفيد منه لعمل برنامجنا البرنامج المرفق ، بعد فك الضغط ، سيحتوي على 3 برامج: . هذا برنامج No_Password_BE.accdb ، وبه جدول واحد ، ولا يحتاج الى كلمة سر لفتحه: . هذا برنامج Password_is_jj_BE.accdb ، وبه جدول واحد ، وكلمة السر لفتحه هي jj: . البرنامج: JStreetAccessRelinker2.accdb من الرابط http://www.jstreettech.com/downloads.aspx ، وبه ماكرو ووحدات نمطية تعمل على 32 بت و 64 بت (فالفضل في هذا المثال يعود للبرنامج وليس لي ) ، وقد قمت بإضافة نموذج لربطه مع احد برنامج الجداول اعلاه ، ومبدئيا فهو مرتبط مع البرنامج No_Password_BE.accdb ، . وعند فتح البرنامج لأول مرة ، سوف يفتح نافذة تطلب معرفة مكان برنامج الجداول No_Password_BE.accdb ، وتستطيع ان تنقر على الزر Link Another BE ، وستفتح لك نافذة تطلب منك معرفة مكان برنامج الجداول الجديد الذي تريد ان تربطه (بدل البرنامج No_Password_BE.accdb) : . وبما ان البرنامج هذا محمي بكلمة سر ، فسوف تظهر لك نافذة لإدخال كلمة السر (لاحظ ان الادخال مشفر) : . وعندما يتم الربط ، سترى رسالة التاكيد: . الرجاء من الشباب الذين لديهم نسخة من الاكسس 64 بت ، التاكد من ان البرنامج يشتغل على كمبيوترهم بدون اخطاء. عندما نريد ان نعمل برنامج يشتغل على النسختين 32 و 64 بت ، فكود النماذج هو نفسه بين نسختي 32 بت و 64 بت ، والشئ الوحيد الذي يتغير هو دوال الوحدات النمطية API ، والكود الذي ينادي هذه الوحدات (بغض النظر سواء كان في نموذج او في وحدة نمطية مستقلة) ، هنا سوف اعطي مثال واحد من الكود عن طريقة العمل للنسختين 32 و 64 بت: الكود التالي يستعمل دالة API فتح نافذة اختيار ملف ، والدالة هي 32 بت (لاحظ comdlg32.dll ) : Private Declare Function GetOpenFileName Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" (OPENFILENAME As tagOPENFILENAME) As Long الان اذا اردنا ان نجعل هذه الداله API تعمل على 64 بت كذلك ، فالكود يجب ان يكون: #If VBA7 Then 'هذه لنسخة 64 بت Private Declare PtrSafe Function GetOpenFileName Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" (OPENFILENAME As tagOPENFILENAME) As Boolean #Else 'وهذه لنسخة 32 بت Private Declare Function GetOpenFileName Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" (OPENFILENAME As tagOPENFILENAME) As Long #End If ولاحظ في كود البرنامج ، انه تم جمع جميع الدوال مع بعض ، وجمعها في if# و else# و end if# واحدة. وهناك اصدار جديد لكود الربط ، ويمكن انزاله من هنا: http://www.jstreettech.com/files/JStreetAccessRelinker2.zip جعفر 238.Work_on_32Bits_and_64Bits.zip1 point
-
بسم الله الرحمن الرحيم عليه نتوكل وبه نستعين، نحمده سبحانه كما ينبغي أن يحمد، ونصلي ونسلم على رسوله محمد وعلى آله وصحبه والتابعين . وبعد ها هو منتدانا وصرحنا أوفيسنا يضيف أقسام جديدة تضيف إلى رصيده العلمي منابر عدة للباحث العربي ، ليفتح آفاقًا رحبة للبحث العلمي في مجالات لها أهميتها البالغة في تنمية مهارات الفرد والباحث ، و يأمل منكم دعمكم وإثراءكم بمشاركاتكم ودراساتكم، ومقترحاتكم، لكي يكتب للأقسامه الجديدة النجاح والاستمرار وتتمكن من القيام بدورها الذي أنشئت من أجله. سائلين الله تعالى أن ينفع به وأن يكون عملا خالصا له سبحانه فيتصل ولا ينقطع، وأن يجازي بالخير كل من أسهم فيه ولو بكلمة طيبة. وانتهز الفرصة بالتوجه بالشكر للمهندس محمد طاهر وفريق العمل ولجميع الأعضاء بالمنتدي وشكري الخاص لأخواني الذين راسلوني على الخاص للاطمئنان علي اثناء انقطاعي عن المنتدي ونظرا لبعض الطلبات لأخواني بالمنتدي لتطوير برنامج تسجيل لروضة اطفال كنت انتهيت من فترة من بعض الاضافات الي الاصدار الأول واضافة صورة للطفل وطباعة أي دي بطاقة تعريف الطفل ولمزيد من الشرح حول البرنامج في الاصدار الأول رابط الاصدار الأول بعض الصور التوضيحية للبرنامج الملف بالمرفقات ويسعدني بتلقي ملاحظاتكم تم تعديل الملف واضافة خيار اضافة صورة من الفورم وحفظة تلقائيا KG_VII_B_Dahy.rar1 point
-
السلام عليكم ورحمة الله وبركاته إخواني الكرام .. قد يكون موضوع الكسر موضوع شائك وفيه خلاف ، ولكن ربما يكون مفيد لصاحب العمل نفسه ، حيث أنه معرض لنسيان الباسورد الذي تم وضعه على محرر الأكواد .. الموضوع مميز لأنه يقوم بكسر الحماية بدون برامج على الإطلاق ..وبدون AddIns وبدون الاستعانة بأية برامج مجانية أو مدفوعة !! كسر محرر الأكواد بالأكواد نفسها (قنبلة الموسم) وعلى رأي المثل : علمته رمي السهام فلما اشتد ساعده رماني .. الكود قليل الأصل !! محفظش الجميل للبيئة اللي هو منها ، لأنه كسر بيئة محرر الأكواد !!! Sub HackVBA() Open "C:\Users\Future\Desktop\Test.xls" For Binary As #1 Put #1, 1, Replace(Input(LOF(1), 1), "DPB=", "DPX=", , 1) Close Workbooks.Open "C:\Users\Future\Desktop\Test.xls" End Sub المطلوب فقط أن تغير مسار الملف المراد كسره داخل الكود ، والمسار يوضع بين أقواس تنصيص .. أترككم مع الفيديو عله ينال إعجابكم وتستفيدوا منه إن شاء المولى .. ولا تنسونا من اللايكات على اليوتيوب !!!!! ....أكرر اللايكات على اليوتيوب ..فضلاً لا أمراً تقبلوا تحيات أخوكم أبو البراء1 point
-
اخواني الكرام ، السلام عليكم عندما يكون جهاز الحاسب خاص ببرنامج محدد فاننا نعمل على جعل البرنامج يفتح مع الاقلاع مثلا برنامج حضور بواسطة قارىء البطاقة سنجعل نموذج البداية يفتح على كامل الشاشة وسيكون المؤشر مرتكز على حقل التسجيل المشكلة : ان التركيز احيانا وفي بعض الاجهزة يكون خارج الفورم (على شريط المهام) مما يضطر معه الى النقر على الحقل بواسطة الفأرة السؤال : انا استخدم في نهاية حدث عند تحميل الفورم العبارة التالية : SendKeys "{BS}", False Me.id.SetFocus من اجل نقل التركيز الى الفورم ثم الى حقل id ولكن اكسس لا يقبل السطر الأول فهل من حل أو بديل ؟ db1.rar1 point
-
1 point
-
تفضل جرب الآن Me.[Nd] = UmFormat(UmDateAdd("d", Val(Me.Md) - 1, Me.[Bd]), Nd.Format) Me.[Ad] = UmFormat(UmDateAdd("d", Val(Me.Md), Me.[Bd]), Ad.Format) ejazat_hejri_mdb1.rar1 point
-
فيك الخير والبركه استاذنا ابو الجعافر نتمنا ان يحصل استاذنا ابو ياسين على مراده تحياتي اليكم1 point
-
1 point
-
اذا كان قصدك نموذج وجدول سند_صرف (وليس رقم_السند ، لأنه اصلا لا يوجد في برنامجك نموذج او جدول بهذا الاسم) ، فمافي فرق تأخذ المعلومة من ايهم ، لأن مصدر بيانات النموذج هو الجدول سند_صرف ايضا!! . جعفر1 point
-
1 point
-
آعتذر منك ، من قراءتي السريعة للموضوع اعتقدت بأنها شيء جديد فالظاهر يجب ان تتجه الى شراء برنامج يقوم بإخفاء المجلدات ، ولكن يجب التأكد من انه تستطيع السيطرة عليه عن طريق Command line ، والذي تستطيع من الاكسس التحكم فيه. جعفر1 point
-
الرابط اللي اعطيتك في اول مشاركة ، فيه رابطين ، الرابط الثاني فيه طلبك ، حتى كيفية عرض اسماء الملفات في المجلد: . الروابط تعطيك جميع الاكواد اللي تحتاج لها في عمل البرنامج جعفر1 point
-
1 point
-
1 point
-
1 point
-
طيب اخي جعفر انا اريده من النموذج وليس من الجدول اقصد من نموذج رفم_السند وليس من جدول رقم السند ماينفع بهذه الطريقه1 point
-
استاذي الفاضل ابو ياسين السلام عليكم ورحمة والله وبركاته نعم احسنت هذا حل اخر بارك الله فيك وجزاك الله خيرا وجعلها الله جل وعلا في ميزان حسناتك يارب اساتذتي الافاضل الاستاذ جعفر والاستاذ ابو ياسين بارك الله فيكم وجزاكم الله خيرا سائلا الله جل وعلا ان يمن عليكما بالصحة والعافية يارب يارب1 point
-
السلام عليكم نعم هو هذا ما اقصده يعني الآن رجعنا الى مقارنة: قيمة حقل البيان اللي في النموذج ، مع الحقل البيان في الجدول حركات ، وقيمة حقل التاريخ اللي في النموذج ، مع الحقل تاريخ الحركة في الجدول حركات. للأسف هذا غير كاف للمقارنه ، فانت محتاج الى حقل ثالث للمقارنه ايضا ، اخبرك ليش: يوم 18/01/2018 جاءك المرسام وطلب دفعة من الحساب ، فيقارن الكود بيانات النموذج والجدول حركات ، ولا يلاقي هذا التاريخ ولا البيان ، فيتم حفظ التاريخ والبيان في جدول حركات ، ثم في نفس اليوم 18/01/2018 جاءك عالم النسيج وطلب دفعة من الحساب ، فيقارن الكود بيانات النموذج والجدول حركات ، ويلاقي هذا التاريخ و البيان ، فلن يحفظ هذا السجل !! لا يتم حفظ سجل عالم النسيج ، مع انه لا علاقة بين عالم النسيج والمرسام !! لهذا السبب انت بحاجة الى حقل ثالث للمقارنة ، وهو حقل اسم_المورد ، ولكن هذا الحقل لا يوجد في جدول حركات (انظر صورة الجدول في الصورة في الاسفل) ، لذا لا تستطيع ان تقوم بالمقارنة الصحيحة ، وعليه كود مقارنة الحقلين غير مجدي وغلط. . البارحة ، وقبل ان اعمل اي شيء ، قمت بتنسيق الكود الذي على الزر ، حتى يكون مفهوما لي: Private Sub أمر29_Click() Dim str1SaveMssage As String Dim strSaveMssage As String DoCmd.Beep If Not IsNull(Me.supplier_name) Then str1SaveMssage = " ســيــتــم تـرحـيـل : " str1SaveMssage3 = " عـلـى حـسـاب : " str1SaveMssage = str1SaveMssage & Me.[payment_amount] & " ريـال " str1SaveMssage3 = str1SaveMssage3 & Format(Me.supplier_name, " ") If MsgBox(str1SaveMssage & str1SaveMssage2 & str1SaveMssage3 & vbCrLf & "", vbYesNo, " بـرنـامـج الـخـيـاط ") = vbNo Then Exit Sub End If criteria = "[البيان]='" & Me.payment_info & "'" criteria = criteria & " and [تاريخ الحركة]=#" & Me.payment_date & "#" Debug.Print criteria If DCount("*", "حركات", criteria) > 0 Then 'If DCount("*", "حركات", "[البيان]='" & Me.supplier & "'" & "and [تاريخ الحركة]<>#" & Me.payment_date & "#") > 0 Then ' Exit Sub 'If DCount("*", "حركات", "[البيان]<>'" Me.supplier & "'" & "and [التاريخ]<>#" & Me.payment_date & "#") > 0 Then 'If supplier = Nz(DLookup("البيان", "حركات"), 0) And Me.payment_date = Nz(DLookup("[تاريخ الحركة]", "حركات"), 0) Then DoCmd.Beep MsgBox "لـقـد تـم تـرحـيـل عـلـى حـسـاب : " & Format(Me.[supplier_name], " ") & " مـن قـبـل ", , " بـرنـامـج الـخـيـاط : " Else DoCmd.SetWarnings False DoCmd.CancelEvent DoCmd.RunSQL ("INSERT INTO حركات ([نوع السند], البيان, الاسم, [تاريخ الحركة], مدين, [user] ) SELECT = ""الموردين"" AS Expr6," & _ """ دفعة "" & [Forms].[سند_صرف]![supplier_name] AS Expr4, = ""الخزينه"" AS Expr2, [Forms].[سند_صرف]![payment_date] AS Expr3," & _ "[Forms].[سند_صرف]![payment_amount] AS Expr5, [Forms].[login]![a] AS Expr1;") DoCmd.SetWarnings True Beep If Not IsNull(Me.supplier_name) Then strSaveMssage = " مـبـلـغ : " strSaveMssage = " تـم تـرحـيـل : " strSaveMssage2 = " عـلـى حـسـاب : " strSaveMssage1 = strSaveMssage1 & " بنـجـاح " strSaveMssage = strSaveMssage & (Me.[payment_amount]) & " ريـال " strSaveMssage3 = strSaveMssage3 & Format(Me.supplier_name, " ") MsgBox (strSaveMssage) & (strSaveMssage2) & (strSaveMssage3) & (strSaveMssage1), vpInFormation, " بـرنـامـج الـخـيـاط " End If 'Not IsNul End If 'DCount End If 'Not IsNul Me.Refresh End Sub جعفر1 point
-
1 point
-
جرب هذا الملف تم العمل في الصفحة Salim و ذلك لعدم العبث بالصفحة الرئيسية اذا اعجبك الماكرو يمكنك التعديل عليه ليتناسب مع المعطيات عندك الماكرو فيما بعد (لبطء النت) Salim.rar1 point
-
دائما انت السباق اخي جعفر لكن والله لم اشاعد ردك الى الان بقوم برفع طريقتي ثم بشوف طريقتك للعل الكل يستفيد1 point
-
1 point
-
1 point
-
انا انزلت المرفق لكن بعد لا اعرف وين المشكلة لان عندي كل شيء تمام فتحت النموذج والاشارة في الحقل id ... لكن انا استخدم هذه الطريقة لكي نجعل التركيز على الحقل مثلا نريد ان يكون التركيز على نموذج1 في حقل اي دي استخدم هذا من اي نموذج او من اي مكان تستخدمه سيكون فعال حسب تجربتي Form_نموذج1.id.SetFocus لكن يجب ان يكون صفحة الاكواد النموذج اللي تجعل تركيز عليه مثلا (نموذج 1 ) جاهز اي يجب ان يكون اسمهم موجود هناك1 point
-
:: فقط تأكد من مصدر بيانات النموذج والحقول وتعديل الكود الخاص بالزر ... If Me.Text39 = Me.SerialNumber Then Me.Text5.Visible = False Else Me.Text5.Visible = True End If1 point
-
1 point
-
طيب انا جربت انى اضغط على شريط المهام وطبقت طريقتك وحاولت الالتفاف حول المشكلة عن طريق اغلاق الفورم وفتحه برمجيا فى حدث عند التوقيت ونجحت الفكرة بيعيد التركيز للحقل المطلوب حتى لو التركيز خارج الأكسس DoCmd.Close: DoCmd.OpenForm "نموذج1" بس على حسب طبيعة عمل الفورم انا غير متأكد هل هتنفعك الطريقة ام لا طريقة اخرى فى حدث عند التوقيت ايضا كما اشار استاذ جعفر ولكنى فكرت فيها قبله Forms![äãæÐÌ1].SetFocus Me.id.SetFocus db2.rar1 point
-
السلام عليكم استاذى الفاضل هل المثال التالى قد يساعدك .؟ Dim ReturnValue, I ReturnValue = Shell("CALC.EXE", 1) ' Run Calculator. AppActivate ReturnValue ' Activate the Calculator.1 point
-
الاخ مصطفى اسف على التأخير فى الرد لسفرى الايام دى الملف تم تعديل ال 3 صفحات الاولى واضافة بعض الصفحات وادخال الصوت كمل باقى الاسئلة بنفس الطريقة مسابقة خيارات متعددة لإصدار 2003.rar1 point
-
و عليكم السلام و رحمة الله و بركاته الله المستعان جزاك الله خيراً1 point
-
1 point
-
1 point
-
1 point
-
Public Function Parse_to_Rich_Text(TextIn As String) As String Dim var() As String Dim delim As String Dim i As Integer Dim T As String 'Exit when No value If Len(TextIn & "") = 0 Then Parse_to_Rich_Text = "" Exit Function End If 'get the delimiter separator For i = 1 To Len(TextIn) If Not IsNumeric(Mid(TextIn, i, 1)) Then delim = Mid(TextIn, i, 1) Exit For End If Next i 'split the text to two values var = Split(TextIn, delim) T = "<div " 'Start, Make HTML code 'Left side T = T & "<font" 'font info, First Line T = T & " size=4" 'size T = T & ">" 'close T = T & "</font>" 'font info, Last Line T = T & " <b>" 'Bold, begin T = T & var(0) & delim 'Text T = T & "</b>" 'Bold, Close 'Right side T = T & "<font" T = T & " size=2" T = T & " color=red" T = T & ">" T = T & var(1) T = T & "</font>" T = T & "</div>" 'Close, Make HTML code 'Debug.Print T Parse_to_Rich_Text = T End Function اوامر HTML التي يمكننا استعمالها في حقل Rich Text في الاكسس: https://support.office.com/en-us/article/Insert-or-add-a-rich-text-field-9f86237d-dbbc-4a85-b12c-9d8dca824630?CorrelationId=e5ac3d8a-72c2-4ac2-8f74-c70704f01a2f&ui=en-US&rs=en-US&ad=US&ocmsassetID=HA010014097 وبرمجة هذه الاوامر ممكن ان نبحث عنها هنا ، لكي نعمل الجملة المطلوبة https://www.w3schools.com/TAgs/default.asp جعفر 878.RichText.accdb.zip1 point
-
مشاركة مع اخي شفان عملت تعديل على الوحدة النمطية لتأخذ جميع انواع الفواصل Public Function ParseText(TextIn As String, X) As Variant On Error Resume Next Dim var As Variant Dim delim As String For i = 1 To Len(TextIn) If Not IsNumeric(Mid(TextIn, i, 1)) Then delim = Mid(TextIn, i, 1) Exit For End If Next i var = Split(TextIn, delim, -1) ParseText = var(X) End Function . وانا افضل لو نعمل كود الحقل في الوحدة النمطية مباشرة كذلك ، لأنك ستحصل على النتائج بضعف السرعة (اسرع مرتين) ، لأنك ستنادي الوحدة النمطية مرة لكل حقل جعفر1 point
-
هل تريد ان يظهر هكذا انا استخدمت هذا =IIf(Len([Champ1] & "")=0;"";"<div align=right dir=RTL><font size=4>" & ParseText([Champ1];0) & "</font>.<font size=2>" & ParseText([Champ1];1) & "</font></div>") مع هذا فانكشن Public Function ParseText(TextIn As String, X) As Variant On Error Resume Next Dim var As Variant var = Split(TextIn, ".", -1) ParseText = var(X) End Function Data.rar1 point
-
مشاءالله ابداع ياستاذ ضاحي جزاك الله الف خير واجعله في ميزان حسناتك يارب1 point
-
الاستاذ الفاضل ضاحى الغريب . عمل ولا اروع جعله الله فى ميزان حسناتك . واذا سمحت عندى طلب ثقيل شوى ولاكنى امل الا تخيبى رجائى . اود ان ادمج ملفين منفصلين اكسل ليصبحوا فى ملف واحد فقط ليساعدنى فى ادارة مشروعى وهو انا اقوم بالبرنامج الاول بتسجيل الاصناف الموجوده عندى . ويقوم البرنامج الاخر الذى هو من انتاج حضرتك ( الفاوتير ) بقرائه البيانات التى اقوم باضافتها وتصبح موجوده به UserForm Flexibles.rar فاتورة مبيعات اوفيسنا_2.rar1 point
-
الطريقه العاشره :- تعبئه الكمبوبوكس بأستخدام Set هذه هى الطريقه الاخيره من طرق الكمبوبوكس وعلشان هى الاخيره والاعمال بالخواتيم اللهم ارزقنا جميعا حسن الخاتمه فطريقه اليوم طريقه سهله جدا وتتميز بالبساطه يعنى هنقزز كدا شوى مع بعض ونتسلى ( استراحه متعلم ) لو عندى شيت زى كدا وفيه بيانات وعايز اقوم بتعبئة الكمبوبوكس بالبيانات المظلله باللون الاخضر شاهد الصوره يوجد طريقتين الطريقه الاولى :- لو نطاق البيانات عندى ثابت كما هو بالجدول من A2: b5 هستخدم الكود التالى Dim R As Range Set R = Sheet1.Range("A2:b5") Me.ComboBox1.List = R.Cells.Value كود سهل جدا وبسيط السطر الاول الاعلان عن المتغيرر وقمت بتسميته R ( وممكن تسميه اى اسم كيفما شئت) وانه ان المتغير ده من النوع Range وعايز احول المتغير ده الى كائن بحيث اعرفه واقدر اتعامل معاه فأستخدمت set وهذه الكلمة هى لتحويل المتغير الى كائن القاعده الخاصه بـ Set هى الكائن = المتغير set ("Set R = Sheet1.Range("A2:b5 بعد ما عرفت الكائن وحددت نطاقه دلوقتى اقدر استخدمه واتعامل معه Me.ComboBox1.List = R.Cells.Value هذا السطر يعنى ان قائمة الكمبوبوكس تساوى النطاق قيمة كل خليه فى النطاق R الطريقه الثانيه :- لو نطاق البيانات عندى متغير كما هو بالجدول من A2: b5 ولكن يمكن اضافه اسماء جديده او حذف اسماء موجود فى هذه الحاله هو نفس الكود ولكن هيتم تعريف اخر صف به بيانات هستخدم الكود التالى Dim R As Range Set R = Sheet1.Range("A2:b" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) Me.ComboBox1.List = R.Cells.Value وطبعا اتكلمنا قبل كدا ماذا يعنى سطر تعريف اخر خليه بها بيانات يبقى تحديد وقت تنفيذ الكود وزى ما اتفقنا قبل كدا ان وقت تنفيذ الكود انت اللى بتحدده ولكن على سبيل المثال فى حدث فتح الفورم Private Sub UserForm_Initialize() Dim R As Range Set R = Sheet1.Range("A2:b" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) Me.ComboBox1.List = R.Cells.Value End Sub طبعا فى طرق اخرى ولكن لا ارى جدوى منها فنكتفى بعشر طرق تم تناولها لننتقل الى شروحات اخرى فأنا والله لم ابخل عليكم بمعلومه فكل ما يهمنى ويشغل بالى هو تبسيط المعلومه بعيدا عن الكلمات المعقده واكون دائما حريص على تنوعها ففى تعبئة الكمبوبوكس اتكلمت عن عشر طرق كان بالامكان اكتفى بطريقه او طريقتين ولكن الامانه العلمية وحبى لكم تقتضى على ان اعرفكم بكل شئ عايزكم تكونو احسن منى مش بس زى انا وما يحزننى هو احساسى بان الناس مش مهتمه بالموضوع لسبب او لاخر أحيانا الانسان لما بيزرع شجره بيكون عايز يشوف ثمرة جهده وعرقه فأنا مستمر فى غرس الشجر مهما كانت العواقب والعواصف أن شاء الله بعد الانتهاء من كل الشروحات هيتم تحويله الى كتيب الكترونى Pdf وان شاء الله يكون اول كتاب باللغه العربيه فى شروحات الفورم اللى بيدخل فى ادق التفاصيل واعمقها والى لقاء اخر من حلقات سلسلة علمنى كيف اصطاد انتظرونا تقبلوا تحياتى1 point
-
الأخ الكريم/enterco السلام عليكم ورحمة الله وبركاته أبدأ بإستئذان الأساتذة الأفاضل من شاركوا في الحل قبلي - بترتيب المشاركة - مع حفظ الألقاب والمقامات الأستاذ/رجب جاويش والأستاذ/م / ياسر فتحى البنا والأستاذ/محمود الاسيوطى والأستاذ/أبو حنين والأستاذ/احمد عبد الناصر المرفق تصور لتوجيه البحث ناحية الحروف المدخلة - لعل به إفادة - تقبل تحياتي ComboBox as Validation List.rar1 point