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

طريقة لتغيير نوع البيانات


ام ناصر

الردود الموصى بها

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

لدي استفسار عن طريقة اخرى لتغيير نوع بيانات حقل  غير الطريقة المتعارفة عليها وهي فتح الجدول بوضع التصميم وتغيير نوع بيانات الحقل .

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

ارجو من لديه رأي في هذا الموضوع يفيدنا فيه مع الشكر والقدير مقدما .

رابط هذا التعليق
شارك

اتفضلي

اليك هذا الكود

مثلا عندك جدول باسم تابل 1 و حقل باسم موبايل ونوعيته هو تيكست وتريد تتغير الى نمبر استخدم هذا الكود

Dim db As DAO.Database
	Set db = CurrentDb
		Dim strSQL As String
strSQL = "ALTER TABLE Table1 ALTER COLUMN mobile INTEGER"
	db.Execute strSQL
		Set db = Nothing

او بلعكس من نمبر الى تيكست اسنخدم هكذا

strSQL = "ALTER TABLE Table1 ALTER COLUMN mobile TEXT(10)"

هناك ملاحظة : لا يجوز ان تستخدم الكود بواسطة نموذج مصدره ذلك الجدول

تم تعديل بواسطه Shivan Rekany
  • Like 2
رابط هذا التعليق
شارك

20 ساعات مضت, Shivan Rekany said:

اتفضلي

اليك هذا الكود

مثلا عندك جدول باسم تابل 1 و حقل باسم موبايل ونوعيته هو تيكست وتريد تتغير الى نمبر استخدم هذا الكود


Dim db As DAO.Database
	Set db = CurrentDb
		Dim strSQL As String
strSQL = "ALTER TABLE Table1 ALTER COLUMN mobile INTEGER"
	db.Execute strSQL
		Set db = Nothing

او بلعكس من نمبر الى تيكست اسنخدم هكذا


strSQL = "ALTER TABLE Table1 ALTER COLUMN mobile TEXT(10)"

هناك ملاحظة : لا يجوز ان تستخدم الكود بواسطة نموذج مصدره ذلك الجدول

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

رابط هذا التعليق
شارك

الان, ام ناصر said:

هل من الممكن في اكسس ان تتغير نوع بيانات احد الحقول فجأة من دون تدخل المستخدم في شي برمجي

حسب فهمي لا ليس ممكن .. إلا اذا

* المبرمج اعطاه الكود في وقت محدد ان يغير شيء هكذا
 

الان, ام ناصر said:

صار هالشي بحقل واحد فقط واثر على سير العمل ؟

ما هو نوع ذاك الحقل من قبل والان صار اي ؟ ممكن توضيح اكثر لان ما افكر ان يحدث هذا الامر 

  • Like 1
رابط هذا التعليق
شارك

2 ساعات مضت, Shivan Rekany said:

حسب فهمي لا ليس ممكن .. إلا اذا

* المبرمج اعطاه الكود في وقت محدد ان يغير شيء هكذا
 

ما هو نوع ذاك الحقل من قبل والان صار اي ؟ ممكن توضيح اكثر لان ما افكر ان يحدث هذا الامر 

النسخة المسلمة للمستخدم مقفولة الاستخدام ككود اما نوع الحقل من قبل كان short text وبعدها وجدته date/time  .

رابط هذا التعليق
شارك

الان, ام ناصر said:

نوع الحقل من قبل كان short text

حسب معرفتي ليس هناك نوع بهذا بل هناك نوع Text فقط

و يوجد ايضا نوع Date/Time ومنه بيأخذ Short Date

هذا والله يعلم

م.2004.شفان ريكاني

  • Like 1
رابط هذا التعليق
شارك

في 6/8/2017 at 02:53, ام ناصر said:

النسخة المسلمة للمستخدم مقفولة الاستخدام ككود اما نوع الحقل من قبل كان short text وبعدها وجدته date/time  .

هل الجدول ده بيتم استيراد بيانات اليه من اكسل ؟

تم تعديل بواسطه ابا جودى
  • Like 1
رابط هذا التعليق
شارك

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

  • Like 1
رابط هذا التعليق
شارك

في 6/7/2017 at 22:32, ام ناصر said:

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

يمكن ان العميل يدخل على تصميم الجدول ويغير نوع البيانات ؟ هل تضمن عدم ذلك @ام ناصر

في 6/8/2017 at 23:23, sandanet said:

 لكني صراحة  

لكنك صراحة ماذا ؟ الصراحة مشاركاتك لها طعم خاص اخي @sandanet

تحياتي للجميع

  • Like 1
رابط هذا التعليق
شارك

8 ساعات مضت, رمهان said:

لكنك صراحة ماذا ؟ الصراحة مشاركاتك لها طعم خاص

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

رابط هذا التعليق
شارك

في ٨‏/٦‏/٢٠١٧ at 02:53, ام ناصر said:

النسخة المسلمة للمستخدم مقفولة الاستخدام ككود

هناك يجب ان ترجع للمبرمج ... اي من عمل البرامج لك ارجعه واسأل عنه ... لان نحن لا ارى كما ترى انتي ..

ولكي لا نتجاوز الحدود الملكية الفكرية والا كان اقولك ارفق نسخة من قاعدة بيانات وليس هناك المشكلة ان يكون رقم سري على الاكواد

م.2014.شفان ريكاني

تم تعديل بواسطه Shivan Rekany
رابط هذا التعليق
شارك

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

لا بد من الرجوع الى التصميم لمعرفة الخطا الموجود وانا اقترح ان ترسل ام ناصر صورة للبرنامج توضح فيها الخطا الموجود

والله اعلم

رابط هذا التعليق
شارك

في ٨‏/٦‏/٢٠١٧ at 10:04, Shivan Rekany said:

حسب معرفتي ليس هناك نوع بهذا بل هناك نوع Text فقط

و يوجد ايضا نوع Date/Time ومنه بيأخذ Short Date

هذا والله يعلم

م.2004.شفان ريكاني

في اصدار 2013 يوجد نوع بيانات short text  اما اصدار 2007 فيوجد text فقط 

في ٨‏/٦‏/٢٠١٧ at 12:35, ابا جودى said:

هل الجدول ده بيتم استيراد بيانات اليه من اكسل ؟

لا فقط تحديث بيانات من جدول لآخر

 استاذ @sandanet

في هذا الجدول لا استورد  بيانات ملف اكسل  وانما تحديث بيانات من جدول لآخر في قاعدة البيانات  .

 

  • Like 1
رابط هذا التعليق
شارك

17 ساعات مضت, رمهان said:

يمكن ان العميل يدخل على تصميم الجدول ويغير نوع البيانات ؟ هل تضمن عدم ذلك @ام ناصر

 

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

رابط هذا التعليق
شارك

في 6/8/2017 at 01:53, ام ناصر said:

النسخة المسلمة للمستخدم مقفولة الاستخدام ككود اما نوع الحقل من قبل كان short text وبعدها وجدته date/time  .

بارك الله لكم جميعا أحبتي في الله

ربما يكون المخزن في الحقل النصي تواريخ

فأثناء التحديث تم قراءة المحتويات وتغيير النوع إلى تاريخ

كل هذه افتراضات نظرية

والعملي هو إرفاق الجزء الخاص بالمشكلة من البرنامج ومراجعة الكود

موفقين إن شاء الله

  • Like 1
رابط هذا التعليق
شارك

3 ساعات مضت, أ / محمد صالح said:

بارك الله لكم جميعا أحبتي في الله

ربما يكون المخزن في الحقل النصي تواريخ

فأثناء التحديث تم قراءة المحتويات وتغيير النوع إلى تاريخ

كل هذه افتراضات نظرية

والعملي هو إرفاق الجزء الخاص بالمشكلة من البرنامج ومراجعة الكود

موفقين إن شاء الله

ويبارك فيك استاذنا الفاضل 

فعلا القيمة المخزنة في الحقل النصي هي تاريخ ولكن قد تم استخدام البرنامج فترة طويلة ولم تحدث مثل هذه المشكلة!  

كذلك هو الحال في استيراد البيانات من جهاز البصمة فجميع نوع بيانات التواريخ المستخدمة هي  short text لانها تأتي كنوع نصي وترفق لجدول قاعدة البيانات بنفس النوع ولم نلاحظ مشكلة من هذا القبيل . 

تم تعديل بواسطه ام ناصر
رابط هذا التعليق
شارك

أرى أن ما حدث ليس مشكلة وإنما هو حل لمشكلة

فالأفضل تخزين التاريخ في حقل من نوع تاريخ وليس نصا

ويمكن تحويل النص لتاريخ باستخدام

cdate(fieldname)

وربما لو تم تحديد نوعية المشكلة الناتجة عن تغيير نوع البيانات لأمكن حلها

  • Like 1
رابط هذا التعليق
شارك

الحقيقة لم يمر علي ان يتغير نوع البيانات تلقائي فالاكسس يمنع ذلك في الاصل فكل نوع له مدى من القبول من البيانات

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

المهم في الامر ان البيانات الموجوده على شكل تاريخ  سواء كان النوع نص ام تاريخ وهنا تظهر الفكرة التالية

قبل عملية التحديث اشيك على نوع البيانات اذا كان نص يحدث الامر تحديث باعتبار انه نص واذا تاريخ تحديث باعتبار انه تاريخ وهنا لن يحدث خطا بجملة التحديث

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

تحياتي

  • Like 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • اضف...

Important Information