شوقي ربيع قام بنشر يوليو 30, 2017 قام بنشر يوليو 30, 2017 بسم الله الرحمان الرحيم السلام عليكم اغلبيتنا يعلم بان الاكسل جيد في انشاء برامج حسابية صغيرة لاكن مع مرور الوقت و زيادة حجم قاعدة البيانات للبرنامج يصبح هناك نوع من البطئء و التشنج في البرنامج لان الاكسل عبارة عن جداولة الكترونية و ليس بقاعدة بيانات و ايضا كما نعلم بان الاكسيس جيد جدا بالنسبة الاكسل لاستخدامه كقاعدة بيانات وب بالفعل الاكسيس مازال لحد الان يستعمل كقاعدة البيانات في البرامج المتوسطة لذى فكرة في دمج الاكسل و الاكسيس معا للستفادة من قوة الاكسل في الجداول و الحسابات و جمال الفورم مع الاكسيس المتميز في قوة قاعدة البيانات و عدم تاثره كثيرا بكبر حجمها كما هو معمول مع لغات البرمجة الكبيرة ك c++ vb.net java python ...... اذن ستجدون في هذا الموضوع مثال شامل لربط الاكسل بالاكسيس فقط بالاكواد بحيث سنتعامل مع الاكسيس بسلاسة كبيرة وذلك استخدام اوامر sql مع vbq بسهولة كبيرة وتنفذ جميع الاوامر من حذف او اضافة او تعديل او التقارير المعروف بها الاكسيس من خلال الاكسل دون فتح ملف الاكسيس (في الحقيقة يفتح ملف الاكسيس لاكن لن تلاحظ ابدا بانه مفتوح) والعملية المتبعة في ذلك مقسمة الى ثلاث مراحل فتح اتصال مع الاكسيس تنفيذ اوامر sql (select insert update delete) غلق الاتصال مع الاكسيس لا اطيل عليكم و اترككم مع الملف و لاي استفسارات انا في الخدمة تحياتي للجميع و ارجو ان تستفيدو من الموضوع ConnectDatabaseAccess.rar 11 2
محمد سلامة قام بنشر يوليو 31, 2017 قام بنشر يوليو 31, 2017 وعليكم السلام استاذ شوقي بارك الله فيك وجاري التجربة
ابن الملك قام بنشر يوليو 31, 2017 قام بنشر يوليو 31, 2017 بارك الله فيك أستاذ / شوقى جعله الله فى ميزان حسناتك
محمود أبوالدهب قام بنشر يوليو 31, 2017 قام بنشر يوليو 31, 2017 صراحتان لم اتعامل مع الاكسيس من قبل فاريد تعلم الاكسيل الاول قم تعلم الاكسيس والعلم بحر لا نهاية له ومع ذاللك ساقوم بالتجربة حتى نستفيد من عمل حضرتكم المميز
شوقي ربيع قام بنشر أغسطس 1, 2017 الكاتب قام بنشر أغسطس 1, 2017 في 31/07/2017 at 09:03, محمد سلامة said: وعليكم السلام استاذ شوقي بارك الله فيك وجاري التجربة شكرا جزيلا اخي محمد سلامة على مرورك ارجو اعلامي ياي مشكل يواجهك في الملف بعد تجربتك له تحياتي لك في 31/07/2017 at 09:03, ابن الملك said: بارك الله فيك أستاذ / شوقى جعله الله فى ميزان حسناتك اشكرك اخي ابن الملك على مرورك و عباراتك تحياتي لك 17 ساعات مضت, محمود أبوالدهب said: صراحتان لم اتعامل مع الاكسيس من قبل فاريد تعلم الاكسيل الاول قم تعلم الاكسيس والعلم بحر لا نهاية له ومع ذاللك ساقوم بالتجربة حتى نستفيد من عمل حضرتكم المميز اشكرك اخي محمود ابو ذهب لمرورك بالموضوع بالنسبة لاكسيس انا ايضا ليس لي به خبرة كبيرة لاكن كل ماتحتاجه هو اساسيات صغيرة تتعلمها كانشاء جداول و انشاء علاقات فيما بينها و ايضا تعلم قليل من الاستعلامات و بعض اوامر sql لو تفهم الموضوع جيدا ستختزل على نفسك لالف الاسطر من الاكواد في حين تعامل مع قاعدة بيانات على الاكسيل مباشرتا تحياتي لك 3
مهند الزيدي قام بنشر أغسطس 5, 2017 قام بنشر أغسطس 5, 2017 مجهود رائع ..بارك الله فيك..وجعله في ميزان حسناتك
زياد عبد الجليل قام بنشر أغسطس 5, 2017 قام بنشر أغسطس 5, 2017 عمل رائع و ممتاز بارك الله فيك استاذ ربيع
faraktoz قام بنشر أغسطس 6, 2017 قام بنشر أغسطس 6, 2017 عمل ممتاز ولكن هل يوجد شرح الطريقة فيديو لتمام الاستفادة
الأستاذ / محمد الدسوقى قام بنشر أغسطس 19, 2017 قام بنشر أغسطس 19, 2017 أستاذنا الجليل الأستاذ شوقى ربيع عمل رائع و ممتاز بارك الله فيك وإن كنا نطمع فى شرح كيفية عمل مثل هذا الفورم لإدخال البيانات بالاضافة والتعديل والحذف وشرح الأكواد سواء بالفيديو أو شرح عادى تقبل تحياتى
ابو العلاء قام بنشر أغسطس 21, 2017 قام بنشر أغسطس 21, 2017 كل الشكر استاذ شوقي .. والله تحفة كنت انتظر مثل هذا العمل لقد افادني كثيرا في ميزان حسناتك
خالد الرشيدى قام بنشر سبتمبر 14, 2017 قام بنشر سبتمبر 14, 2017 السلام عليكم ورحمة الله استاذي / شوقي ربيع الحقيقه عمل رائع.. واسلوب تسطير الاكواد اكثر من رائع واسمح لي ان اسال حضرتك علي حد علمي انه من السهل جدا استبدال الاكسيس ليكون sql من خلال تغيير ال provider وسؤالي لحضرتك هل يمكن ربط الاكسيل ب SQL او اكسيس وجعلها علي الانترنت .. بحيث يمكن الوصول الي قاعده البيانات من اي جهاز اخر تقبل مروري وتحياتي
شوقي ربيع قام بنشر أكتوبر 10, 2017 الكاتب قام بنشر أكتوبر 10, 2017 في 14/09/2017 at 21:32, خالد الرشيدى said: السلام عليكم ورحمة الله استاذي / شوقي ربيع الحقيقه عمل رائع.. واسلوب تسطير الاكواد اكثر من رائع واسمح لي ان اسال حضرتك علي حد علمي انه من السهل جدا استبدال الاكسيس ليكون sql من خلال تغيير ال provider وسؤالي لحضرتك هل يمكن ربط الاكسيل ب SQL او اكسيس وجعلها علي الانترنت .. بحيث يمكن الوصول الي قاعده البيانات من اي جهاز اخر تقبل مروري وتحياتي شكرا لسؤالك اخي خالد اول يمكن ربط الاكسيس مع SQL كما هو الحال مع الاكسيس تمام وكنت اود طرح موضوع منصفصل بهذا الخصوص لاكن ام يسمح لي الوقت لذى اعطيك طرف الخيط من هنا Public Function SQLConnectDatabase() Set Conn = CreateObject("ADODB.Connection") Dim Server_Name As String: Server_Name = "Enter your server name here" Dim Database_Name As String: Database_Name = "Enter your database name here" Dim User_ID As String: User_ID = "enter your user ID here" Dim Password As String: Password = "Enter your password here" Dim sConn As String: sConn = "Driver={SQL Server};Server=" & Server_Name & ";Database=" & Database_Name & _ ";Uid=" & User_ID & ";Pwd=" & Password & ";" Conn.Open sConn Conn.cursorlocation = 3 ConnectionState = True Call CloseDatabase End Function هذا هو الكود الذي يمكنك من الاتصال بقاعدة بيانات من نوع SQL Server اما بقيت الاكواد فهي نفسها ولا يوجد فيها اي اختلاف فقط الاختلاف الوحيد يكون في كتابتاوامر sql الخاصة باتواريخ لانه اوامر sql هي نفسها بالنسبة للاكسيس او sql اما بانسبة لرفع قاعدة البيانات على النت و الاتصال بها فهي ممكنة جدا بالنسبة ل sql فهي سهلة جدا اما الاكسيس يمكن ايضا لاكن ليس بجودة sql وذالك برفع قاعدة البيانات من نوع اكسيس على قوقل دريف مثلا او دروب بوكس وو بهذا يمكنك التعامل معها باكثر من جهاز في نفس الوقت الموضوع على بساطته محتاج بعص الوقت لكي اعمل له شرح مفصل و سأعمله ان شاء الله عند توفر الوقت الازم تحياتي 2
خالد الرشيدى قام بنشر أكتوبر 10, 2017 قام بنشر أكتوبر 10, 2017 (معدل) السلام عليكم ورحمة الله استاذي شوقي ربيع حقيقة منذ ان رأيت موضوع حضرتك على المنتدي والى اليوم وانا اعمل على تعلمه والالمام به بشكل كامل - وصراحه اسلوب حضرتك فاق في الدقة والسهوله وال functions. المستخدمه كل المنتديات والكتب والشروحات حتى الاجنبيه - فزادك الله علما وجزاك عنا خيراً - لدرجة اننى حفظت الملف واكواده لانه حقا بمثاله مرجع قوي جدا لهذا الموضوع بحثت في فكره المشاركه على الانترنت وتوصلت لما ذكرته حضرتك ايضاً - --- وان شاء الله في انتظار موضوع حضرتك لانى متاكد تماما انه سيكون ايضا مرجع قوي جدا واسمح لى استاذي القدير - واتمنى ان يسمح وقت حضرتك - فى الموضوع لم يتم طرح ماذا لو كان الموظف مضاف مسبقا - اقصد التاكد من عدم وجود الموظف قبل اضافه جديد - فماذا لو اردت ان اقول - لو ان اسم الموظف وعنوانه موجود مسبقا - ( كمثال - لان فكره الموضوع وايضا فكره العمل القائم انا عليه ليس شرط عدم تكرار الكود يعنى عدم تكرار الموظف لهذا اريد التاكد بدلاله اسمه وعنوانه كمثال - ) - هل ساحتاج الى فتح Recordest للتاكد من ذلك قبل INSERT INTO ??? جزاك الله خيراً تم تعديل أكتوبر 10, 2017 بواسطه خالد الرشيدى
شوقي ربيع قام بنشر فبراير 22, 2018 الكاتب قام بنشر فبراير 22, 2018 في 10/10/2017 at 23:26, خالد الرشيدى said: السلام عليكم ورحمة الله استاذي شوقي ربيع حقيقة منذ ان رأيت موضوع حضرتك على المنتدي والى اليوم وانا اعمل على تعلمه والالمام به بشكل كامل - وصراحه اسلوب حضرتك فاق في الدقة والسهوله وال functions. المستخدمه كل المنتديات والكتب والشروحات حتى الاجنبيه - فزادك الله علما وجزاك عنا خيراً - لدرجة اننى حفظت الملف واكواده لانه حقا بمثاله مرجع قوي جدا لهذا الموضوع بحثت في فكره المشاركه على الانترنت وتوصلت لما ذكرته حضرتك ايضاً - --- وان شاء الله في انتظار موضوع حضرتك لانى متاكد تماما انه سيكون ايضا مرجع قوي جدا واسمح لى استاذي القدير - واتمنى ان يسمح وقت حضرتك - فى الموضوع لم يتم طرح ماذا لو كان الموظف مضاف مسبقا - اقصد التاكد من عدم وجود الموظف قبل اضافه جديد - فماذا لو اردت ان اقول - لو ان اسم الموظف وعنوانه موجود مسبقا - ( كمثال - لان فكره الموضوع وايضا فكره العمل القائم انا عليه ليس شرط عدم تكرار الكود يعنى عدم تكرار الموظف لهذا اريد التاكد بدلاله اسمه وعنوانه كمثال - ) - هل ساحتاج الى فتح Recordest للتاكد من ذلك قبل INSERT INTO ??? جزاك الله خيراً السلام عليكم اخي خالد اسف جدا على الرد المتأخر لاني لم ارى سؤالك الا الان بخصوص سؤالك حول عدم تكرار الاسم لا اعرف ان كان هناك دالة في لغة SQL تقوم باستكشاف المكرر اما ب VBA يمكن ذلك ببساطة بالمقارنة تقم بجلب عمود الاسماء من الاكسيس عن طريقة RECORDEST ثم تخزينها في مصفوفة ثم عمل حلقة تكرارية تقارن الاسم المدخل مع العمود المجلوب تبدو العملية طويلة لاكنها ستكون سريعة جدا ان عملتها بالمصفوفات ممكن وجود طرق اخرى فقط لا تجعل سقف لخيالك تحياتي
حسام مصطفي قام بنشر فبراير 25, 2018 قام بنشر فبراير 25, 2018 هل معني ذلك استاذنا ان اقوم بتصميم الفورم لدي بالاكسيل كما اريد واصمم برنامجي علي الاكسيل بالشكل الذي اريده ثم اقوم بوضع الاكواد الموجودة في ملفك لربط الاكسيل االذي قمت بتصميمه مع الاكسيس ( اي ان الاكسيس ما هو الا مكان للتخزين كقاعد بيانات كبيرة فقط ) وبهذا يكون قد انتهي الربط والبرنامج ام ان كل برنامج مصمم علي الاكسيل له اكواده الخاصه ليتم ربطه مع الاكسيس علما بان معلوماتي عن الاكسيس لا تتعدي النماذج والجداول والاستعلامات والتقارير التي يتم انشاؤها وليس لدي اي درايه بأكواد الاكسيس نهائياً عكس الاكسيل فلدي الكثير منها وافهم معظمها بسهوله عذرا استاذي ولكن يجب ان نتعلم هذا الموضوع فهو ممتاز وسيفيد الجميع وليس امامنا سواك استاذنا تقبل وافر تحياتي .. جزاك الله خيرا
محمود أبوالدهب قام بنشر فبراير 25, 2018 قام بنشر فبراير 25, 2018 وايضا استاذ شوقى ربيع لاهمية المضوع نريد شرح باستفاضة اكثر لو امكن وهذا لان الملف المرفق به بعض الاخطأ او الاخطاء من عندى ولكن الموضوع غاية في الاهمية
سمير نجار قام بنشر ديسمبر 12, 2018 قام بنشر ديسمبر 12, 2018 السلام عليكم ورحمة الله وبركاته كل الشكر للاستاذ شوقي السادة الكرام الملف يعمل بشكل ممتاز في حال لم يكن هناك دالة جمع او ماشابه في حقل من حقول استعلام الاكسس اما في حال وجود دالة في حقل من حقول استعلام الاكسس فإنه تظهر مشكلة عند جلب البيانات للاكسل هل هناك من حل ؟ في الملف المرفق عملت استعلام PROD_DATA1 لا يحوي دالة وآخرPROD_DATA2 يحوي دالة (وكلا الاستعلامين للجدول PROD و في استعلام PROD_DATA2 يوجد ودالة DSUM لجمع حقل QTY_IN في جدول DATA_PROD) و في ملف الاكسل فورم1 لجلب استعلام PROD_DATA1 وفورم2 لجلب استعلامPROD_DATA2 ولكم كل الشكر اكسل & اكسيس (اضافة تعديل حذف + تقارير).rar 1
شوقي ربيع قام بنشر ديسمبر 12, 2018 الكاتب قام بنشر ديسمبر 12, 2018 في ٢٥/٢/٢٠١٨ at 14:31, حسام مصطفي said: هل معني ذلك استاذنا ان اقوم بتصميم الفورم لدي بالاكسيل كما اريد واصمم برنامجي علي الاكسيل بالشكل الذي اريده ثم اقوم بوضع الاكواد الموجودة في ملفك لربط الاكسيل االذي قمت بتصميمه مع الاكسيس ( اي ان الاكسيس ما هو الا مكان للتخزين كقاعد بيانات كبيرة فقط ) وبهذا يكون قد انتهي الربط والبرنامج نعم اخي هو كذالك بالضبط في ٢٥/٢/٢٠١٨ at 14:31, حسام مصطفي said: علما بان معلوماتي عن الاكسيس لا تتعدي النماذج والجداول والاستعلامات والتقارير التي يتم انشاؤها وليس لدي اي درايه بأكواد الاكسيس نهائياً عكس الاكسيل فلدي الكثير منها وافهم معظمها بسهوله تلك المعلومات تكفي وبزبادة في ٢٥/٢/٢٠١٨ at 19:59, محمود أبوالدهب said: وايضا استاذ شوقى ربيع لاهمية المضوع نريد شرح باستفاضة اكثر لو امكن وهذا لان الملف المرفق به بعض الاخطأ او الاخطاء من عندى ولكن الموضوع غاية في الاهمية الملف الملرفق ليس به اي اخطاء اما بخصوص شرح الموضوع انت فقط اشر على اي جزئية وباذن الله اشرحها لك 3 ساعات مضت, سمير نجار said: السلام عليكم ورحمة الله وبركاته كل الشكر للاستاذ شوقي السادة الكرام الملف يعمل بشكل ممتاز في حال لم يكن هناك دالة جمع او ماشابه في حقل من حقول استعلام الاكسس اما في حال وجود دالة في حقل من حقول استعلام الاكسس فإنه تظهر مشكلة عند جلب البيانات للاكسل هل هناك من حل اولا شكرا اخي سمير لهتمامك بالموضوع و و اضح جدا من الملف الذي ارسلته انك درست الملف جيدا ....احسنت اخي سمير بخصوص سؤالك عن جلب الاستعلام به دالة او لا يوجد به دالة لايوجد اي مشكل يمكن ذلك جدا الخطا الذي يضهر لك هو بسبب وجود خلايا في الاكسل قيمتها nothing و في مثالي السابق اعتمدت على المصفوفات لتخزين البيانات التي نجلبها من الاكسيس مؤقتا وكما نعلم المصفوفات لاتقب القيمة nothing لذى يضهر لك ذلك الخطا الحل بكل بساطة هو جلب البيانات من الاكسيس مباشرتا الى اليست بوكس هههه لان اليست بوكس تقبل nothing اليك هذه الخورازمية لتنفيذ دالك Function Fill2(List As Variant, SelectCommand As String) On Error GoTo Err1 List.Clear Set rs = CreateObject("ADODB.Recordset") If ConnectionState = False Then Call connectDatabase rs.Open SelectCommand, Conn If rs.RecordCount <> 0 Then List.Column = rs.GetRows End If If ConnectionState = True Then Call CloseDatabase Exit Function Err1: Dim MonResultat MonResultat = MsgBox("Description : " & Err.Description, vbCritical + vbOKOnly, "Erreur d'execution") If ConnectionState = True Then Call CloseDatabase End Function الان بكل بساطة عندما تريد انتجلب جدول الى اليست بوكس كل ما عليك استدعاء هته الخوارزمية ايضا انضر المرفق لتستوعب الفكرة اكثر اكسل & اكسيس (اضافة تعديل حذف + تقارير).rar تحياتي للجميع 1
سمير نجار قام بنشر ديسمبر 13, 2018 قام بنشر ديسمبر 13, 2018 (معدل) 16 ساعات مضت, شوقي ربيع said: اولا شكرا اخي سمير لهتمامك بالموضوع و و اضح جدا من الملف الذي ارسلته انك درست الملف جيدا ....احسنت اخي سمير بل كل الشكر لك استاذي الكريم ونفعنا الله بعلمك وجزاك الله كل خير تم تعديل ديسمبر 13, 2018 بواسطه سمير نجار 1
مهند الزيدي قام بنشر أبريل 22, 2019 قام بنشر أبريل 22, 2019 شكر للاخ شوقي ربيع ..عمل رائع وفقك الله لكل خير .. بخصوص موضوع التحقق من عدم ادخال اسماء مكررة واتأكد منها عن طريق اظهار رسالة توضح تكرار الاسم ..ممكن تعديل الملف لتحقيق ذلك
الردود الموصى بها