بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|

امير عاطف
المشرفين السابقين-
Posts
760 -
تاريخ الانضمام
-
تاريخ اخر زياره
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو امير عاطف
-
كيقية عمل التفقيط في قاعدة البيانات
امير عاطف replied to officenamember's topic in قسم الأكسيس Access
أأسف اخي alhajri لما ارى ردك الى بعد كتابة الرد يمكنك عمل ذلك عن طريق وضع هذا الكود عند حدث الحالي للنموذج الفرعي OnCurrent Private Sub Form_Current() [نص7].Value = هنا تكتب عبارة استدعاء دالة التفقيط End Sub ووضع هذا الكود عن حدث الإغلاق للنموذج الفرعي On Close Private Sub Form_Close() [نص7].Value = "" End Sub حيث [نص7] هو اسم مربع النص لديك الذي تريد تفقيط القيمة داخله -
اخي الكريم عبد الله : لو فيها ثقل تضع هذا الكود :SHY: اخي ابو وليد يمكن مناقشة ما يخص الاكسيل بقسم الاكسيل
-
اذاً لعمل ذلك باسلوب علمي ... يجب ان يكون لدينا ثلاث جداول اولا: جدول الطلاب واسمه مثلاً tblstudents ويحتوي على الحقول التالية student_id (رقم الطالب) المفتاح الأساسي strstudent_name (اسم الطالب) ثانياً: جدول الجزاءات واسمه مثلاً tblrecompenses ويحتوي على الحقول التالية recompense_id (رقم الجزاء) المفتاح الأساسي strrecompense_description (وصف الجزاء) intdiscount (درخة الحسم) bytperiod_after (وهو حقل المدة التي يتم تطبيق الحسم بعدة) ثالثاً: جدول تسجيل عمليات الجزاءات واسمه مثلاً tbltransaction وهو جدول الوصلة ويتكون من الحقول التاليه student_id (حقل رقم الطالب) وهو ذو علاقة واحد الى متعدد مع جدول tblstudents recompense_id (حقل رقم الجزاء) وهو ذو علاقة واحد الى متعدد مع جدول tblrecompenses اي كل ما نفعله في هذا الجدول هو تسجيل رقم الطالب رقم الجزاء فقط وبذلك نكون قد حققنا الاسلوب العلمي والقياسيNormalization في تصميم قاعدة البيانات رجاء مراجعة الجزء الخاص بتصميم الجداول والجزء الخاص بالاستعلامات من دورة الأكسس لما به من فائدة كبيرة ومن خلالها تم عمل المثال المرفق بالمشاركة السفلية
-
حذف السجلات الأولى اذاوصل عدد السجلات الى عدد محدد
امير عاطف replied to أبو وليد's topic in قسم الأكسيس Access
هل تعني ان لا يزيد عدد سجلات كل شركة عن عشرون سجل بغض النظر عن سجلات الجدول بشكل عام؟ بمعنى ان لا يزيد عدد السجلات عن عشرون سجل لشركة السعودية و لا يزيد عدد السجلات عن عشرون سجل لشركة مصر للطيران و لا يزيد عدد السجلات عن عشرون سجل للشركة الاماراتية .................................................. وهكذا هل تعني ذلك ؟ -
حذف السجلات الأولى اذاوصل عدد السجلات الى عدد محدد
امير عاطف replied to أبو وليد's topic in قسم الأكسيس Access
اما اذا اردت ايى عدد من السجلات اي ليس السجل الاول فقط اي كل السجلات الأولى يتم حذفها في حالة زيادة عدد السجلات عن عشر سجلات فها هو الكود ايضاً: Public Function delfirstrec() Dim db As DAO.Database Dim rst As DAO.Recordset Set db = CurrentDb Set rst = db.OpenRecordset("TableName") While rst.RecordCount > 10 rst.MoveFirst rst.Delete Wend rst.Close MsgBox "تم الغاء كل السجلات اللازمة", vbOKOnly, "Officena" End Function -
حذف السجلات الأولى اذاوصل عدد السجلات الى عدد محدد
امير عاطف replied to أبو وليد's topic in قسم الأكسيس Access
يمكنك عمل ذلك ذلك ايضاً بدون النموذج عن طريق التعامل مع الجدول مباشرةً والغاء اول سجل من الجدول عن طريق وضع هذه الدالة بوحدة نمطبة عامة : Public Function delfirstrec() Dim db As DAO.Database Dim rst As DAO.Recordset Set db = CurrentDb Set rst = db.OpenRecordset("TableName") If rst.RecordCount > 10 Then rst.MoveFirst rst.Delete rst.Close MsgBox "تم الغاء السجل الأول من الجدول", vbOKOnly, "Officena" End If End Function وبعد ذلك تقوم باستدعاء الدالة من خلال ماكرو للعلم هذا الكود يقوم بالغاء السجل الأول فقط اذا عدد السجلات عن عشر سجلات -
كل ما عليك هو تغيير المسار حسب نسخة الاوفيس والويندوز لديك وتغير المسار يكون في هذا السطر فقط D:\Program Files\Microsoft Office\Office10\EXCEL.EXE على العموم هذا الكود يعمل على اي اصدار من الويندوز او الاوفيس Dim excelfile excelfile = Shell("EXCEL.EXE", 1) SendKeys ("^t") SendKeys ("^q")
-
استعلام التحديث لم يتم الوصول اليه في دورة الأكسس تابع هنــــــــــــــا وهنــــــــــا اعتقد اخي ابو وليد انك قمت بسؤال شبيه بذلك وتم الاجابة ولم ترد هل نجحت معك الفكرة ام لا :DIR: وسؤالك السابق الذي لم ترد عليه هنـــــــــــــــــا لإنشاء استعلام تحديث في الإطار "قاعدة بيانات"، انقر فوق استعلامات الموجودة أسفل كائنات، ثم انقر فوق جديد على شريط أدوات إطار قاعدة البيانات. في مربع الحوار استعلام جديد، انقر فوق طريقة العرض "تصميم"، ثم انقر فوق موافق. في مربع الحوار إظهار جدول، انقر فوق علامة التبويب التي تقوم بسرد الجداول أو الاستعلامات التي تريد العمل مع بياناتها. انقر نقراً مزدوجاً فوق اسم كل كائن تريد إضافته إلى الاستعلام، ثم انقر فوق إغلاق. قم بإضافة حقول إلى صف الحقول في شبكة التصميم, وإذا أردت، قم بتحديد معايير وترتيب فرز. لمشاهدة نتائج الاستعلام، انقر فوق عرض على شريط الأدوات. في طريقة العرض "تصميم" الاستعلام، انقر فوق السهم بجوار نوع استعلام على شريط الأدوات , ثم انقر فوق استعلام تحديث (Update Query). اسحب من قائمة الحقول إلى شبكة تصميم الاستعلام الحقول التي تريد تحديثها أو التي تريد تحديد معايير لها. في الخلية معايير، حدد المعايير إذا لزم الأمر. في الخلية تحديث إلى التابعة للحقول التي تريد تحديثها، اكتب التعبير أو القيمة التي تريد استخدامها لتغيير الحقول. لمشاهدة قائمة السجلات التي سيتم تحديثها، انقر فوق عرض في شريط الأدوات. لن تعرض هذه القائمة القيم الجديدة. للرجوع إلى طريقة العرض "تصميم" الاستعلام، انقر فوق عرض في شريط الأدوات مرة أخرى. قم بإجراء أية تغييرات تريدها في طريقة العرض "تصميم". انقر فوق تشغيل في شريط الأدوات لتحديث السجلات. بعد ذلك قم بنسخ جملة ال SQL وقم بوضعها عند حدث الفتح للنموذج الذي تريد
-
اما لعمل ذلك لفتح ملف اكسيل محدد وتنفيذ ماكرو محدد داخل هذا الملف ... فيمكنك عمل ذلك عن طريق ثلاث خطوات: الخطوة الاولى هو عمل ماكرو داخل الاكسيل وظيفته فتح ملف الاكسيل المحدد (من داخل الاكسيل) وليكن اختصار مفاتيح الماكرو Ctrl + t لمزيد من المعلومات عن عمل الماكرو بالكسيل اذهب هنـــــا الخطوة الثانية هو عمل الماكرو الذي تريد تنفيذه عندما يتم فتح ملف الاكسيل المحدد وليكن اختصار مفاتيح الماكرو Ctrl + q لمزيد من المعلومات عن عمل الماكرو بالكسيل اذهب هنـــــا الخطوة الثالثة هي كتابة الكود ببرنامجك على الاكسس ويكون الشكل النهائي للكود Dim excelfile excelfile = Shell("D:\Program Files\Microsoft Office\Office10\EXCEL.EXE", 1) SendKeys ("^t") SendKeys ("^q") مع افتراض ان لديك نسخة الاوفيس اكس بي على ويندوز اكس بي
-
اذا كنت تعمل على ويندوز اكس بي Dim excelfile excelfile = Shell("D:\Program Files\Microsoft Office\Office10\EXCEL.EXE", 1) اذا كنت تعمل على ويندوز 98 او ويندوز ميلينيوم Dim excelfile excelfile = Shell("C:\Program Files\Microsoft Office\Office\EXCEL.EXE", 1) بعد ذلك قم بعمل ماكرو الذي تريد بعد تنفيذ الامر سواء في الاكسيل او الاكسس
-
طباعة السجل الحالي داخل نموذج فرعي
امير عاطف replied to officenamember's topic in قسم الأكسيس Access
تظهر رسالة القيمة المعلمة لأنك لم تأخذ في الاعتبار اسماء الحقول .... اي انك قمت بالخلط بين اسماء الحقول بالجداول واسماء مربعات النص المبنية على تلك الحقول بالنماذج ها هو المثال لترى بنفسك print_subform.zip -
رسالة(Message Box)عند عدم وجود بيانات بالتقرير
امير عاطف replied to رحال العمر's topic in قسم الأكسيس Access
Private Sub Report_NoData(Cancel As Integer) MsgBox "عفواً .. التقرير لا يوجد به بيانات" DoCmd.CancelEvent End Sub -
طباعة السجل الحالي داخل نموذج فرعي
امير عاطف replied to officenamember's topic in قسم الأكسيس Access
DoCmd.OpenForm "subformname" Forms("SubFormName").FilterOn = True Forms("SubFormName").Filter = "FieldNameInSubform = forms!FormName!ComboNameInMainform " DoCmd.GoToRecord , , acGoTo, Me.subformname.Form.CurrentRecord DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.PrintOut acSelection SendKeys ("^{f4}") حيث: FieldNameInSubform هو اسم الحقل الموجود في النموذج الفرعي وقمت بربطة مع الكومبو بوكس في النموذج الرئيسي ComboNameInMainform هو اسم الكومبو بوكس الموجود بالنموذج الرئيسي -
طباعة السجل الحالي داخل نموذج فرعي
امير عاطف replied to officenamember's topic in قسم الأكسيس Access
عفواً اخي .. لم افهم ما تريد الكود السابق يقوم بطباعة السجل اللي انت واقف عليه (السجل الحالي) في النموذج الفرعي . وحتى لو قمت بالذهاب للسجل الذي تريد من خلال الكومبو بوكس (مربع التحرير والسرد) وبعد ذلك قمت بالضغط على زر طباعة السجل الحالي بالنموذج الفرعي سوف يقوم بطباعة السجل اللي انت عنده في النموذج الفرعي ام انك تريد الطباعة ليس بناءاً على السجل الحالي بالنموذج الفرعي وانما بناءاً على السجل الموجود في مربع التحرير والسرد بغض النظر عن السجل الموجود في النموذج الفرعي؟؟؟؟ ممكن توضح بشكل تفصيلي اخر ؟ -
طباعة السجل الحالي داخل نموذج فرعي
امير عاطف replied to officenamember's topic in قسم الأكسيس Access
قمت باحضار طابعة وتجربة هذا الكود ونجحت والحمد لله :lol: DoCmd.OpenForm "subformname" DoCmd.GoToRecord , , acGoTo, Me.subformname.Form.CurrentRecord DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.PrintOut acSelection SendKeys ("^{f4}") قم بوضع الكود السابق عند حدث النقر لزر امر موجود على النموذج الرئيسي لا تنسى ان النموذج الرئيسي مسمى "formname" النموذج الفرعي مسمى "subformname" -
طباعة السجل الحالي داخل نموذج فرعي
امير عاطف replied to officenamember's topic in قسم الأكسيس Access
أأسف اخي لأن ليس لدي حالياً طابعة لكي اقوم بالتجربة عليها :) ولكن ان شاء الله هذا الكورد سوف يعمل معك ويقوم بطباعة السجل الذي تريد Dim rec As Long rec = Me.subformname.Form.CurrentRecord Forms!FormName!subformname.SetFocus DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.PrintOut acPrintAll, rec, rec -
ولتطبيق ذلك على نموذج : ضع الكود التالي عند حدث النقر لزر الأمر لعمل فرز تصاعدي عن طريق الحقل المسمى ID Me.OrderByOn = True Me.OrderBy = "[id] ASC" ولعمل فرز تنازيلي Me.OrderByOn = True Me.OrderBy = "[id] DESC"
-
لا يكون للخاصية DecimalPlaces أي تأثير إذا كانت الخاصية Format فارغة أو تم تعيينها إلى "رقم عام" .. تأكد من ان الخاصية Format تم تعينها على أنها عملة "Currency"
-
الرد للأخ officenamember : بالنسبة للمنازل العشرية هي بالفعل لدي 2 ولكن لا اعلم لماذا يحول الرقم الى صحيح؟؟؟؟ !!!!
-
السؤال للأخ officenamember وهو كيف اجعل حقل العملة يتعامل مع الكسور دون جبرها او تحويلها الى عدد صحيح ؟ المشكلة عند ادخال 2.8ريال يحولها الى 3ريال لا اريد تحويلها الاجابة: يمكنك التحكم في المنازل العشرية امام رقم العملة الذي تريد عن طريق الذهاب للخاصية Decimal Places لعنصر التحكم أو للحقل وجعل القيمة التي اما مها رقم 2 أو اي عدد من المنازل العشرية التي تريد
-
طباعة السجل الحالي داخل نموذج فرعي
امير عاطف replied to officenamember's topic in قسم الأكسيس Access
من قواعد طرح الأسئلة عدم طرح اكثر من سؤال بمشاركة واحدة سوف يتم فصل كل سؤال بمشاركتين مستقلتين بالنسبة لطباعة السجل الذي بالنموذج الفرعي يمكنك عمل ذلك عن طريق وضع هذا الكود بزر الأمر المتواجد بالنموذج الرئيسي Forms!FormName!subformname.SetFocus DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.PrintOut acSelection حيث FormName هو اسم النموذج الرئيسي و subformname هو اسم النموذج الفرعي اجابة السؤال الثاني هنــــــــا -
لعمل فرز تنازلي عن طريق حقل معين داخل تقرير مثلاً .. نضع الكود التالي : Reports("ReportName").GroupLevel(0).SortOrder = False لعمل فرز تصاعدي عن طريق حقل معين داخل تقرير مثلاً .. نضع الكود التالي : Reports("ReportName").GroupLevel(0).SortOrder = True ================================================================== للعلم **** يتم وضع الكود عند حدث الفتح للتقرير. رقم صفر الذي يوضع بجانب GroupLevel هو رقم العمود داخل المصفوفة ورقم صفر هنا يعنى الفرز حسب أول عمود داخل التقرير واذا وضعنا الرقم (1) فيكون الفرز طبقاً لثاني عمود بالتقرير وهكذا.....
-
:yess:
-
الاخ flyer13 لا يمكن عمل محاذاه للنص في الجداول والاستعلامات على عكس النماذج والتقارير الذي يمكن التحكم بمحاذاة النصوص داخل مربعات النص بها
-
اذا لم تستطع اخي E-Creativity الحصول على السي دي الخاصة بالاوفيس ... وايضاً اذا لم يكن يجدي معك الرابط السابق من مايكروسوفت يمكنك الذهاب الى هذا الموقع وهو رائع في الترجمة بين العربيه والانجليزية حتى تحصل بإذن الله على الاسطوانة هنا موقع الترجمة الفورية