sayed_hu95 قام بنشر يوليو 13, 2016 قام بنشر يوليو 13, 2016 سؤال الى اهل الخبرة عندي 100 جدول والمشكلة اني احتاج الى تغيير نوع البيانات في احد الحقول من نص الى رقم ولا اريد ان ادخل الى الجداول واحد تلو الاخر وانما ابحث عن طريقة اخرى للتغيير لجميع الجداول حيث ان الحقل مكرر بنفس الاسم في جميع الجداول
ابوخليل قام بنشر يوليو 13, 2016 قام بنشر يوليو 13, 2016 طلبك يمكن تحقيقه ولكن : التغيير من نص الى رقم يختلف عن العكس يجب ان تأخذ في الحسبان ان الحقل في جميع الجداول لا يحتوي على قيمة نصية مثل الحروف والرموز والا سيظهر معك اخطاء ولن يتم تنفيذ الكود بصورة صحيحة
jjafferr قام بنشر يوليو 13, 2016 قام بنشر يوليو 13, 2016 حيالله أخوي اوخليل انا شغال على المطلوب ، وكنت مخلّص ، لولا الكمبيوتر تعّبني شوي جعفر
ابوخليل قام بنشر يوليو 13, 2016 قام بنشر يوليو 13, 2016 انا عندي كودين اثنين جاهزين بطريقتين وكنت انتظر الرد من السائل لانه لا بد ان تكون الحقول خالية او انها تحتوي على ارقام فقط حتى يعمل الكود بدون مشاكل
jjafferr قام بنشر يوليو 13, 2016 قام بنشر يوليو 13, 2016 ما دام الكودين جاهزين ، فخلينا نستفيد منهم ، وانت دائما خير وبركة جعفر
ابوخليل قام بنشر يوليو 13, 2016 قام بنشر يوليو 13, 2016 حبا وكرامة تفضلوا : على اعتبار اسم الحقل في جميع الجداول = id هذا الاول Dim dbs As Database Dim Table As TableDef 'On Error Resume Next Set dbs = CurrentDb DoCmd.SetWarnings False For Each Table In dbs.TableDefs If Not Table.Name Like "MSys*" Then DoCmd.RunSQL "ALTER TABLE " & Table.Name & " ALTER COLUMN id INTEGER" End If Next DoCmd.SetWarnings True Set dbs = Nothing MsgBox "تم" وهذا الثاني Dim rs As Recordset Dim strSQL As String Dim strTable As String strSQL = "SELECT MSysObjects.Name " & vbCrLf & _ "FROM MSysObjects " & vbCrLf & _ "WHERE (((MSysObjects.Type)=1) AND ((Left([name],4))<>""msys"")) " & vbCrLf & _ "ORDER BY MSysObjects.Name;" Set rs = CurrentDb.OpenRecordset(strSQL) DoCmd.SetWarnings False Do Until rs.EOF strTable = rs!Name DoCmd.RunSQL "ALTER TABLE " & strTable & " ALTER COLUMN id INTEGER" rs.MoveNext Loop DoCmd.SetWarnings True Set rs = Nothing MsgBox "تم" ولكنك قلت انك شغال على المطلوب وكنت مخلص يعني لاهنت نريد الحل الثالث حتى لو فيه توارد خواطر فلن نعدم فائدة 4
jjafferr قام بنشر يوليو 14, 2016 قام بنشر يوليو 14, 2016 السلام عليكم أخوي ابوخليل كنت اتمنى اخلص "البرنامج" البارحة ، بس للأسف ما قدرت الكود اللي وضعته انت ، هو لُب الموضوع ، بينما انا شغال على برنامج خارجي ، يعطيك اختيار الجداول اللي تريد تغير الحقل فيها ، فهذا يأخذ شوية وقت زيادة السبب اني اتجهت الى هذه الطريقة هي اني اعتقد ان استخدام برنامج خارجي لن يُربك المستخدم وبرنامجه (لا تنسى اني ما اتكلم عن كود فقط ، وانما نموذج ووحدات نمطية) يالله ، ان شاء الله اخلص وارفقه ، لزيادة المعلومة جعفر 2
jjafferr قام بنشر يوليو 14, 2016 قام بنشر يوليو 14, 2016 السلام عليكم هذه طريقة تغيير نوع البيانات في الجدول/الجداول ، لحقل بنفس الاسم في جميع الجداول ، ولكن بإستعمال برنامج خارجي نفترض اننا نريد ان نغير في قاعدة البيانات التالية: والان الى برنامجنا: 1. اختار قاعدة البيانات المطلوبة ، 2. ستظهر لك قائمة اسماء الجداول في قاعدة البيانات المختارة (لاحظ ان الجدول المرتبط لا يظهر لنا) ، 3. يمكن تصفية اسماء الجداول عن طريق كتابة الاحرف الاولى منه ، تسهيلا لعملية اختيار الجداول ، 4. عند النقر على اسم الجدول ، تظهر لنا اسماء الحقول فيه ، 5. وعند النقر على اسم الحقل ، يظهر لنا نوع بيانات الحقل ، 6. وهنا نختار نوع البيانات الذي نريد تحويل الحقل اليه ، 7. هنا 3 طرق لإختيار الجداول والتي نريد تغيير نوع بيانات حقل معين فيها: التصفية باختيار اول حرف/حروف الجدول/الجداول ، من الحقل رقم 3 ، يمكن اختيار جدول مباشرة من الحقل 2 ، ثم الضغط على زر الكيبورد Ctrl ، والنقر على بقية الجداول ، استخدام الحقل 7 ، حيث يختار جميع الجداول او لا يختارها (ونستطيع استعماله مع تصفية الحقل 3 ، 8. هذا الزر يقوم بنصف العمل ، بتكوين حقل مؤقت في جميع الجداول المختارة بنوع البيانات المطلوبة ، ونسخ البيانات اليه ، ولا يحذف الحقل الاصل من الجدول (وقد عملت هذا بناء على ملاحظة أخي ابوخليل ، حيث ان بيانات الحقل قد لا تكون مطابقة ، فبدل ان تُحذف هذه البيانات ، يمكن مقارنتها بعد هذه العملية) ، 9. يقوم بتغيير نوع البيانات في جميع الجداول المختارة (وهو ما يقوم به برنامج أخي ابوخليل ، وبدون هذه الزركشة والزخرفة ) جعفر 403.Change_DataType.mdb.zip 3
ابوخليل قام بنشر يوليو 14, 2016 قام بنشر يوليو 14, 2016 يا سلام عليك صح الآن فهمت يعني لو اني كتبت الكود داخل برنامجي ثم عدلت خلاص تنتهي مهمته ولو احتجته مرة ثانية في برنامج آخر لازم اكتبه مرة خرى فانت عملت هذا لنا مساند ومساعد عند الحاجة فحسنا فعلت لاخوانك جزاك الله خيرا وشكرا لتعبك وجهدك 3
أبو عبدالله الحلوانى قام بنشر يوليو 15, 2016 قام بنشر يوليو 15, 2016 13 ساعات مضت, ابوخليل said: يا سلام عليك وتقول: ، يعني بعدك مصدقك ان كل العمانية سِحّار يكفينا منهم واحد سلمت لنا وسلم لنا أبوخليل (وكل الأحبة جميعا)
jjafferr قام بنشر يوليو 15, 2016 قام بنشر يوليو 15, 2016 15 ساعات مضت, ابوخليل said: يا سلام عليك صح الآن فهمت كلمات شكر افتخر بها من اخ عزيز في الواقع اخذت راحتي في البرنامج ، وجعلته ارضية جاهزة لأشياء اخرى نستطيع ان نقوم بها لبرامج اخرى "عند بُعد" وجعلته بصيغة mdb لتعم الفائدة ، والمكتبات جعلتها تعمل على الاكسس 32بت و 64بت وعند الانتهاء من البرنامج ، خطر في بالي ان الزر رقم 8 يجب ان نتوسع به: نغير مسمى الزر الى "تجربة" ، نجعله يأخذ نسخة من قاعدة البيانات المطلوب العمل عليها ، نجعل الكود يتم العمل بالكامل على النسخة الاحتياط ، ثم يعطي تقرير عن قيم الحقول المختلفة قبل وبعد تغيير نوع البيانات فقط للجداول اللي فيها مشاكل في تحويل البيانات. واللي يريد يضيف ويعدل ، اهلا وسهلا به 2 ساعات مضت, أبو عبدالله الحلوانى said: سلمت لنا وسلم لنا أبوخليل (وكل الأحبة جميعا) حياك الله اخوي أبوعبدالله ، ياللي مدلعني جعفر
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.