نجوم المشاركات
Popular Content
Showing content with the highest reputation on 01/19/18 in all areas
-
بالعكس اخوي ابو ياسين ، ادلو بدلوك كذلك ، فزيادة الخير خيرين جعفر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
-
السلام عليكم ورحمة الله تعالى وبركاته تحية طيبة للأساتذة الكرام سؤالي هو من خلال الاكسس هل يمكن انشاء مجلد لايمكن الدخول إليه الا بكلمة مرور؟1 point
-
اخواني الكرام ، السلام عليكم عندما يكون جهاز الحاسب خاص ببرنامج محدد فاننا نعمل على جعل البرنامج يفتح مع الاقلاع مثلا برنامج حضور بواسطة قارىء البطاقة سنجعل نموذج البداية يفتح على كامل الشاشة وسيكون المؤشر مرتكز على حقل التسجيل المشكلة : ان التركيز احيانا وفي بعض الاجهزة يكون خارج الفورم (على شريط المهام) مما يضطر معه الى النقر على الحقل بواسطة الفأرة السؤال : انا استخدم في نهاية حدث عند تحميل الفورم العبارة التالية : SendKeys "{BS}", False Me.id.SetFocus من اجل نقل التركيز الى الفورم ثم الى حقل id ولكن اكسس لا يقبل السطر الأول فهل من حل أو بديل ؟ db1.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
-
طيب اخي جعفر انا اريده من النموذج وليس من الجدول اقصد من نموذج رفم_السند وليس من جدول رقم السند ماينفع بهذه الطريقه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
-
وعليكم السلام اخوي حربي تفضل ، وكلمة السر 1 Private Sub Form_Load() Me.Frm_1!Degree.Locked = True Me.Frm_2!Degree.Locked = True Me.cmd_Lock_Degree.Caption = "افتح قفل الدرجات" Me.cmd_Lock_Degree.ForeColor = vbBlack End Sub Private Sub cmd_Lock_Degree_Click() On Error GoTo err_cmd_Lock_Degree_Click If Me.Frm_1!Degree.Locked = True Then If InputBox("رجاء ادخال كلمة السر") = Val(1) Then Me.Frm_1!Degree.Locked = False Me.Frm_2!Degree.Locked = False Me.cmd_Lock_Degree.Caption = "اقفل الدرجات" Me.cmd_Lock_Degree.ForeColor = vbRed Else MsgBox "لا تملك صلاحية تغيير الدرجة" Exit Sub End If Else Me.Frm_1!Degree.Locked = True Me.Frm_2!Degree.Locked = True Me.cmd_Lock_Degree.Caption = "افتح قفل الدرجات" Me.cmd_Lock_Degree.ForeColor = vbBlack End If Exit_cmd_Lock_Degree_Click: Exit Sub err_cmd_Lock_Degree_Click: If Err.Number = 13 Then MsgBox "لا تملك صلاحية تغيير الدرجة" Resume Exit_cmd_Lock_Degree_Click Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر 884.PrgDB3.mdb.zip1 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
-
وعليكم السلام اخوي ابو خليل عادة اذا اردنا ان نضع التركيز على حقل في نموذج آخر ، فإننا يجب ان نضع التركيز على النموذج اولا ، ثم التركيز على الحقل ، واذا اردنا ان نضع التركيز على حقل في نموذج فرعي ، فإننا يجب ان نضع التركيز على النموذج اولا ، ثم النموذج الفرعي ، ثم التركيز على الحقل. وبشوف مرفقك الآن جعفر1 point
-
لتوضيح المشكلة والمطلوب عمليا : بعد فتح النموذج سيكون على مستوى كامل الشاشة ، حاول ان تظهر شريط المهام بالاسفل وتنقر بزر الفأرة عليه من اجل يكون التركيز على شريط المهام الآن ما الطريقة للانتقال الى النموذج بدون استخدام الفأرة بالضبط هذا ما يحدث عندي عند فتح البرنامج واريد كود يعيد التركيز الى الفورم علما ان هذه المشكلة لا تحدث الا عند فتح البرنامج حال الاقلاع ، ويتضح من هذا ان لدى وندز حدث عقب فتح برنامجنا1 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 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
-
السلام عليكم اخى الكريم بعد النظر الى قاعدتك فى نظرى تصميم الجداول ليس جيدا وسيظهر لك العديد من المشاكل فى المستقبل و اليك بعض النصائح لبناء القاعدة من جديد : يلزمك 4 جداول اساسية وهم 1-جدول رأس الفاتورة : وفيه هيكون رقم الفاتورة - نوعها (مبيعات-مشتريات-ارتجاع) - طريقة التعامل (نقدى - اجل) - تاريخ الفاتورة - العميل - ملاحظات ) وفيه رقم الفاتورة مفتاح اساسى لا يقبل التكرار 2- جدول الحركات بيكون فيه كود الصنف واسمه والكمية المشتراه و الكمية المباعة و رقم الفاتورة وملاحظات ) ويتم ربط الجدولين برقم الفاتورة 3- جدول العملاء 4- جدول الاصناف اسماء الحقول كلها اعملها انجليزى وليس عربى لسهولة التعديل وكتابة الاكواد اعمل التغييرات وجرب استعلاماتك وشوف الفرق ولو ظهرت مشاكل ارفق القاعدة الجديدة بالتوفيق ملحوظة : لست ملزم بعمل ما قلته لك ولكن هذا رأيى الشخصى قد يصيب ويخطئ1 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