اذهب الي المحتوي
أوفيسنا

السيد عبد العال

الخبراء
  • Posts

    125
  • تاريخ الانضمام

  • تاريخ اخر زياره

كل منشورات العضو السيد عبد العال

  1. إستيراد البيانات من الأكسس فى الموضوع عاليه جزئين للمهندس يشرحان استيراد البيانات والاستاذ أبو هادى لربط البيانات وكذلك الموضوع التالى كيف أربط ملف أكسل بجدول بيانات أكسس؟ برجاء مراجعة الموضوعين السابقين وأن كان رأى الشخصى انك يمكنك عمل الجمع والنسب والكثير جدا فى تقارير الأكسس
  2. استاذنا اسامة نسال الله ان يبارك لنا فى عمرك ووقتك وابداعاتك الجميلة كل ما تكتبه جميل ومتميز
  3. رجاء كتابة جملة SQL المقابلة للاستعلام الذى كونته
  4. Solution1 In Design Mode for the all Four Battons Make the Property Enabled =No Solution 2 1-Add else statment in Select Case To Desable the all Battons 2-Call The SelectCombo_AfterUpdate in the Event OnOPen for form Private Sub Form_Open(Cancel As Integer) Call SelectCombo_AfterUpdate End Sub Private Sub SelectCombo_AfterUpdate() Select Case SelectCombo Case "Procedure 1" [Command1].Enabled = True [Command2].Enabled = False [Command3].Enabled = False [Command4].Enabled = False Case "Procedure 2" [Command1].Enabled = False [Command2].Enabled = True [Command3].Enabled = False [Command4].Enabled = False Case "Procedure 3" [Command1].Enabled = False [Command2].Enabled = False [Command3].Enabled = True [Command4].Enabled = False Case "Procedure 4" [Command1].Enabled = False [Command2].Enabled = False [Command3].Enabled = False [Command4].Enabled = True Case Else [Command1].Enabled = False [Command2].Enabled = False [Command3].Enabled = False [Command4].Enabled = False End Select End Sub Battons2.zip
  5. أولا أحب أن أشير أن الفكرة ماخوذة أن الإبداعة الرائعة لاستاذنا أبو هادى فى مشاركته فى ذلك الموضوع وقد سجلت أعجابى بالفكرة هناك ووظيفة Ctrl+Shift+Enterهى لجعل الأكسل يفهم ان هذه معادلة مصفوفةArray ومعنى المعادلة المكتوبة فى A7 (مع Ctrl+Shift+Enter) هىالآتى: كون مصفوفة وهمية مناظرة للخلايا فى النطاق B3:B7 (من أول صف حتى الصف الحالى) وكل عنصر فى هذه المصفوفة (أحادية البعد) يتم حسابه كلتالى: أذا كانت الخلية المقابلة للعنصر تحوى كتابة ضع العنصر مساويا واحد واذا كانت الخلية المناظرة غير ذلك ضع العنصر مساويا صفرا IF(ISTEXT(B3:B7),1,0) ثم اجمع عناصر هذه المصفوفة SUM(IF(ISTEXT(B3:B7),1,0)) ثم أذا كانت B7 (الخلية المجاورة) تحوى كتابة فضع الناتج (A7) مساويا لهذا المجموع وذا كانت B7 غير ذلك فضع الناتج صفرا =IF(ISTEXT(B7),SUM(IF(ISTEXT(B3:B7),1,0)),0) ثم نلاحظ انه قد تم وضع تنسيق مخصص لرقم للخلية يجعل قيم الاصفار لا تظهر .;-0; وبذلك يتضح أن كل خلية يدخل فى حسابها نطاق الخلايا من البداية وحتى الخلية المجاورة لها ويلاحظ فى المثال المرفق أن كل المعادلات عبارة عن B3 إلى السطر الحالى والحقيقة غاب عن ذهنى فكرة تثبيت B3 وقمت بتعديل المعادلات يدويا ورأيت ساعتها أن عملية تعديل المعادلات ستكون مملة ولذلك أضفت الكود كحل بديل اما وقد ألهمك الله لفكرة تثبيت B3 فقد سددت هذه الثغرة وأعتقد ان المعادلة أصبحت عملية جدا -حتى فى حالات الأضافة يكفى نسخ المعادالة فقط للصفوف المضافة أوكد أن Ctrl+Shift+Enter هو جزء أساسى من المعادلة وهى الطريقة التى نخبر بها الأكسل أن هذه معادلة مصفوفة وليس لها علاقة بتثبيت B3 وأن تثبيت B3 باستخدام المرجع المطلق هو الحل الصحيح وجزاكم الله خيرا
  6. هناك عمل جماعى قائم بالفعل لانشاء هذا البرنامج وهناك نواة لمثل هذاالبرنامج أضفتها فى الرد على هذا الموضوع طلب المساعدة لعمل برنامج تقسيط السيارات ويمكن تطويره....
  7. أذا لم يخنى التقدير ... أذا كان جميع بيانات الحساب فى فى مقطع تفصيل Datil ممكن تغير خاصية Force New Page لمقطع Datil بجعلها After Section أما أذا كان الحساب الواحد يشثمل على أكثر من حقل فيمكن عمل تجميع grouping برقم الحساب ووضع خاصية Group Footer ب Yes مما يؤدى إلى ظهور مقطع Footer لحقل التجميع الحساب ثم تغير خاصية Force New Page لمقطع Group Footer بجعلها After Section
  8. هناك جهد رائع بذل فى هذا الموضوع شهادة الطالب ومرفق به عدة ملفات منها طباعة الشهادات.zip ويمكن استكمال الموضوع هناك اذا كان هناك احتياج لذلك مع خاص حبى واحترامى
  9. الاخ الفاضل ابو محمد هل يمكن أطلاعنا على الكود المستخدم وااسم النطاق الذى به اسماء أو أرقام الطلاب؟ عموما الفكرة تعتمد على معرفة عدد الطلبة واخذها فى الاعتبار عند تكوين loop الطباعة
  10. ضرب المصفوفات =MMULT(B3:C4,E3:F4) يتم اختيار الخلاياالتى ستخرج بها النتيجة معا ثم تكتب المعادلة ثم نضغط Ctrl+Shift+Enter لتمكين المصفوفات معكوس المصفوفة نكتب المعادلة امصفوفة الأصلية فى الخلاياB20:E23 مثلا نختار الخلايا G20:J23 لنضع بها النتيجة نختارهم معا ثم نكتب المعادلة ثم نضغط Ctrl+Shift+Enter =MINVERSE(B20:E23) جذور معادلة الدرجة الثانية نضعِ قيمة A فى الخليةA28 وB فى الخلية B28 و C فى الخلية C28 لحساب الجذر الأول نضع المعادلة التالية فى C31 =(-B28+SQRT(B28^2-4*A28*C28))/(2*A28) لحساب الجذر الثانى نضع المعادلة التالية فى C32 =(-B28-SQRT(B28^2-4*A28*C28))/(2*A28) Matric.zip
  11. عند ضغط زر بيانات الموظفين تظهر الورقة 3 عن طريق ماكرو بسيطة أعدها الأخ عبدالله فى ملفه الأصلى Sheets("ورقة3").Select عند ضغط زر تعديل بيانات الموظفين يظهر نموذج تعديل البيانات القياسى للاكسل وتم استدعائه بهذه الماكرو Sub ShowDataForm() Sheets("ورقة3").ShowDataForm End Sub ويمكن استدعاء النموذج بدون ماكرو وذلك باختيار ورقة3 التى بها البيانات ثم من قائمة Data نختار Form مع ملاحظة انه لكى يتعرف الاكسل على البيانات يجب تجهيز الصف الاول كاسماء للحقول
  12. مرفق طريقتان أولا المعادلات مثل هذه =IF(ISTEXT(B7),SUM(IF(ISTEXT(B3:B7),1,0)),0) مع التعديل لكل الخلية وضغط Ctrl+Shift+Enter بعد التعديل ثانيا ماكرو اختار نطاق الخلايا التى تريد ترقيمها ثم اضغط الزر Sub Button1_Click() Dim iCount As Integer Dim cCell As Range For Each cCell In Selection If Not cCell.Offset(0, 1).Formula = "" Then iCount = iCount + 1 cCell.Value = iCount End If Next End Sub تم تعديل الملف
  13. اذا كان أدخال البيانات يتم عن طريق نموذج: يتم إضافة اربعة حقول فى الجدول المنضم للنموذج كالتالى Field name Type Size FirstCreator Text 20 CreationDate Date/time LastModifier Text 20 LastModifyDate Date/time نستغل حدث BeforeInsert للنموذج لتخزين اسم المستخدم الذى قام بالإدراج والتاريخ Private Sub Form_BeforeInsert(Cancel As Integer) [FirstCreator] = CurrentUser() [CreationDate] = Now() End Sub نستغل حدث BeforeUpdate للنموذج لتخزين اسم المستخدم الذى قام بالتعديل والتاريخ Private Sub Form_BeforeUpdate(Cancel As Integer) [LastModifier] = CurrentUser() [LastModifyDate] = Now() End Sub
  14. موقع :Vb Accelerator الرابط : http://www.vbaccelerator.com التعليق : أكواد مفتوحة فى VB يمكن الاستفادة منها فى الاكسس
  15. جرب ان تغير خاصية Cycle للنموذج اجعلها Current Record بدلا من All Records
  16. وايضا هذا الموقع http://www.mvps.org/access/api/api0011.htm Play MIDI/Avi/Wav files
  17. جرب الملف المنشور فى هذا الرابط http://www.lebans.com/DownloadFiles/A2KLoadSaveJpegVer9.zip
  18. هذا رابط تحميل لبرنامح به برمجة متققدمة فى الاكسس http://www.lebans.com/DownloadFiles/A2KLoadSaveJpegVer9.zip برجاء تجربة اذا ما كان مناسبا......
  19. هناك أسلوبين للتعامل الأسلوب الاول: (غير مطلوب فى السؤال وذكرته للتوضيح) هو عدم تخزين النتائج فى الجدول والاكتفاء بحقلى SiteA وٍSiteB فى جدول Tbl7 مع عمل المعادلات اللازمة فى استعلام أونموذج أولا : فى النموذج FrmTbl7 يتم أضافة حقلى SiteA و SiteB ثم يتم أضافة مربع نص نسميه Result ونضع بها أحدى المعادلات الأتـية =[siteA]/Sqr([siteB]) =[siteA]/([siteB]*[SiteB]) =[siteA]/[siteB]^2 المعادلة الاولى للجذر التربيعى والثانية والثالثة للمربع ثانيا: فى استعلام يتم عمل Calculated Field به معادلات شبه السابقة مع مراعاة أن "= "يستعاض عنها ب" :" الأسلوب الثانى( وهوالمطلوب فى السؤال) يتم تخزين النتائج فى الجدول أولا: باستخدام النموذج: وفى هذه الحالة يكون حقل Result موجودا فى الجدول ويتم استخدام حدث AfterUpdate لكل من حقل SiteA و SiteB لحساب النتيجة وتسجيلها فى الحقل Ruselt Sub CulculateResult() On Error GoTo CulculateResult_Err If IsNull([SiteA]) Then MsgBox "SiteA Cant be Null ." Exit Sub ElseIf IsNull([SiteB]) Then MsgBox "SiteB Cant be Null ." Exit Sub Else [Result] = [SiteA] / Sqr([SiteB]) 'Or [Result] = [SiteA] /([SiteB]*[siteB]) 'Or [Result] = [SiteA] /[SiteB]^2 End If Exit Sub CulculateResult_Err: MsgBox "Error " & Err.Number & " :" & Error Err.Clear Resume Next End Sub Private Sub SiteA_AfterUpdate() CulculateResult End Sub Private Sub SiteB_AfterUpdate() CulculateResult End Sub والكود يشرح الفكرة فقط وقد يحتاج لبعض التنقيح ثانيا: عن طريق استعلام التحديث يمكن عمل استعلام تحديث لحساب النتائج فى Calculated Field و تخزينها فى حقل Result
  20. جزاكم الله خيرا استاذنا أبو هادى وأذكر أن الحل الذى تفضلتم به هو الحل القياسى الذى نصحت به مايكروسوفت للالتفاف حول المشكلة حيث أن تصرف Requery فى الذهاب إلى أول سجل مقصود من مصممى الاكسس (y)
  21. جرب Refresh Me.Refresh Remarks Using the Refresh method is equivalent to clicking Refresh on the Records menu. Microsoft Access refreshes records automatically, based on the Refresh Interval setting on the Advanced tab of the Options dialog box, available by clicking Options on the Tools menu. . You can use the Refresh method to view changes that have been made to the current set of records in a form or datasheet since the record source underlying the form or datasheet was last refreshed. The Refresh method shows only changes made to records in the current set. Since the Refresh method doesn't actually requery the database, the current set won't include records that have been added or exclude records that have been deleted since the database was last requeried. Nor will it exclude records that no longer satisfy the criteria of the query or filter. To requery the database, use the Requery method. When the record source for a form is requeried,
  22. It Modified .. note: The File is compressed using WinZip if you still have error Please tell us the error Messege Battons1.zip
×
×
  • اضف...

Important Information