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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

كل منشورات العضو jjafferr

  1. وعليكم السلام استاذ ابوانس الاكسل يعمل كل شئ في مكان واحد ، لهذا تستطيع عمل ماتريد في مكان واحد ، ولكن الاكسس يحتوي على جداول لحفظ البيانات ، استعلامات لفرز وتصفية وحساب البيانات ، نماذج لإدخال البيانات ووالتصرف بها ، تقارير لعرض النتائج وطباعتها ، ماكرو ووحدات نمطية للتصرف في البرنامج والبيانات. وهناك عدة طرق لعمل المطلوب ، وانا هنا اضع بين يديك احد الطرق: عمل استعلام يحسب الارقام الاقل من 40 ، والارقام بين 40 و 50 ، لكل حقل: . والنتيجة . ثم استخدام نتائج هذا الاستعلام لحساب مجموع حقول الاقل من 40 ، ومجموع حقول بين 40 و 50: . والنتيجة جعفر 244.db1.accdb.zip
  2. معليش أخي الاستاذ أبو أنس ، لوسمحت تفتح موضوع جديد لطلبك جعفر
  3. نعم ، ممكن ، ولو ان سؤالك يختلف عن السؤال الاصلي في الواقع انت تريد انت تفتح نموذج ثابت ، ولكن معلومات الصف والشعبة هي التي تختلف ، اي انت تريد ان تعمل تصفية للنموذج. جعفر[
  4. تفضل الرابط التالي فيه الزر الذي تريد ، ولكن لا ننصح باستعماله كزر (انا استعملته لتوضيح المثال) ، والافضل استعماله عند تشغيل الاكسس عن طريق ماكرو مثلا. http://www.officena.net/ib/topic/64325-مثال-يعمل-على-اكسس-32-بت-و-64-بت/ جعفر
  5. أخي ابوانس ليش تبخل علينا بشرح مفصل عن طلبك؟ سؤالك غير واضح جعفر
  6. حياك الله قوانين المنتدى لا تسمح بدمج اكثر من سؤال في سؤال واحد فرجاء عمل سؤال آخر ، وان شاء الله تجد من يرد عليك جعفر
  7. السلام عليكم هناك عدم وضوح في السؤال (طبعا اذا انا كنت فاهم السؤال صح ) انت تتكلم عن شيئين مختلفين ، هما 1.موقع تحويل الكلام الى نص ، 2. برنامج الاكسس. والكلام كله عن اللغات في الاكسس ، بينما يجب ان نعرف اللغات الموجودة على الموقع!! اما اذا كنت بصدد تحويل الكلام الى نص عن طريق الاكسس فقط (وعرضت الموقع لكي نفهم الموضوع) ، فانصحك ان تتابع المواضيع التالية ، والتي لها علاقة بما ذكرت انا: http://www.officena.net/ib/topic/61622-تحويل-النص-إلى-كلام-باللغة-العربية/ http://www.officena.net/ib/topic/61967-ترجمة-صوتية-_-تحويل-النص-الى-صوت/ جعفر
  8. اها انا لم التفت الى كود فتح النموذج سابقا الغي كل الكود السابق ، استخدم هذا الكود بدلا عنه: Private Sub Combo0_AfterUpdate() DoCmd.OpenForm Me.Combo0 End Sub جعفر
  9. طريقة عمل نماذج اكسس هي: عند فتح النموذج ، فانه يأخذ بياناته من الجداول / استعلامات ، ولكن ، وبينما النموذج يكون مفتوحا ، وقمت بتغيير البيانات في الجدول ، فمعلومات النموذج لن تتغير تلقائيا ، الا اذا طلبت من النموذج ذلك ، او بان تخرج من النموذج وتدخل فيه مرة اخرى ، فيأتي بالمعلومات الجديده. واذا فهمي خطأ لسؤالك ، رجاء التوضيح اكثر. جعفر
  10. وعليكم السلام انا استخدم الاستعلام التالي لقراءة جميع النماذج ، ماعدا النموذج form0 (وطبعا تستطيع تضبيطه لقراءة اسماء الجداول او الاستعلامات او التقارير او ...) : SELECT msysObjects.Name FROM msysObjects WHERE (((msysObjects.Name)<>'Form0') AND ((msysObjects.Type)=-32768) AND ((Left([Name],2)) Not In ("~s","ms","f_"))) ORDER BY msysObjects.Name; جعفر 242.db1.mdb.zip
  11. وعليكم السلام انا استخدم: Application.FollowHyperlink me.myFieldName جعفر
  12. وعليكم السلام أخي الأستاذ رمهان من يركب البحر لا يخشى من الغرق البارحة كنت أريد أن اختم الموضوع بهذا البيت ، ولكن لم يكن له معنى ، ولكن بعد ردك ، أصبح له معناه الذي كنت أريده ميزة disconnect في ado هي السر ، ولكن وللأسف لا يستطيع الجميع التعامل معها وتوابعها (قفل السجلات و....) ، وإلا يصبح التعامل مع ado Recordset ليس بذات القيمة ، والأفضل أن تترك الاكسس يقوم بكل ذلك كما ذكرت انت هناك بعض الزبائن من لا يقبل العمل على الاكسس إلا إذا تم استعمال disconnected ado ، وذلك لأسباب تأمين البيانات من المتطفلين على الشبكة. انا اشتغلت على برنامج واحد بهذه الصيغة ، وفي البداية تعبت كثيرا مع علمي بـ Recordset ، ولكني اكثرت من عمل الوحدات النمطية كما أشرت سابقا ، وتسهل العمل ، ولكن جعفر وبما إنك من متابعي سفراتي ، فانا الآن في المطار وسأكون بعيد عن المنتدى
  13. السلام عليكم ورحمة الله وبركاته أخي نكرو مانسر اول شئ يجب ان تفعله عند استخدام Recordset لتعبئة البيانات الجداول ، هو حذف العلاقات بين الجداول ، حيث انك ستتحكم بجميع الحقول والسجلات برمجيا ، وبدون اخطاء (انت تتكلم عن برمجة قواعد البيانات / اكسس في اعلى درجاتها ، فلا مجال لأخطاء المبتدئين هنا ) . 1. هذا غير صحيح ، فالبيانات في النموذج الفرعي مفصولة ، ولا يتم حفظ البيانات (سواء المعدلة او السجلات الجديدة) إلا اذا ضغطت على الزر Save ، واذا تتبعت الكود ، سترى بان الكود لا يكتب رقم العميل ، اذا كان هناك تعديل في البيانات ، ولكن الكود يكتب جميع البيانات ، ومنها رقم العميل ، اذا اضفت سجلات جديدة. 2. البرنامج بحاجة الى كتابة رقم العميل (او امر التوريد) في الجدول ، فانت حر في طريقة اعطائه الرقم كما تحب (ولا يجب ان يكون رقم العميل من النموذج الرئيسي) ، فتستطيع ان تجعل له حقل في النموذج الفرعي وتملئه كما تملئ بقية الحقول ، 3. انت لا تحتاج الى علاقة بين النموذج الرئيسي والنموذج الفرعي ، فانت الذي تحدد اي بيانات / سجلات للنموذج الرئيسي ، واي بيانات للنموذج الفرعي ، نحن بحاجة الى ربط النموذج الفرعي بالنموذج الرئيسي بحقل او اكثر ، فقط لتصفية السجلات في النموذج الفرعي على اساس بيانات النموذج الرئيسي ، بينما في حالتك ، فانت لا تصفي البيانات ، وانما تضيفها على كيفك لهذا ، فالمرفق Unbound متكامل أخي الاستاذ رمهان 4. الميزة قي التعامل مع السجلات / البيانات بطريقة Recordset ومكتبات ado doa : يجعل البرنامج خفيف ، حيث لا تاخذ من الجداول إلا السجل المطلوب ، بدل ان تأتي بالجدول كاملا الى النموذج ، ثم تصفيه في النموذج (باستخدام Form Filter مثلا) ، لا يعمل ضغط على القاعدة الخلفية (الجداول) ، وبهذه الطريقة تكسر حاجز الـ 15-25 شخص الذين يستطيعون استخدام البرنامج قبل ان يبدأ البرنامج بالبطئ ، فبهذه الطريقة لا حدود لعدد الاشخاص الذين يستطيعون استخدام البرنامج في شبكة ، اذا اضفت على الجداول حقلين ، حقل للرقم التلقائي ، وحقل للتاريخ (لاحظ جميع برامجي ، فانا اضيف هذين الحقلين في كل جدول) ، فيمكن ان تغير خلفية الجداول بدل عن الاكسس ، تستطيع ان تستعمل SQL server او My SQL ، او خلفية اخرى ، وبدون اي تغييرات تُذكر ، اذا تعلمت التعامل مع السجلات بهذه الطريقة ، فانت قريب جدا من برمجة ado.NET 5. وانا اضيف صوتي لصوتك ، لمعرفة السبب جعفر
  14. تفضل ، استطعت ان اجعل البرنامج صغير ، بإزالت الصورة الخلفية fin_New.zip
  15. وعليكم السلام الجميع يستطيع المشاركة ، ولكن عادة يفضل أن تفتح موضوع جديد ولكن الجميع عندما يريد المشاركة ، يجب أن يكون السؤال واضح وبالتفصيل ، وإلا فالاحتمالات تصبح ضئيلة للمشاركة ، وللأسف شرحك غير واضح وحتى مسميات الحقول ليست صحيحة ولا ترفق مثال للإقتداء به فالأفضل أن تتبع تعليمات تغيير إسم المرفق (right click on the file, rename the extension from zip to 7z) جعفر
  16. السلام عليكم ورحمة الله وبركاته عملت مثال على الرابط التالي وبه مرفق يعمل على 32 بت و 64 بت: http://www.officena.net/ib/topic/64325-مثال-يعمل-على-اكسس-32-بت-و-64-بت/ جعفر
  17. السلام عليكم ورحمة الله وبركاته عملت مثال على الرابط التالي وبه مرفق يعمل على 32 بت و 64 بت: http://www.officena.net/ib/topic/64325-مثال-يعمل-على-اكسس-32-بت-و-64-بت/ جعفر
  18. السلام عليكم ورحمة الله وبركاته عملت مثال على الرابط التالي وبه مرفق يعمل على 32 بت و 64 بت: http://www.officena.net/ib/topic/64325-مثال-يعمل-على-اكسس-32-بت-و-64-بت/ جعفر
  19. السلام عليكم ورحمة الله وبركاته عملت مثال على الرابط التالي وبه مرفق يعمل على 32 بت و 64 بت: http://www.officena.net/ib/topic/64325-مثال-يعمل-على-اكسس-32-بت-و-64-بت/ جعفر
  20. السلام عليكم ورحمة الله وبركاته هذا الموضوع اُثير اكثر من مرة في الآونة الاخيرة ، ورأيت من الافضل ان اضع مثال ليقتدي به الجميع وقبل ان نبدأ ، اود ان اشير الى انني اعمل على اكسس 32 بت ، ولا املك نسخة من اكسس 64 بت احب ان اشير الى الرابط الذي شرحت فيه ان مايكروسوفت توصي بتنصيب الاوفيس / اكسس 32 بت ، بغض النظر عن نوع الوندوز المنصّب على الكمبيوتر ، سواء كان 32 بت او 64 بت: http://www.officena.net/ib/topic/64036-هل-استخدم-اوفيس-32-بت-او-64-بت/ ولكن ، ماذا نفعل اذا عملنا برنامجنا على اكسس 32 بت ، واتضح ان الزبون عنده جهاز فيه اكسس 64 بت المثال التالي يشتغل على 32 بت و 64 بت ، ونستطيع ان نستفيد منه لعمل برنامجنا البرنامج المرفق ، بعد فك الضغط ، سيحتوي على 3 برامج: . هذا برنامج No_Password_BE.accdb ، وبه جدول واحد ، ولا يحتاج الى كلمة سر لفتحه: . هذا برنامج Password_is_jj_BE.accdb ، وبه جدول واحد ، وكلمة السر لفتحه هي jj: . البرنامج: JStreetAccessRelinker2.accdb من الرابط http://www.jstreettech.com/downloads.aspx ، وبه ماكرو ووحدات نمطية تعمل على 32 بت و 64 بت (فالفضل في هذا المثال يعود للبرنامج وليس لي ) ، وقد قمت بإضافة نموذج لربطه مع احد برنامج الجداول اعلاه ، ومبدئيا فهو مرتبط مع البرنامج No_Password_BE.accdb ، . وعند فتح البرنامج لأول مرة ، سوف يفتح نافذة تطلب معرفة مكان برنامج الجداول No_Password_BE.accdb ، وتستطيع ان تنقر على الزر Link Another BE ، وستفتح لك نافذة تطلب منك معرفة مكان برنامج الجداول الجديد الذي تريد ان تربطه (بدل البرنامج No_Password_BE.accdb) : . وبما ان البرنامج هذا محمي بكلمة سر ، فسوف تظهر لك نافذة لإدخال كلمة السر (لاحظ ان الادخال مشفر) : . وعندما يتم الربط ، سترى رسالة التاكيد: . الرجاء من الشباب الذين لديهم نسخة من الاكسس 64 بت ، التاكد من ان البرنامج يشتغل على كمبيوترهم بدون اخطاء. عندما نريد ان نعمل برنامج يشتغل على النسختين 32 و 64 بت ، فكود النماذج هو نفسه بين نسختي 32 بت و 64 بت ، والشئ الوحيد الذي يتغير هو دوال الوحدات النمطية API ، والكود الذي ينادي هذه الوحدات (بغض النظر سواء كان في نموذج او في وحدة نمطية مستقلة) ، هنا سوف اعطي مثال واحد من الكود عن طريقة العمل للنسختين 32 و 64 بت: الكود التالي يستعمل دالة API فتح نافذة اختيار ملف ، والدالة هي 32 بت (لاحظ comdlg32.dll ) : Private Declare Function GetOpenFileName Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" (OPENFILENAME As tagOPENFILENAME) As Long الان اذا اردنا ان نجعل هذه الداله API تعمل على 64 بت كذلك ، فالكود يجب ان يكون: #If VBA7 Then 'هذه لنسخة 64 بت Private Declare PtrSafe Function GetOpenFileName Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" (OPENFILENAME As tagOPENFILENAME) As Boolean #Else 'وهذه لنسخة 32 بت Private Declare Function GetOpenFileName Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" (OPENFILENAME As tagOPENFILENAME) As Long #End If ولاحظ في كود البرنامج ، انه تم جمع جميع الدوال مع بعض ، وجمعها في if# و else# و end if# واحدة. وهناك اصدار جديد لكود الربط ، ويمكن انزاله من هنا: http://www.jstreettech.com/files/JStreetAccessRelinker2.zip جعفر 238.Work_on_32Bits_and_64Bits.zip
  21. أخي طارق اذا عندك اي استفسار ، رجاء ان تسأل ، لأني يوم الاربعاء صباحا على سفر ولن استطيع دخول المنتدى لفترة. جعفر
  22. السلام عليكم ورحمة الله وبركاته . نعم يمكن عمل هذا ، بإتباع التعليمات حسب ما وضحت في الرابط اعلاه http://www.officena.net/ib/topic/59661-الأكسس-32-بت،-64-بت/#comment-398477 في الرابط التالي توضيح من مايكروسوفت https://msdn.microsoft.com/en-us/library/office/gg264421.aspx . . الظاهر اني لم اشرح نفسي بشكل واضح في الرابط السابق ، مما نتج عنه هذا المفهوم الخاطئ ، فانا اعتذر عن هذا جعفر
  23. تفضل 1. أضفت حقل جديد للنموذج وجعلته مخفيا . 2. الكود اصبح: 'only split is nfous is empty If Len(Me.nfous & "") <> 0 Then Exit Sub Dim x() As String x = Split(Me.barcode, "+") Me.nfous = DLookup("[NoufousName]", "NoufousTable", "[Field1]='" & x(0) & "'") Me.nfous_ID = DLookup("[NoufousID]", "NoufousTable", "[Field1]='" & x(0) & "'") Me.[0000] = x(1) Me.[00] = x(2) Me.[00000] = x(3) Me.[0] = x(4) 'we will use the query method instead of the Recordset 'update the Record, if found DoCmd.SetWarnings False DoCmd.OpenQuery "qry_Update_BC_NF" DoCmd.SetWarnings True . 3. عملت استعلام تحديث: . للعلم ، بسبب كبر حجم قاعدة بياناتك ، اضطررت ان اضغط المرفق بصيغة 7z وتستطيع ان تنزل برنامج فك الضغط المجاني من هذا الموقع: http://www.7-zip.org لذلك بعد انزال المرفق fin.zip ، رجاء تغيير اسمه الى fin.7z ، ثم فك الضغط. جعفر fin.zip
  24. وعليكم السلام أخي طارق انا عندي حالة طارئه من كم يوم ولازالت ، ولم ادخل المنتدى. انا شخصيا لا اتعامل مع الافراد حسب هواي (ولم ألاحظ هذا على اي من المشاركين) ، ولكننا جميعا نساعد قدر استطاعتنا ووقتنا المتاح. سأحاول الليلة عمل المستطاع لإيجاد الحل لطلبك جعفر
×
×
  • اضف...

Important Information