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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

jjafferr last won the day on يونيو 10

jjafferr had the most liked content!

السمعه بالموقع

9417 Excellent

عن العضو jjafferr

البيانات الشخصية

  • Gender (Ar)
    ذكر
  • Job Title
    مهندس مدني مستقيل
  • البلد
    سلطنة عُمان

اخر الزوار

25471 زياره للملف الشخصي
  1. السلام عليكم اخي @منتصر الانسي هل لازالت المشاركات بينك وبين @hanan_ms تخص هذا الموضوع؟ تأمين التطبيق ، Taskbar ، اخفاء المجلد ، حفظ علاقات الجدول ، هذه المواضيع لا علاقة لها بالموضوع!! سيتم فصل هذه المشاركات الى موضوع جديد
  2. اما اذا اردنا استعمال Dlookup في الاستعلام ، بجميع الطرق اعلاه ، تحويل التاريخ الى رقم تعامل التاريخ هنا كرقم D1_Double: DLookUp("[date2]","[tbl2]","Cdbl([date2]) =" & CDbl([date1]) & " And [usr_id] ='" & [user_id] & "'") تنسيق التاريخ: \#mm/dd/yyyy\# تعامل التاريخ هنا كنص D1_Format_#D: DLookUp("[date2]","[tbl2]","Format([date2],'\#mm/dd/yyyy\#') ='" & Format([date1],'\#mm/dd/yyyy\#') & "' And [usr_id] ='" & [user_id] & "'") تنسيق التاريخ: yyyy-mm-dd hh:nn:ss تعامل التاريخ هنا كنص D1_Format_yyyy-mm-dd: DLookUp("[date2]","[tbl2]","Format([date2],'yyyy-mm-dd hh:nn:ss') ='" & Format([date1],'yyyy-mm-dd hh:nn:ss') & "' And [usr_id] ='" & [user_id] & "'") مناداة الدالة: DateFormat تعامل التاريخ هنا كرقم D1_Module: DLookUp("[date2]","[tbl2]","[date2]=" & DateFormat([date1]) & " And [usr_id] ='" & [user_id] & "'") . وهذه هي الدالة DateFormat : Function DateFormat(varDate As Variant) As String 'Purpose: Return a delimited string in the date format used natively by JET SQL. 'Argument: A date/time value. 'Note: Returns just the date format if the argument has no time component, ' or a date/time format if it does. 'Author: Allen Browne. allen@allenbrowne.com, June 2006. ' 'calling the Function: DateFormat(The_Date_Field) 'a = dlookup("[some field]","some table","[id]=" & me.id & " And [Date_Field]=" & DateFormat([The_Date_Field])) ' If IsDate(varDate) Then If DateValue(varDate) = varDate Then DateFormat = Format$(varDate, "\#mm\/dd\/yyyy\#") Else DateFormat = Format$(varDate, "\#mm\/dd\/yyyy hh\:nn\:ss\#") End If End If End Function . وبغض النظر عن كيفية تعاملنا مع جلب التاريخ ، سواء كان رقم او نص ، إلا ان نتيجة الامر Dlookup يكون نص . ملاحظة هامة: اذا كان حجم الشاشة يعرض 30 سجل (مثلا) ، واذا كان عندنا استعلام به 100 او 10000 سجل (اي رقم اكبر من حجم العرض 30) ، وبغض النظر عن المحتويات والقيم والاوامر والمعادلات في الاستعلام ، فالاكسس يقوم بحساب السجلات المعروضة على الشاشة فقط ، وفي حالتنا فالاكسس يحسب نتائج 30 سجل فقط ، وعليه ، اذا كان هذا الاستعلام هو مصدر بيانات لنموذج او تقرير ، فلن يكون هناك تأخير وبطئ في العرض (طبعا سيكون هناك بطئ بسيط ، ولكن ليس كما هو الاعتقاد السائد بأن البطئ سيلاحظه المستخدم) ، فالمصطلح المتداول في البطئ ، هو اذا اردت جلب بيانات الاستعلام كاملا دفعة واحدة ، مثل اذا اردت ان تبحث عن قيمة معينة فيه ، او تصدير جميع البيانات دفعة واحدة الى ملف اكسل او pdf ، بينما لا يوجد بطئ عند الطباعة لان الطباعة تتطلب بيانات صفحة واحدة فقط وهي الصفحة التي يتم طباعتها حاليا (بمعنى آخر ، حتى لو اردت طباعة 1000 صفحة ، فانت تطبعها صفحة صفحة) . مع ملاحظة تفادي استعمال فرز/تصفية للحقول التي بها معادلات والحقول التي تستعمل الامر Dlookup والحقول التي تنادي دوال خارجية ، لأنه هنا الاستعلام يجب ان يقوم بحساب قيم جميع السجلات ، ثم يقوم بعملية الفرز/التصفية. لهذا السبب ، فمناداة دالة خارجية (فيها معادلات فقط) لا تعمل بطئ عند استعمالها ، حسب ملاحظاتي اعلاه 🙂 1636.1.d8.accdb
  3. السلام عليكم اما الناس الكسالى مثلي ، فما ادوخ راسي بتنسيق الاكسل برمجيا ، وارسل التقرير شبه جاهز من الاكسس مباشرة : في التقرير: نخبره بأن يخفي الحقول المتكررة . والنتيجة: . فيصبح حدث التصدير الى اكسل: Private Sub أمر0_Click() Dim myFile As String myFile = CurrentProject.Path & "\myExcel.xls" DoCmd.OutputTo acOutputReport, "Report1", acFormatXLS, myFile, True End Sub . وهذه النتيجة في الاكسل: . من تجربتي ، لازم المستخدم يعدل في حقول معينة في الاكسل لطباعته ، فيقوم بتعديل تنسيق هذه الحقول كذلك تذكر اني قلت هذه طريقة الكسالى
  4. السلام عليكم مشاركتي لتوضيح الكثير من المعلومات الهامة في مشاركات الاساتذة اعلاه ، والتي تحتاج الى توضيح. رجاء النظر في حقول الجدول التالي: الاكسس يتعامل مع انواع الحقول بطريقته ، و يخبرنا بمجرد النظر الى تنسيق الحقل ، فيما اذا كان الحقل رقم او نص. النص تنسيقه الى اليسار ، بينما الرقم تنسيقه الى اليمين ، وعندما ننظر الى التاريخ ، فنلاحظ تنسيقه الى اليمين ، مما يعني انه رقم. . وبما ان استخدام Dlookup واخواتها من الاوامر التي نتفاداها في الاستعلام لأنها تبطئ الاستعلام ، فسوف نتخلص منها بإستعمال استعلام ، يدمج ملاحظات جميع الاساتذه في المشاركات اعلاه. . نجهز استعلام لكل جدول ، وهذه نتائج حقول استعلام الجدول الاول ، ورجاء ملاحظة ايهم نص وايهم رقم . D1_Double : تم تحويل التاريخ الى رقم ، D1_#D : استعملنا التنسيق \#mm/dd/yyyy\# في اعدادات الحقل ، وتعامل معه الاكسس كرقم ، D1_Format : استعملنا التنسيق yyyy-mm-dd hh:nn:ss في اعدادات الحقل ، وتعامل معه الاكسس كرقم ، D1_Format2 : استعملنا نفس التنسيق اعلاه ، ولكن في الحقل مباشرة ، فتعامل الاكسس معه كنص (الاكسس يحول اي قيمة في الدال Format الى نص) . الامر Dlookup اعلاه فيه ربط بين جدولين ، وبالحقولين date و user_id الان نستبدل الامر Dlookup بالاستعلامين الذين عملناهم اعلاه ، ونربطهم بالحقلين (انا عملت استعلام منفصل لكل نوع ، وقمت بربط الحقول على اساس تنسيقها اعلاه) . . والنتيجة . اما اذا اردنا الحصول على جميع بيانات الجدول 1 ، ونرى تواريخ الجدول 2 بمحاذاته . والنتيجة . وهنا ومع اننا حصلنا على النتائج ، إلا اننا لا نستطيع تعديل بيانات الحقول ، وعن طريق تغيير اعدادات الاستعلام ، يمكننا تعديل بيانات الحقول. (ملاحظة: اذا استعملت هذا الاستعلام كمصدر لبيانات نموذج ، فيجب ان تعدل في اعدادات النموذج كما عملنا في الاستعلام) . 1636.d8.accdb
  5. السلام عليكم اما انا فما احب استعمال Timer في نماذجي ، لأنها تؤذيني لما اشتغل في الكود !! واعتقدت ان كود اخوي ابو جودي سيحل المشكلة ، ولكن للأسف ، حصلت على نفس المشكلة في الكود !!
  6. هو برنامج قديم كان يشتغل على الوندوز 10 ، ولا يشتغل على الوندوز 11. ولا تظهر هذه المشكلة للجميع ، وحتى حاولت تغيير الريجستري ، وبدون فائدة مافي فائدة ارفق لك نسخة ، لأنه اذا عمل على حاسبتك ، فما معروف اذا يعمل عندي !! الحاسبة عندي فيها وندوز 11 جديد ، مو تحديث من من الوندوز 10
  7. وعليكم السلام عملت رد لموضوع آخر مشابه لهذا الموضوع : . اما تجربتي مع الوندوز 11 ، فبوجه عام لا مشاكل في برامجي ، ما عدا برنامج واحد يعتمد على IE internet explorer لقراءة ملفات pdf ، ولازلت ابحث عن حل 🙂
  8. وعليكم السلام 1. بوجه عام ، اي وقت تحصل على خطأ OLE Server ، قم باعادة تضبيطات لغة دعم حروف Unicode (اي لغة غير الانجليزية) للحاسبة ، حسب اللغة التي تستعملها في برنامج الاكسس (في حالتي هي اللغة العربية) . 2. سابقا في الاكسس 2003 وما قبل ، كانت هناك بعض الاوامر التي تعمل بطريقة صحيحة ، ولكنها لا تعمل في الاكسس 2007 وما بعد ، ومنها مكتبات نواة 32بت على الاكسس نواة 64بت. 3. الطريقة الصحيحة للتعامل مع جميع اخطاء الاكسس في الكود ، في اعلا كل صفحة دائما استعمل : Option Compare Database Option Explicit . والسطر الثاني جدا مهم للمبرمج ، بحيث يخبرك الاكسس اماكن الخطأ في الكود ، تلقائيا عند كتابة السطر ، او عن طريق امر Compile : واجعل الاكسس يكتب هذا السطر تلقائيا في كل صفحة كود ، هكذا : و . اما امر Compile : . وانا استعمل الامر بعد كل تحديث لأسطر الكود وقبل تجربة تشغيل البرنامج/النموذج (مو اقل من 5-20 مرة في اليوم لكل تحديث) ، ومن كثرة استعمالي له ، وضعت الزر خارج القائمة ، هكذا: . اعمل Compile ، وسيخبرك الاكسس مكان الخطأ ، هكذا : . وهنا نستطيع مساعدتك ، فتخبرنا اسم الخطأ ، ومكانه. 4. الاكسس مرتبط ارتباط وثيق بالوندوز ، وهناك الكثير من تحديثات الوندوز اللي تعمل مشكلة في الاكسس ، لذا : أ. النصيحة الذهبية ، لا تشترك في Preview Updates ، ولا تنزل التحديثات حين اصدارها من مايكروسوفت ، ب. اما اذا سبق السيف العدل ، وتم عمل تحديثات الوندوز ، وظهرت لك اخطاء في برنامجك ، فهناك حلين : البحث في الانترنت لحل ، ولا تنسى ان هناك مجتمع كبير جدا للاكسس ، وكما حصلت لك المشكلة ، فستكون حصلت لآخرين ، وتم التحدث عنها ، وغالبا يتم تقديم طريقة معالجة المشكلة ، آخر الدواء الكي ، ولما تستصعب عليك الامور ، وخصوصا اذا كان لديك برنامج يتم استعماله في امكان عديدة (ولا يمكنك الوصول اليها) ، فيمكنك التراجع عن تحديث الوندوز ، واما اذا قدرت تصبر شوي (والله اعلم طول هذه الفترة) ، فدائما يتم ايصال خبر هذه المشاكل الى شركة مايكروسوفت ، وتقوم : 1. إما بعمل تحديث وندوز جديد لحل هذه المشكلة ، 2. او ترسل تحديث/تعديل الى الاكسس الموجود على حاسبتك مباشرة وبدون علمك
  9. السلام عليكم متابع الموضوع منذ البداية ، ولكن ليس في التفاصيل الدقيقة 🙂 هنا كتبت تجربتي في التعامل مع اجهزة البصمة ، وكان لك أخوي ابوخليل مشاركة كذلك: . خلاصة الفكرة: لا تُحمّل اكسس عبئ العمل كاملا ، فإجعل جهاز البصمة يقوم ببعض الاعمال الافتراضية التي تخصه ، واخذ الصافي ، ومنها استخدم قوة الاكسس. وهذه مشاركة اخرى ، لسحب البيانات من جهاز البصمة ، والتي يحفظ البيانات بطريقة عمودية
  10. السلام عليكم اخوي وليد شكرا جزيلا على برنامجك العملي ، وعندي بعض الاصحاب اللي ممكن يستفيدوا منه 🙂 جعفر
  11. اخي فادي اهلا وسهلا بك ضمن فريق العمل ، وما ذلك عليك بغريب ، فقد كنت تمارس هذا الدور بدون اللقب 🙂 جعفر
  12. السلام عليكم واستمرارا بتتبع والتنقيب عن الخبراء بين المشاركات ، اهدي لانفسنا الخبير @Ahmos. شكرا لك على عطاءك 🙂 جعفر
  13. وعليكم السلام اعمل حقل جديد في الاستعلام : myColour: len([Colour]) وفي المعيار اكتب <>0
×
×
  • اضف...

Important Information