PDA

View Full Version : سئوال: تغيير نوع فيلد بدون تغيير نام فيلد ؟



Profesorjd
یک شنبه 29 اردیبهشت 1387, 20:02 عصر
سلام
چگونه ميشود نوع فيلدهاي يك جدول موجود كه محتوي اطلاعات متناسب با تغيير نوع آن است ( مثلاً در يك فيلد تكست كه عدد وارد شده و ميخواهيم تبديل به فيلد عددي شود )
تغيير داد بدون اينكه نام آن تغيير كند .
نكات :
1- جدول هر از گاه مي‌بايد تغيير نوع فيلد يابد بنابراين با استفاده از ديزاين جدول ، منطقي نيست .
2- با استفاده از CInt يا CLng و ساخت جدول جديد ، انجام دادم ولي نام فيلد عوض ميشود و مشكل اين است كه بايد دوباره نام فيلدها هم به نام اولشان برگرداند .
با تشكر بسيار .

mazoolagh
یک شنبه 29 اردیبهشت 1387, 21:28 عصر
شاید من درست متوجه منظور شما نشده باشم ولی بنظر میاد اشکال اصلی در روش پیاده سازی هست.

Profesorjd
یک شنبه 29 اردیبهشت 1387, 22:43 عصر
سلام
1- اگر منظورتان جدول اوليه است اولاً تحت داس است كه بعد از كانورت به اكسس تحويل ميشود . ثانياًً اينكه نوع فيلدها تكست است بخاطر نياز واحد مربوطه است . و ما جدول را بخاطر كارهاي آماري تحويل ميگيريم و نتيجه اينكه براي ساخت كوئري و كنترلهاي بعدي ضرورت دارد تبديل به عدد شود .
2- هر جدول حدود 150 فيلد دارد كه تقريباً نوددرصد آن ميبايد تبديل شود . مثلاً فيلدهاي تاريخ استخدام تاريخ شغل و تاريخ حقوق همگي تكست هستند كه براي كارهاي آماري مي‌بايدتبديل به فيلد عددي شوند ( نه تاريخ) .
3- استفاده از ديزاين جدول هر دفعه خسته كننده است . من با توابعي كه گفتم تبديل به عدد ميكنم ولي چون اين جدول جديد به بخشهاي مختلف ارسال ميشود و كوئريهاي ساخته شده مبتني به نام فيلد هستند هردفعه ميبايد نام فيلدها را هم تصحيح كنم .
4- مقايسه نام فيلدها و تصحيح آن آنهم حدود 150 فيلد مشكل را دو چندان ميكند ضمن آنكه بايد هم حواسم باشد كه تبديل فيلدهايي كه لازم است انجام شود و هم اسم آن نامتناسب نباشد و هم با كوئريها هماهنگ باشد كه مراجعه به ليستهاي مختلفي را ميطلبد كه سخت تر ميشود !!!

mazoolagh
دوشنبه 30 اردیبهشت 1387, 20:51 عصر
خوب این موضوع تغییر نام فیلد چیست؟

Profesorjd
دوشنبه 30 اردیبهشت 1387, 22:29 عصر
با سلام و تشكر
1- مثلاً‌ نام فيلد تاريخ استخدام (D_Vorod) و تكست است . با كوئري Update يا MakeTabel اينگونه عمل ميكنم كه
D_Vorod: CLng([D_Vorod])
كه پيغام نام تكراري ميدهد . اگر بخواهم نام فيلد را عوض كنم بايد تمام كوئريهايي كه براي آمارگيري و موارد ديگر دارم اصلاح كنم كه كار سختي است .
2- بنظرم راه حلش را يافتم :
2/1 - يك كپي از جدول بدون محتوي درست كردم و تغييرات فيلد را اعمال كردم . با كوئري جدولساز يك جدول مشابه ميسازم و با استفاده از ماكرو جدول درست شده را آپديت ميكنم ( راه سخت ولي يكبار )
2/2- بعد از CLng يك Val ناقابل گذاشتم تغيير فيلد را با همان نام قبلي انجام داد !
از شما دوست گرامي كه وقت براي سئوالم گذاشتيد هم تشكر ميكنم