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

الدكتور خضر الرجبي

المشرفين السابقين
  • Posts

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

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

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

  1. السلام عليكم إخواني وأخواتي ، عدت إليكم ... "5- كيف أغير نوع الخط والوان واشكال عناصر التحكم في نموذج من نوع ورقة بيانات ؟" عندما تصمم نموذج وتجعل طريقة العرض له من نوع ورقة بيانات Datasheet فإنك مهما تغير في وضع التصميم من أشكال عناصر التحكم بما يتعلق بالألوان والخلفيات وغيرها من التأثيرات فإن العرض لهذا النموذج يبقى كما هو (افتراضيا) ولا يتغير شيء في النتيجة. نعم إخواني وأخواتي ، لن يتغير شيء لأن التغير في مظهر عناصر التحكم للنموذج الذي من نوع ورقة بيانات لا يتم في وضع التصميم ، بل في وضع العرض أي بعد فتحه ولا يمكن عمل ذلك إلى برمجيا على سبيل المثال لا الحصر كما يلي في حدث التحميل للنموذج : Private Sub Form_Load() Me.DatasheetForeColor = vbBlue Me.DatasheetFontWeight = 700 'Bold Me.DatasheetBackColor = 8454143 'Light yellow End Sub والخصائص التي يمكننا التحكم بها كما في الجدول المرفق إلى اللقاء ... مع الاحترام والتقدير
  2. السلام عليكم اقدم لكم هذا الموقع الذي فيه مجموعة من الدروس المصورة الشارحة للفيزيو. هـــنـــا مع الاحترام والتقدير
  3. السلام عليكم عدت لكم ... "4- التعامل مع اسماء جداول مؤقتة في بيئة تعدد المستخدمين " لا بد أن كل منا قد احتاج في تطبيق ما إلى بناء جداول مؤقتة وخاص بالمستخدمين ، تخيلوا معي في تطبيق ما وجود مربعي تحرير وسرد يعتمد فيهما الثاني على الأول وبناء على الاختيار في الأول يتم بناء جدول وجعله مصدراً للمربع الثاني . هذه الطريقة ستعمل بشكل رائع في بيئة المستخدم الواحد ولكن في بيئة تعدد المستخدمين سنواجه مشاكل كثيرة لأن اسم الجدول نفسه لكل المستخدمين فربما ما تم أختياره لمستخدم يختلف عن أخر أو أن مستخدم ما يقوم بإنشاء الجدول بينما الثاني يستخدمه وهكذا ... الحل هنا نسبيا سهل ، في كل مرة تقوم بها ببناء جدول مؤقت ما عليك إلا ربط اسمه بمتغير فريد لكل مستخدم كأن تربطه باسم المستخدم للقاعدة أو الحاسوب . إليكم هذان الإقترانان اللذان يرجعان الأسماء : Declare Function GetComputerName _ Lib "Kernel32" _ Alias "GetComputerNameA" _ (ByVal Buffer As String, _ BufferSize As Long) As Long Declare Function GetUserName _ Lib "Advapi32" _ Alias "GetUserNameA" _ (ByVal Buffer As String, _ BufferSize As Long) As Long الإقتران الذي سيقوم ببناء الجداول المؤقت بناء على الاسم سيبدو هكذا : Function GetTemporaryTableName() As String 'Returns a table name based on 'the user's computer's name. Dim lngSize As Long Dim strName As String strName = Space(16) lngSize = 16 If GetComputerName(strName, lngSize) Then GetTemporaryTableName = _ "tbl" & Left$(strName, lngSize) Else GetTemporaryTableName = vbnullstring End If End Function وهذا إقتران أخر يستخدم أسماء المستخدمين لتكوين الجدول المؤقت : Function GetTemporaryTableName () As String Dim strName As String Dim lngSize As Long Dim lngRetVal As Long strName = Space(15) lngSize = 15 lngRetVal = apiGetUserName(strName, lngSize) GetTemporaryTableName = _ "tbl" & Left$(strName, lngSize - 1) End Function شخصيا أفضل الإقتران الأخير ، طبعا هنا أفترض أننا نريد أن ننشأ هذه الجداول في القاعدة المركزية وليس محليا على اجهزة المستخدمين لأن بناءها على أجهزة المستخدمين يبقى خيارا متاحا بدون مشاكل. إلى اللقاء ... مع الاحترام والتقدير
  4. السلام عليكم عدت إليكم ... " 3- تحديد نسخة الويندوز المستخدمة " قد يحتاج المبرمج لمعرفة رقم نسخة الويندوز المستخدمة ، وبناء عليه يتم طلب أو تنفيذ اقتران مكتبي مختلف ، طبعا يمكن عمل ذلك بسهولة باستخدام جملة select case ولكن يبقى السؤال المهم كيف نعرف نسخة الويندوز المستخدمة ؟ Private Type OSVERSIONINFO lVersionInfo As Long lMajorVersion As Long lMinorVersion As Long lBuildNumber As Long lplatformID As Long sVersion As String * 128 End Type Private Declare Function apiGetVersion Lib "Kernel32" _ Alias "GetVersionExA" _ (ByRef osVer As OSVERSIONINFO) As Long Public Function GetWindowsVersion() As String Dim lRetVal As Long Dim VersionNo As OSVERSIONINFO Dim lngVer As Long Dim Version As String VersionNo.lVersionInfo = 148 lRetVal = apiGetVersion(VersionNo) GetWindowsVersion = VersionNo.lMajorVersion & "." & _ VersionNo.lMinorVersion End Function وهكذا نعرف نسخة الويندوز ، عندما استخدمت الأقتران عندي حصلت على رقم 5.1 وهذا هو رقم نسخة XP الأخيرة SP2 ولكل نسخة يوجد رقم مختلف. إلى اللقاء ... مع الاحترام والتقدير
  5. السلام عليكم بما أن حقل الاسم واحد ولو فرضنا أن الاسم ثلاثي أو رباعي فتكون الاسماء مثلا محمد سمير العارف وهنا لا يوجد مشكلة حيث يمكن عمل إقتران للإستعلام عن الاسم الثاني ولكن ماذا لو كان اسم الشخص عبد الكريم سمير العارف أو كان له اسم شخصي مركب مثلا نور الاسلام سمير العارف ولهذا في حالة الحاجة للإستعلام حسب الأب الأفضل أن يكون حقل الأب منفصل مع الاحترام والتقدير
  6. السلام عليكم ارجو التوضيح find any where ما المقصود ؟! مع الاحترام والتقدير
  7. السلام عليكم لم أفهم ما الذي تقصدينه بالتعليق لأنه ضمن لسان التبويب تنسيق لا يوجد تعليق ؟! مع الاحترام
  8. السلام عليكم أختي ياسمين ، في خصائص مربع النص وفي التنسيق ولغة لوحة المفاتيح تختارين العربية. مع الاحترام والتقدير
  9. السلام عليكم يوجد برامج (أدوات) خاصة بذلك وهي ليست مجانية يمكن البحث عنه بواسطة مفاتيح البحث في المحركات كأن تكتب مثلا CONVERT MDB TO EXE علماً أنه من داخل الأكسيس لا يوجد طريقة . مع الاحترام والتقدير
  10. السلام عليكم أخي زاهوف شكرا لك فكرة جميلة وأرفق ملفك هنا مع الاحترام والتقدير zahof.rar
  11. السلام عليكم أخي زاهوف ، حلك رائع شكرا لك وأضعه لك هنا مع الاحترام والتقدير zahof.rar
  12. السلام عليكم تفضل أخي البرنامج بعد التعديل مع الاحترام والتقدير Searching_fix.rar
  13. السلام عليكم تفضل الملف بعد التعديل المطلوب . مع الاحترام ACC_fix.rar
  14. السلام عليكم أخي رامي ، بارك الله فيك يوجد حلين : 1) في كل مرة قبل انشاء الجدول تقوم بحذف الذي قمت بإنشاءه سابقا أو 2) تنشأ الجدول لمرة واحدة ، ثم لإضافة السجلات بعد ذلك تعمل استعلام إلحاق . مع الاحترام والتقدير
  15. السلام عليكم أخي شاهر ، بارك الله فيك الكود الذي وضعته لوحده لا يعمل شيء ولا بد أن له علاقة بإقتران ما يتم تحديد قيم لمتغير عام فيه بناء عليه يتم العمل الذي تذكره وبدون الاطلاع على كامل الكود لن نعرف كيف يعمل ، مع الاسف . مع الاحترام والتقدير
  16. السلام عليكم حتى تحقق ذلك يجب أن يكون في جدول الصيانة بالإضافة لتاريخ الصيانة والمبلغ ورقم الصيانة .. رقم السيارة في نموذج إضافة صيانة جديدة تجعل قيمة عنصر التحكم رقم الصيانة أكبر قيمة + 1 كما يلي على فرض أن جدول الصيانة اسمه maint والحقول رقم السيارة carno رقم الصيانة maintno وطريقة حساب الرقم هي Nz(Dmax("maintno","maint","carno="& me.crarno),0)+1 مع الاحترام والتقدير
  17. السلام عليكم عدت إليكم ... "2- تغيير المعالج الإفتراضي لإنشاء جدول جديد " أرجو أنه لا يوجد مبرمج محترف يستخدم طريقة عرض ورقة البيانات كمعالج بناء الجداول. بناء الجداول بإستخدام هذا المعالج يؤدي إلى بناء وتصميم ضعيف لقاعدة البيانات ولا يلبي نظريات القواعد العلائقية ومتعلقات التصميم الأخرى. بالرغم من ذلك ، أكسيس تضع لك هذا الخيار العديم الفائدة كخيار إفتراضي لإنشاء جدول جديد فلننظر للصورة التالية: وما أود أن أشارككم به هنا ، طريقة لجعل خيار عرض التصميم هو الخيار الأول والإفتراضي كما في الصورة التالية : والطريقة هي كما يلي : من start ... Run ثم إطبع regedit لتدخل إلى تسجيلات الويندوز ... ثم HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Office/ <النسخة>/Access/Wizards/TableWizards "Index" value - إجعلها 1 بدلا من 0 لخيار "Datasheet View" ولخيار عرض التصميم إجعلها صفر بدلا من 1 وقل وداعاً للخيار عرض ورقة البيانات المزعج وعديم الفائدة. إلى اللقاء ... مع الاحترام والتقدير
  18. السلام عليكم إخواني وأخواتي ، بارك الله فيكم جميعا يسعدني ويشرفني أن أبدأ معكم هذه السلسلة من إلقاء الأضواء الكاشفة على غيابات الأكسيس والتي سأكررها للتسهيل على الأعضاء في كل منتديات الأكسيس العربية المتخصصة ، أملا أن يكون بإذن الله فيها الفائدة للجميع. وبسم الله الرحمن الرحيم أبدأ ... " إزالة عوامل الفرز (الترتيب) والتصفية عن النماذج والتقارير " نكتب البرامج بهدف توزيعها وفي مرحلة الكتابة يتم اختبار هذه البرامج ونقوم بتحديد عوامل تصفية وترتيب على بعض النماذج والتقارير كجزء من الاختبارات ، ويأتي بعدها دور توزيع هذه البرامج ، وبالتأكيد أننا لا نود توزيعها مع ما تم اختباره من عوامل تصفية وترتيب والتي ستكون قد خزنت تلقائيا في هذه النماذج والتقارير. في الإقتران التالي والذي يشغل لمرة واحدة قبل عملية التوزيع يتم إزالة جميع عوام الفرز والتصفية المعرفة في النماذج والتقارير تلقائيا . Sub ResetFormsAndReports() Dim frm As Form Dim rpt As Report For Each obj In CurrentProject.AllForms DoCmd.OpenForm obj.Name, acDesign, , , , acHidden Set frm = Forms(obj.Name) frm.Filter = "" frm.FilterOn = False frm.OrderBy = "" frm.OrderByOn = False DoCmd.Close acForm, obj.Name, acSaveYes Next obj For Each obj In CurrentProject.AllReports DoCmd.OpenReport obj.Name, acDesign Set rpt = Reports(obj.Name) rpt.Filter = "" rpt.FilterOn = False rpt.OrderBy = "" rpt.OrderByOn = False DoCmd.Close acReport, obj.Name, acSaveYes Next obj End Sub إلى اللقاء ... مع الاحترام والتقدير
  19. السلام عليكم شكرا لك أخي أبن مسقط مثال وأداة رائعة وخصوصا لمن يهتم في موضوع الأرشفة في جهازه الشخصي وطريقة سهلة للرجوع للبرامج المخزن في حاسوبك . مع الاحترام والتقدير
  20. السلام عليكم شكرا جزيلا ، أداة رائعة ومهمة بلا شك . وأهمية الأداة تبرز في بيئة تعدد المستخدمين حيث يتمكن مراقبة ما يقوم بزيارته المستخدمون. مع الاحترام والتقدير
  21. السلام عليكم أخي شاهر ، هلا أشرت للمشاركة فضلا. مع الاحترام والتقدير
  22. السلام عليكم في الزمرة الأولى حول شكل الإدخال من 1-100 إلى 001-100 وستم الترتيب بدون أية مشكلة . مع الاحترام والتقدير
  23. السلام عليكم قم ببناء التقارير بناء على رقم الفصل الدراسي بحيث يكون الفصل الدراسي حقل تجميع. مع الاحترام والتقدير
  24. السلام عليكم البرنامج الذي تطلبه عبارة عن جدول واحد ونموذج بحيث تتألف حقول الجدول من البيانات التي تود أرشفتها ومن ضمنها حقل لإطار ole غير مضمن تضع فيه الصورة التي تعمل لها تصوير في الجهاز. مع الاحترام
  25. السلام عليكم في معيار السعر تضع <> 0 ، وهكذا لا يظهر عندما يكون صفرا مع الاحترام
×
×
  • اضف...

Important Information