-
Posts
10005 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
407
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
السلام عليكم ورحمة الله وبركاته أخي الوئام أسير الشروق ارفق لك برنامج شؤون الموظفين في المشاركة رقم 2 ، لماذا لا تستخدم هذا البرنامج كأساس ، وتزيد فيه المطلوب (ونحن نساعدك) ، وتغير فيه ما شئت (ونحن نساعدك) ، لأنه في نهاية الأمر ، برنامجك سيتوسع ويصبح نوعا ما مثل هذا البرنامج جعفر
-
وعليكم السلام ورحمة الله وبركاته أخي عبدالرحمن 1. هي تعمل هكذا الان ، 2. مسألة إخفاء الحقول سهلة ، ولكني لا اراها واقعية ، 3. تستطيع إخفاء الحقول في النموذج الرئيسي ، ولكن لا تصفرها ، لأن حقلي الضرائب مرتبطة بنفس المصدر ، فاذا صفرت من مكان ، اصبحت النتيجة صفر للحقل بالكامل ، 4. انا في اعتقادي انه: اذا الضريبة ستكون واحدة لجميع اصناف الفاتورة الواحدة ، فلماذا وضعها في سجل النموذج الفرعي اصلا!! لاحظ بأننا الان نحفظ الضريبة والخصم في الجدول Ezn_ADD في سجل الفاتورة ، وكما تتم عملية الخصم على الفاتورة الكلية ، يجب ان تتم عملية الضريبة على الفاتورة الكلية كذلك ، بدون حفظها في النموذج الفرعي لكل سجل على حدة جعفر
-
السلام عليكم أخي عبدالرحمن اعتذر عن التأخر في الرد عليك الحقول في المربعات الحمراء هي التي قمت بالعمل عليها ، واما بعض الحقول القديمة والتي في الدائرتين ، فلم استعملهم في البرمجة ، فيمكنك حذفها ان شئت عن تغيير قيمة خانات الضريبة والخصم في النموذج الرئيسي ، فانها تعكس نتائجها مباشرة في النموذج الفرعي ، الضريبة لا تزال موجودة في سجلات النموذج الفرعي ، ونتائجها تعمل على المجموع ، ولكن الخصم يعمل على المجموع فقط تم إضافة حقلين في الجدول Ezn_ADD وهما Tax و Discount ، وهذا الكود الذي يعمل على الحدث بعد التحديث للضريبة والخصم: Private Sub Opt_Discount_AfterUpdate() 'get the Discount for the option Call txt_Discount_AfterUpdate End Sub Private Sub txt_Discount_AfterUpdate() 'just need to Requery, so that the Discount can be taken from the Main/Parent Form Me.Sub_EznADD.Form.Requery End Sub Private Sub opt_Tax_AfterUpdate() 'get the Tax for the option Call txt_Tax_AfterUpdate End Sub Private Sub txt_Tax_AfterUpdate() 'Apply ONE Tax on the whole invoice in the SubForm Sub_EznADD 'if Tax selected in txt_Tax = 10 , this means 10% Set rst = Me.Sub_EznADD.Form.Recordset rst.MoveLast: rst.MoveFirst RC = rst.RecordCount For i = 1 To RC Me.Sub_EznADD!Out_Tax = Me.txt_Tax / 100 rst.MoveNext Next i End Sub جعفر 5.test.mdb.zip
-
لايتم التنشيط او التركيز في الاكسس ( الجداول والاستعلامات )
jjafferr replied to كوماندير's topic in قسم الأكسيس Access
-
حياك الله أخي عبدالفتاح في ملاحظاتي التي شرحت فيها البرنامج ، انا قلت بالنسبة للترقيم: رجاء إخباري اذا كان في شئ غير هاتان الملاحظات جعفر
-
نصيحة: احذف حساب الـ Admin ، لان جميع قواعد البيانات اسم المستخدم لها هو Admin او لا تجعل اي مستخدم في هذا الحساب ، واعمل كود لا يسمح لهذا المستخدم بالدخول في قاعدة البيانات اصلا جعفر
-
التصفيه في نموذج درجات الطلاب يجمع بيانات جدولين
jjafferr replied to عبدالعزيزالمدني's topic in قسم الأكسيس Access
كبير يا ابوآلآء ، كبير وانا تحت امرك اشرح لك سطر سطر هذا البرنامج بصيغة 2007-2010 ، ولا استطيع تغييرها ، لآن في الجداول حقول تجميع ، والتي لا توجد في النسخة 2003. جعفر -
أخي عبدالرحمن شكرا على التوضيح ، المسألة الان اصبحت سهلة ولكن عندي استفسار: 1. انت تريد ان تحذف حقل "نسبة ضريبة المبيعات" من النموذج الفرعي ، وتستخدم بدلا عنه "إضافة ضريبة بالمائة على الإجمالي بدون التقيد بالأصناف" و "إضافة خصم بالمبلغ على الإجمالي بدون التقيد بالأصناف" ، صح ؟ 2. تريد تشوف نتائج العملية اعلاه ، في الحقول "إجمالي بدون ضريبة" و "إجمالي بالضريبة" و "إجمالي ض. مبيعات" ، صح ؟ 3. يجب حفظ بيانات "إضافة ضريبة بالمائة على الإجمالي بدون التقيد بالأصناف" و "إضافة خصم بالمبلغ على الإجمالي بدون التقيد بالأصناف" لكل فاتورة ، فهل تريد ان تحفظهم في الجدول Ezn_ADD ، صح ؟ 4. نتيجة التفقيط عندك غلط ، للعلم اعطني الاجابه للاسئلة اعلاه حتى ابدء في العمل ان شاء الله جعفر
-
التصفيه في نموذج درجات الطلاب يجمع بيانات جدولين
jjafferr replied to عبدالعزيزالمدني's topic in قسم الأكسيس Access
السلام عليكم 1. عملت استعلام يربط الجداول ، ويكون فيه الحقول المطلوبة: 2. ثم نموذج عادي يأخذ نتائجه من هذا الاستعلام ، وعملت نسخة من الحقول المطلوبة للبحث في الاعلى: 3. بعض الحقول تحتوي على ارقام ، واسماء هذه الحقول موجودة في جداول اخرى ، فكان لازم نغيرها من نص الى مربع سرد: وهذه طريقة ربط الجداول للحقل اعلاه: والنتيجة: 4. عملت حدث بعد التحديث لحقول البحث ، وهذا هو الكود: Option Compare Database Private Sub Form_Close() Me.Filter = "" Me.FilterOn = False End Sub Private Sub Check_Selected() Dim FF As String 'cmb_alaam_aldrasy If Len(Me.cmb_alaam_aldrasy & "") = 0 Then FF = "" Else FF = "[alaam-aldrasy] ='" & Me.cmb_alaam_aldrasy & "'" End If '--------- 'cmb_almadrasa If Len(Me.cmb_almadrasa & "") = 0 Then Else FF = FF & " And [almadrasa] ='" & Me.cmb_almadrasa & "'" End If '--------- 'cmb_alsaf If Len(Me.cmb_alsaf & "") = 0 Then Else FF = FF & " And [alsaf] ='" & Me.cmb_alsaf & "'" End If '--------- 'cmb_alsuaph_aldrasy If Len(Me.cmb_alsuaph_aldrasy & "") = 0 Then Else FF = FF & " And [alsuaph-aldrasy] ='" & Me.cmb_alsuaph_aldrasy & "'" End If '--------- 'cmb_IDalmada If Len(Me.cmb_IDalmada & "") = 0 Then Else FF = FF & " And [IDalmada] =" & Me.cmb_IDalmada End If '--------- 'cmb_IDalsahr If Len(Me.cmb_IDalsahr & "") = 0 Then Else FF = FF & " And [IDalsahr] =" & Me.cmb_IDalsahr End If '--------- If Left(FF, 4) = " And" Then FF = Mid(FF, 6) Me.Filter = FF Me.FilterOn = True End Sub Private Sub cmb_alaam_aldrasy_AfterUpdate() Call Check_Selected End Sub Private Sub cmb_alaam_aldrasy_DblClick(Cancel As Integer) Me.cmb_alaam_aldrasy = "" Call Check_Selected End Sub وتركت لك في الكود بونص انقر مرتين على اي حقول البحث ، وسيتنحذف الكلمات اللي فيه 5. والنتيجة: يا الله يا ابوآلآء ، خلينا نشوف اللي عملته ونستفيد ان شاء الله جعفر 6.برنامجي2.accdb.zip -
التصفيه في نموذج درجات الطلاب يجمع بيانات جدولين
jjafferr replied to عبدالعزيزالمدني's topic in قسم الأكسيس Access
العفو ابو الآء ، احنا نتعلم من بعض ، وبالعكس ، لما انتهي من عملي ، ساقارن عملي بعملك ، ونتوصل الى النتيجة الافضل للرد على السؤال ، ونتعلم شئ جديد يعني ، في سباق بيننا نحن الاثنين لإرضاء الاخ عبدالعزيز جعفر -
التصفيه في نموذج درجات الطلاب يجمع بيانات جدولين
jjafferr replied to عبدالعزيزالمدني's topic in قسم الأكسيس Access
اعطني شوية وقت لوسمحت ، انا اعمل على المطلوب جعفر -
التصفيه في نموذج درجات الطلاب يجمع بيانات جدولين
jjafferr replied to عبدالعزيزالمدني's topic in قسم الأكسيس Access
اخي عبدالعزيز اسئلتي كانت: فلا اعطيتنا مثال تطبيقي علشان نفهم ، ولا اعطيتنا اسماء الجداول والحقول التي في البرنامج طلبك واضح لك ، لكننا لا نرى إلا جداول وحقول وبيانات ، 1. فمن ايهم ، 2. تريد ماذا ، 3. للوصول الى ماذا. مثال من برنامجك لوسمحت جعفر -
وعليكم السلام اخي مصطفى ياريت تعطينا مثال او مثالين علشان نحاول نوصل لنفس نتائجهم ، وصورة لتصورك النهائي ، طبعا مع اعطانا بيانات نستعملهم في البرمجة ، مع مراعاة استخدام اسماء الجداول والحقول التي في البرنامج. جعفر
-
التصفيه في نموذج درجات الطلاب يجمع بيانات جدولين
jjafferr replied to عبدالعزيزالمدني's topic in قسم الأكسيس Access
السلام عليكم اخي عبدالعزيز ياريت تعطينا مثال او مثالين علشان نحاول نوصل لنفس نتائجهم ، مع مراعاة استخدام اسماء الجداول والحقول التي في البرنامج. جعفر -
وعليكم السلام لأني انا اثرت الموضوع ، فراح ادلو بدلوي بإختصار 1. الخطأ A problem occured while MyDB was communicating with the OLE server or Active X Control احد اسبابه هو لغة الكمبيوتر ، وهذا رابط ماكروسوفت يشرح الموضوع http://support.microsoft.com/kb/907337/ar وببساطة ، اذا عملت برنامجك وفي VBA حروف عربية (UniCode) او اسم احد الكائنات او اسم الحقول او اسم المسميات في النماذج و.... ، الآن اذا اراد شخص لا يملك اللغة العربية في كمبيوتره (يعني لا دعم للعربية او Fonts) ، فكيف سيتعامل مع حروف برنامجك؟ لذلك ، يظهر لك الخطأ ، وعلشان تصلحه: أ. يا انك تنصب اللغة ، ب. تحذف اي مسميات غير انجليزية من برنامجك ، وهذه الطريقة الافضل ، لأن الحروف العربية تقلب الكود سواء في VBA او فالاستعلام او في اي مكان تكتب فيه كود. 2. صيغة التاريخ: معظم العرب يستخدمون صيغة dd/mm/yyyy ، لهذا السبب نستخدم هذه الصيغة في عرض التاريخ في النماذج والتقارير و... ، ولكن عندما يريد ان نستخدم صيغة التاريخ في كود ، ستلاحظ ان الاكسس لا يحترم صيغتك ، وانما يستخدم صيغة التاريخ في الوندوز ، وما دمنا على موضوع التاريخ ، فالحقيقة ان صيغة التاريخ في الاكسس هو بضيغة امريكية mm/dd/yyyy ، بغض النظر عن الصيغ الاخرى ، وبعد معاناة طويلة معه في الكود (لا تنسى ، ان برنامجك الاكسس سيعمل على كمبيوترات مختلفة ، والكثير منها لم يتم تغيير صيغة التاريخ فيه ، فالكود لن يعمل بطريقة صحيحة الى ان رأيت الوحدة النمطية في المادة رقم 2 في الرابط http://allenbrowne.com/ser-36.html للمبرمج Allen Browne ، وبها والحمدلله ما عندي مشاكل جعفر
-
فتح تقرير بتصفية حسب الرتبة وسن صاحب الرتبة
jjafferr replied to Taher DZ's topic in قسم الأكسيس Access
ومثل ما كان يقول الدكتور عمر الخطيب https://i.ytimg.com/vi/Ieln4RykBzY/hqdefault.jpg (في برنامج بنك المعلومات) يا سلام عليك ولك مني إعجاب لتكملتك بقية الشروط بنفسك أخي ابو محمد عباس ، شاكرا لك جميل كلماتك جعفر -
فتح تقرير بتصفية حسب الرتبة وسن صاحب الرتبة
jjafferr replied to Taher DZ's topic in قسم الأكسيس Access
أخي كريمو الله يخليك ، المرة الجاية خلي لي سؤال سهل ، اتهنى بالاجابه عليه ، بدون ما احك راسي وآخر شعرتين إللي عليه يسقطو في الواقع المسألة كانت جدا عويصه ، بس لأن الشباب أصروا على تسميتي "خبير" ، فخجلت ان اخذلهم التقرير لدينا يعتمد على الاستعلام ، وكان لازم اعمل استعلام يكون فيه التوقيت الكامل والجزئي ، فاسهل طريقة خطرت على بالي ان اعمل جدول مؤقت نعبئ بياناته عن طريق الكود ، ثم بقية البيانات عن طريق الاستعلام ، ولكني احاول جهدي دائما في تلافي الجداول المؤقته داخل البرنامج!! اضطررت الى عمل استعلام فرعي ، وبه نحصل على جميع Grade_ar المطلوبة ، مأخوذا في الاعتبار التوقيت الكامل والجزئي ، وعلى اساس هذا الاستعلام ، نرجع لأستعلامنا السابق ، ومع بعض التغييرات في الوحدة النمطية ، ونكون حققنا المطلوب إن شاء الله وهذه النتيجة: رجاء ملاحظة ان السجل الذي به Grade_ar = حارس ، متعاقد بالتوقيت الكامل ، لا يظهر في التقرير، لأنك قلت في آخر مشاركة لك: ففي اعتقادي انه في خطأ في ادخال السجل بالنسبة للحارس ، فعند تعديله ، سيظهر اسمه ان شاء الله هذا معناه: التوقيت الكامل والجزئي يكونان فقط لرتبة عامل مهني من المستوى الاول جعفر 2.2.mdb.zip -
انا اعتذر ، ما انتبهت اني اشير الى وحدات نمطية غير موجودة ، فاليك الكود بدونهم: ونعم هي للـ Backup Private Sub Form_Close() On Error GoTo err_Form_Close 'make a backup of BE BE_Address = application.currentproject.path & "\Personnel_Images\Personnel_BE.accdb" BK_Address = application.currentproject.path & "\Program\Personnel_BE_" & Format(Now(), "yyyy-mm-dd_-hh-mm-ss") & ".accdb*" Call Shell("xcopy " & BE_Address & " " & BK_Address, vbHide) Exit Sub err_Form_Close: If Err.Number = 2450 Then 'ignor Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر
-
حيا الله ابوالآء هو انتى عامل كود معين في الموقع يتبعني في كل مشاركة وإلا ايه ما فهمت قصدك من السؤال جعفر
-
أخي علي ، خلينا نمشي على النقاط التالية: 1. اذا كان عندك الاكسس 2007 في اول اصداراته (يعني بدون تحديثات ، وللأسف هذه النسخة موجودة ورأيت الكثير منها ، والكثير من الناس يأخذوها من CD او DVD غير مشروع) ، ففي هذه النسخة ، اذا كنت طلبت من البرنامج: Compact on close ، فالفرصة كبيرة بأن يعمل Corruption لقاعدة البيانات في بعض الكمبيوترات. 2. لهذا السبب يجب عمل التحديثات (Service pack او SP) على الاكسس (لجميع الاصدارات ، لهذا السبب ولأسباب اخرى) ، وهذا الموقع يحتوي على رابط لآخر تحديثات الاوفيس: http://pcsupport.about.com/od/keepingupwithupdates/a/office-service-pack.htm وهناك العديد من الاشخاص الذين للاسف الشديد لا يقومون بتحديث الـ Windows ولا الاكسس ، لهذا السبب اسمح لي اخبرك ، بأن اول تحديث للاكسس 2000 تم فيه تصليح 200 عيب وثغرة من البرنامج الاصل 3. عند حذف السجلات في الاكسس ، فان الاكسس لا يقوم بحذفها نهائيا من البرنامج ، إلا عندما تقوم بعملية Compact and Repair. مثال: قم بعمل قاعدة بيانات بجدول واحد مثلا ، وادخل فيه آلآف السجلات ، اغلق البرنامج ، لاحظ حجم الملف ، افتح البرنامج ، احذف كم هائل من السجلات ، اغلق البرنامج ، لاحظ حجم الملف ، سترى انه تقريبا نفس الحجم الاصلي ، الآن افتح البرنامج ، اعمل Compact and Repair ، واغلق البرنامج ، لاحظ حجم الملف 4. بالنسبة لي انا ، فمعظم برامجي تحتوي على FE و BE الذي يحتوي على الجداول (في البداية ، البرنامج يكون غير مقسم ، الى ان يأخذ البرنامج شكله وعمله الصحيح ، فعندها اقسمه) ، في FE ، في النموذج الرئيسي ، فاستخدم مثل الكود التالي ، والذي يعمل لي نسخة من BE في مجلد خاص للـ Backup ، كلما يغلق المستخدم برنامجه ، ويكون اسم الملف مختوما باليوم والساعة والدقيقة والثانية ، وطبعا السؤال الذي يسأله الكثيرين هو ، سيصبح لدينا الكم الهائل من هذه الملفات ، وجوابي هو: أ. حجم الهارد ديسك هذه الايام مهول ، فلا مشكلة ، ب. معظم مشاركاتي في النتدى ، اضع بين ايديكم وقائع حصلت لي في العديد من برامجي ، وهذه الطريقة انقذت بعض المؤسسات من مشاكل عويصة ، نظرا لحذف سجلات بالخطأ او .... Private Sub Form_Close() On Error GoTo err_Form_Close 'make a backup of BE Call BE_or_FE Call Backup_Folder BE_Address = Replace(BE_Path, "\Personnel_Images", "") & "\Personnel_BE.accdb" BK_Address = Backup_Folder & "\Program\Personnel_BE_" & Format(Now(), "yyyy-mm-dd_-hh-mm-ss") & ".accdb*" Call Shell("xcopy " & BE_Address & " " & BK_Address, vbHide) Exit Sub err_Form_Close: If Err.Number = 2450 Then 'ignor Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر
-
السلام عليكم الاخ علي الاكسس 2007 في اول اصداراته ، كان يعمل Corruption لقاعدة البيانات في بعض الكمبيوترات ، وتحدث هذه الحالة اذا كنت طلبت من البرنامج: Compact on close. لهذا السبب يجب عمل التحديثات على الاكسس ، لهذا السبب ولأسباب اخرى. طريقة عمل Compact ، هو ان الاكسس يعمل قاعدة بيانات مؤقته باسم Database ، وينقل اليها جميع كائنات قاعدة البيانات التي نريد عمل Compact عليها ، وبعد اتمام العملية ، يحذف قاعدة البيانات الاصلية ويغير اسم الملف Database الى اسم قاعدة البيانات الاصلية. فربما تكون محظوظا وتكون بياناتك موجودة في الملف الذي ارفقته سابقا جعفر
-
فتح تقرير بتصفية حسب الرتبة وسن صاحب الرتبة
jjafferr replied to Taher DZ's topic in قسم الأكسيس Access
هلا والله بكريمو أ. قلت لك انك تريد طرف الخيط ، وبعدين تحلق في مقدمة السرب ب. لازم نرجع لإتفاقنا السابق ، بأنك تخبرنا عن كل الاشياء اللي تريدها من البداية ج. انا فهمي ضعيف لهذا ، رجاء انت ترفق قاعدة بياناتك المعدلة ، وتخبرنا بالتفصيل مع بعض الصور عن الشئ اللي تريد ان تعمله جعفر