الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

محول قواعد بيانات الأكسس إلى ماي إس كيو إل

بدأه mas123 في 17 يناير 2010 · 36 رد · 5,172 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#26
إبرهيم كتب:

أستاذي الكبير .. محمد صالح ..

جعل الله كل عمل لك في هذا المنتدى الغالي في موازين حسناتك .. فقد أستفدت كثيراً من دروسك القيمة وكذلك من دروس الدكتورة .. الأخت زهرة .. والأستاذة الكرام ..

أستاذي أنا جربت البرنامج ولم يعمل معي .. فهل يحتاج إلى ملفات خاصة لابد أن تكون في النظام .. مع أنه واضح من الشرح أن البرنامج بسيط في استخدامة ..

وشكراً لك أستاذي ...

اشرح لي كيف لك يعمل معك؟

هل لم يقم البرنامج بتصدير ملف sql وملف مضغوط بجوار البرنامج؟

أم هل يوجد أخطاء في استيراد الملفات إلى phpmyadmin

؟

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

#27

أستاذي .. محمد صالح ..

شكراً لك على ردك ..

وأود أن أوضح لك أنني قد قمت باختيار ملف الأكسيس من القائمة وقمت بضغط الزر كما موضح في الشرح ولم يتم إظهار أي ملفات إضافية ولا أعرف هل المشكلة عندي أم ماذا ؟

وشكراً لك ..

#28

السلام عليكم ورحمة الله وبركاته

لعل تكون هذه الخطوة الأولى أو الخطوط العريضة لفكرة التحويل العكسي ... مع علمي أنها ناقصة وغير عملية والأكواد غير مرتبة ... لأن الملف الذي إشتغلت عليه ليس به علاقات وليس كل أنواع الحقول موجودة ... فقط جدول بسيط .. فقد لا يعمل على أي ملف كود SQL آخر غير الموجود في المرفق

ولكن لغرض اكتساب الخبرة بدأت به والحمد لله ... الآن يستطيع البرنامج أن يقرأ ملف كود SQL ثم يحلل كلماته ... ثم ينشئ جدول داخل البرنامج

وستجدون في المرفق قاعدة بيانات وبجانبها ملف كود إس كيو إل ... تستطيع التجربة عليه

وأخيرا اشكر أستاذي محمد صالح على افكاره ... ومشرفنا أكسير الحياة الذي حمسنا لخوض هذه التجربة

والحمدلله رب العالمين أولا وآخرا

koao_SQLtoACCESS.zip

اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

#29
إبرهيم كتب:

أستاذي .. محمد صالح ..

شكراً لك على ردك ..

وأود أن أوضح لك أنني قد قمت باختيار ملف الأكسيس من القائمة وقمت بضغط الزر كما موضح في الشرح ولم يتم إظهار أي ملفات إضافية ولا أعرف هل المشكلة عندي أم ماذا ؟

وشكراً لك ..

أخي الكريم إبراهيم

ربما يكون نظام التغيل لديك ينقصه بعض الملفات فقم بتحديث نسختك من موقع ميكروسوفت

أو ربما يوجد نقص في ملفات الأوفيس فيمكنك إعادة تثبيته أو تثبيت نسخة أحدث 2007 أو 2010

لأن البرنامج يعمل على أكثر من جهاز (حديث) بعد التجربة

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

#30
koao كتب:

السلام عليكم ورحمة الله وبركاته

لعل تكون هذه الخطوة الأولى أو الخطوط العريضة لفكرة التحويل العكسي ... مع علمي أنها ناقصة وغير عملية والأكواد غير مرتبة ... لأن الملف الذي إشتغلت عليه ليس به علاقات وليس كل أنواع الحقول موجودة ... فقط جدول بسيط .. فقد لا يعمل على أي ملف كود SQL آخر غير الموجود في المرفق

ولكن لغرض اكتساب الخبرة بدأت به والحمد لله ... الآن يستطيع البرنامج أن يقرأ ملف كود SQL ثم يحلل كلماته ... ثم ينشئ جدول داخل البرنامج

وستجدون في المرفق قاعدة بيانات وبجانبها ملف كود إس كيو إل ... تستطيع التجربة عليه

وأخيرا اشكر أستاذي محمد صالح على افكاره ... ومشرفنا أكسير الحياة الذي حمسنا لخوض هذه التجربة

والحمدلله رب العالمين أولا وآخرا

محاولة جيدة اخي خالد

ولكن ما نريده أن يتم قراءة أي ملف sql وتحويله لجداول وسجلات بهذه الجداول

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

#31

السلام عليكم ورحمة الله وبركاته

أستاذي محمد صالح ...لذا اتمنى منك إرفاق أكثر من ملف SQL وتجعل كل ملف يمثل قاعدة بيانات متكاملة بها أكثر من جدول ويكون بين هذه الجداول علاقات وتكون الحقول متنوعة ولها خصائص إفتراضية ومعدلة ...

لنتمكن من الوصول لحل شامل ... بمساعدتكم وبمساعدة أساتذتنا الكرام ... بعد عون الله عز وجل

اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

#32

أخي خالد

شكرا لتواصلك ومحاولتك

ولكن يبدو أن الموضوع شااااق جدا

نظرا لاختلاف البرامج التي تنشء ملف sql

منها phpmyadmin باختلاف اداراتها

ومنها mysqldump

ومنها برنامجنا mas-access2mysql

وكل من هذه البرامج له أيلوبه في كتابة ملف sql

فبالإضافة للنموذجين المرفقين سابقا

يوجد مثال يعتمد على جعل جملة insert واحدة لكل سجلات الجدول وليس لكل سجل سطرا

مثال

INSERT INTO `table1` (`FriendID`, `LastName`, `FirstName`, `Birthdate`, `Phone`, `Notes`) VALUES
(1, 'محمد', 'صالح', '0000-00-00 00:00:00', '122222', 'لا إله إلا الله'),
(2, 'خالد', 'koao', NULL, '2222222222', 'محمد رسول الله');

ومنها ما يقوم بحذف قائمة الحقول من جملة insert هكذا

INSERT INTO `table1`  VALUES(1, 'محمد', 'صالح', '0000-00-00 00:00:00', '122222', 'لا إله إلا الله'),(2, 'خالد', 'koao', NULL, '2222222222', 'محمد رسول الله');

ومنها ما يحذف قائمة الحقول ويجعل لكل سجل سطرا

وليس معنى هذا اليأس

ولكن الاعتراف مبدئيا بصعوبة الموقف

هذا بالنسبة لجملة insert

أما بالنسبة لجملة create

فالصعب فيها تغيير نوع البيانات بين mysql وأكسس

وأيضا خصائص الحقول

وأيضا القيمة الافتراضية للحقول

والله الموفق

وبانتظار محاولات الأساتذة الكبار

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

#33

السلام عليكم ورحمة الله...

أتفق مع الأخ محمد في أن الأمر ليس بالسهولة التي يبدو عليها، ومن أجل إنتاج أدوات احترافية بأيدٍ مسلمة، فإن وقتاً وجهداً أكبر ينبغي أن يصرف في التصميم (أعني تصميم الحل)، والانتباه للتفاصيل، لأن الكثير من الأدوات الاحترافية متوفر بالفعل... لكن مثل هذه المبادرات هي بدايات جيدة من أجل الاحتكاك واكتساب المعرفة ثم الخبرة...

على كل حال، هذا يحتاج للشخص المناسب، المتفرغ، ذي الاهتمام بهذا الموضوع خصوصاً، لأن الدافع مثل الوقت، وقود مهم... أكثرنا ليس هذا الشخص للأسف، ولكن لأنني بعيد عن برمجة قواعد البيانات منذ فترة طويلة، فإنني أحب مثل هذه التمارين بين وقت وآخر...

مشاركتي هنا تأتي تعقيباً على مشاركة الأخ Koao، في التحويل العكسي. أنا مثله لا أملك أي SQL script غير الذي أرفقه الأخ محمد، لكن لي ملحوظة على الكود الذي تفضل به من باب تبادل الرأي، وهذا يحث عليه ما يبدو في الكود من قاعدة برمجية جيدة، وصبر محمود. ما أريد ان أشير إليه هو أن الكود يغفل عن التشابه الواضح في عبارات SQL بين برامج إدارة قواعد البيانات. هذا التشابه من الممكن أن يستغل في اختصار التحويل باستخدام أكبر قدر ممكن من الـ ()Replace، ثم تنقيح المشاكل الأخرى بمزيد من المعالجة. من ناحية أخرى، ينبغي التخلص من بعض الأجزاء الأقل مرونة، والتي تجعل استخدام الكود صعباً مع معطيات مختلفة؛ مثلاً، تم تثبيت الجزء (11) int في الكود، رغم أنه من الممكن أن يكون حجم الرقم مختلفاً. وعلى كل حال، أنا على علم بأن هذا الكود هو مجرد تجربة أولية، لكن أحببت أن أشارك بفكرة أكثر مرونة، ربما يود أحدهم أن يستفيد منها فيما بعد. تعمدت أن يكون الكود المرفق مرناً حتى يسهل تطويره من أجل عدة جداول، ومختلف السيناريوهات. كما أنه أكثر اختصاراً، ولمن لم يكن له اهتمام البتة في التحويل، فإن هناك بعض الأفكار العامة المفيدة من مثل اكتشاف وجود جدول، وتغيير حقل إلى ترقيم تلقائي برمجياً، وبعض طرق معالجة النصوص...

أيضاُ، حاولت كتابة تعليقات مفتاحية من أجل فهم الكود، لكن المستوى الجيد للمشاركين في الموضوع جعلني أميل إلى الكسل في اختصار التعليقات إلى الخطوط العامة فحسب. وهي في الأخير مجرد محاولة، وقد كانت تمريناً جيداً...

koao_SQLtoACCESS.rar

1
#34

السلام عليكم ورحمة الله وبركاته

أستاذي الكريم .. أحمد مبارك الحيقي .. لشرف لي أن يذكر إسمي في مشاركتك .. وتعقيبك على محاولتي ... وأعجبني أنك لم تغلق الباب في وجه محاولتي .. إنما أخذت من وقتك الكريم ... لتقيم وتحلل المحاولة .. وإعطاء رأيك في توجيه المحاولة للنجاح .. فشكرا لك

ما تفضلت به إستاذي .. يلخص عادة سيئة في مهارتي البرمجية .. وهي أني أكتب الكود وإذا واجهتني مشكلة في سير الكود أوجد لها حل ... ولا أفعل كما تفعل أنت وأساتذتي الكبار في هذا المنتدى .. بأن يجب أن أفهم الهدف من البرنامج وأحلل الإحتمالات والمدخلات والمعطيات .. ثم أخطط لكتابة الكود ... ثم أشرع في كتابة الكود ... وهذا الشئ قد نبهني له أكثر من أستاذ في هذا المنتدى ... ولكن أبو طبيع ما يغير طبعه

وهذا كان سبب تكدس الأكواد في محاولتي والتعريفات مبعثرة هنا وهناك .. وفي المقابل الإحترافية التي كتب فيها كود شخصكم الكريم

وما عليه ما نقول إلا تحملوا تلميذكم المجتهد

نأتي لرأيك في الكود .. وأقول أنا إستخدمت في قراءة تعليمة الإس كيو إل ... المؤشر متمثلا بالمتغير c بحيث أنه ينتقل من حرف إلى الحرف الآخر .. وإذا وجد الكلمة المستهدفة يقفز المؤشر للكلمة التي بعدها .... أما أنت أستاذي ... فكان تفكيرك أفضل وقلت في نفسك ... أنا عندي تعليمة SQL مصدرة من أحد برامج إدارة قواعد بيانات المواقع ... وكتبت أنت ما يقابلها من تعليمة SQL يفهمها برنامج الأكسيس ... وعلى هذا الأساس سهلت على نفسك .. بأن تستبدل ما لا يفهمه الأكسيس بما يفهمه .. والإبقاء على ما هو مشترك بينهما ... بإستخدام الوظيفة Split

ويا أستاذي الكريم ... أشهد الله أنك مبرمج محترف ... يجب إحترامه وتقديره ... على هذه الآلية في التحليل والتفكير ... بارك الله بك وبعلمك في الدنيا والآخرة ... لأن هذه الطريقة تكون أحرى بأن تصيب الهدف لأي كود SQL مهما كان تعقيده وصعوبته

وإذا سمحت لي .. ليكتمل النصاب ... أن هناك خاصية للحقل ذو النوع الترقيم التلقائي ... أغفلت في برنامج ... وهي مقدار الزيادة ... لذا إذا سمحت لي أن نغير في سطر واحد من الكود ليكون كالتالي

    Dim IncValue As String
    IncValue = Mid(sTemp, InStr(sTemp, "AUTO_INCREMENT=") + 15, InStr(sTemp, " ;") - (InStr(sTemp, "AUTO_INCREMENT=") + 15))

    ' Having the name of the Autoincremented field in sCounter, alter the column definition so
    DoCmd.RunSQL "ALTER  TABLE " & sTableName & " ALTER COLUMN " & sCounter & " AUTOINCREMENT(1," & IncValue & ")"

وأخيرا .... أشكرك لتعليقك وملاحظاتك ... وأسال الله أن يجزاك خير ويجمعنا ووالدينا ومن يقرأ في دار كرامته

والحمدلله رب العالمين أولا وآخرا

تم تعديل هذه المشاركة بواسطة koao في 22 يناير 2010 في 21:30

اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

#35

الاستاذ / محمد صالح

جزاك الله خيرا وزادك علما ورفعة

ونتمنى فى القريب برنامج لتحويل الأكسيس الى فيجوال بيسك

( سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم )

#36

شكرا لتواصل الإخوة

والحمد لله تم حل كل مشاكل جملة insert في أي ملف sql

ويبقى فك رموز جملة create وتحويل أنواع البيانات بين mysql و msaccess

وبإذن الله سوف أعرض الملف كاملا بعد التوصل لفك كل ألغاز جملة create table

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

#37

السلام عليكم ورحمة الله وبركاته

تم الانتهاء من تصميم البرنامج الذي يحول بين النوعين من قواعد البيانات

تجدونه هنـــا

تم تعديل هذه المشاركة بواسطة mas123 في 28 يناير 2010 في 23:11

1

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…