View Full Version : ادغام فیلد ها
raika17metal
سه شنبه 22 مرداد 1387, 21:03 عصر
دوستان من سه تا فیلد به ترتیب برای سال، ماه و روز دارم تو بانک دارم.
میخوام ضمن حفظ این سه تا یه فیلد دیگه ایجاد کنم که این سه تا رو با هم ترکیب کنه و به صورت یک تاریخ استاندارد شمسی در بیاره باید چی کار کنم؟
اوبالیت به بو
سه شنبه 22 مرداد 1387, 21:33 عصر
بايد به صورت رشته دربياريد (تابع Str) و با عملگر & به هم بچسبونيد.
roomezonline
سه شنبه 22 مرداد 1387, 22:34 عصر
دوستان من سه تا فیلد به ترتیب برای سال، ماه و روز دارم تو بانک دارم.
میخوام ضمن حفظ این سه تا یه فیلد دیگه ایجاد کنم که این سه تا رو با هم ترکیب کنه و به صورت یک تاریخ استاندارد شمسی در بیاره باید چی کار کنم؟
فرضيات برنامه
text1.text=day
text2.text=month
text3.text=year
text4.text=text3.text & text2.text & text1.text
sohrab o
چهارشنبه 23 مرداد 1387, 00:10 صبح
چرا این کارو میخوای بکنی؟
هر موقع خواستی مقدار این 3 فیلد رو با هم ترکیب کن.
این طوری بانکت فضای کمتری اشغال میکنی و افزونگی داده پیدا نمیکنه؟!
roomezonline
چهارشنبه 23 مرداد 1387, 00:21 صبح
چرا این کارو میخوای بکنی؟
هر موقع خواستی مقدار این 3 فیلد رو با هم ترکیب کن.
این طوری بانکت فضای کمتری اشغال میکنی و افزونگی داده پیدا نمیکنه؟!
براي جلوگيري از فزودني داده ميتوني از دستور trim(text.text) استفاده كني
sohrab o
چهارشنبه 23 مرداد 1387, 01:19 صبح
براي جلوگيري از فزودني داده ميتوني از دستور trim(text.text) استفاده كني
متوجه نمیشم ، یعنی چی؟
از دستور trim؟
این دستور واسه پاک کردن space در اول و آخر رشتست ،منظور من این بود که 2 با اطلاعات در بانک ذخیره میشه
m_vb1386
چهارشنبه 23 مرداد 1387, 08:58 صبح
یک برنامه نمونه گذاشتم که فیلدهاتون رو ادغام میکنه فقط نمیدونم چرا پیغام خطا هم میده اگه میشه یکی بگه مشکلش چیه؟
البته کویری های بانک اکسس که تو برنامه هم هست درست کار میکنه اما تو بیسیک که دستوراتsql همون کویری رو کپی میکنم خطا میده
sohrab o
چهارشنبه 23 مرداد 1387, 11:39 صبح
یک برنامه نمونه گذاشتم که فیلدهاتون رو ادغام میکنه فقط نمیدونم چرا پیغام خطا هم میده اگه میشه یکی بگه مشکلش چیه؟
البته کویری های بانک اکسس که تو برنامه هم هست درست کار میکنه اما تو بیسیک که دستوراتsql همون کویری رو کپی میکنم خطا میده
احتملا دستور UPDATE مشکل داره.اما مطمئن نیستم.
دستوراتشو مثل زیر تغییر دادم کار میکنه اما update!!!!!!!!!
db_path$ = App.Path & "\db1.mdb"
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db_path$ & ";Persist Security Info=False"
Adodc1.RecordSource = "select * from mydate"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
xxxxx_xxxxx
چهارشنبه 23 مرداد 1387, 11:45 صبح
اگه هنوز اول هاي اين برنامه هستي بهتره هر سه فيلدو حذف كني و بجاش از يك فيلد براي هر سه عدد استفاده كني اينطوري خيلي بهتره.
اصلا دليلي نداره از سه فيلد براي تاريخ استفاده كنيد حتي در بدترين شرايط چون كارتون با بانك سه برابر ميشه در حالي كه اگه يك فيلد داشته باشيد با توابع خود vb مي تونيد به خواستتون برسيد و سرعت عمل برنامه زيادتر ميشه.
موفق باشيد
sohrab o
چهارشنبه 23 مرداد 1387, 11:54 صبح
اگه هنوز اول هاي اين برنامه هستي بهتره هر سه فيلدو حذف كني و بجاش از يك فيلد براي هر سه عدد استفاده كني اينطوري خيلي بهتره.
اصلا دليلي نداره از سه فيلد براي تاريخ استفاده كنيد حتي در بدترين شرايط چون كارتون با بانك سه برابر ميشه در حالي كه اگه يك فيلد داشته باشيد با توابع خود vb مي تونيد به خواستتون برسيد و سرعت عمل برنامه زيادتر ميشه.
موفق باشيد
دقیقا...................... من هم قبلا گفتم
واسه جدا کردن اون سه مقدار در vb از یک فیلد میتونی از توابع LEN- Right - Left -Mid استفاده کنی
raika17metal
چهارشنبه 23 مرداد 1387, 11:56 صبح
آقای X حرف شما عالیه که از یه فیلد برای تاریخ استفاده کنم ولی اینکه چطوری محتویات سه تا Text رو تو یه فیلد ذخیره کنم و بعد هم موقع جستجو بتونم از داخل اون فیلد مثلا ماه رو استخراج کنم رو توضیح نداید
xxxxx_xxxxx
چهارشنبه 23 مرداد 1387, 11:59 صبح
خب باز براي چي سه تا text رو فرم هم يك text باشه كه كل تاريخو بگيره. همه همين كارو ميكنن.
raika17metal
چهارشنبه 23 مرداد 1387, 12:01 عصر
آقای X حرف شما درست ولی مهمترین مشکل من در این حالت استخراج روز و ماه هستش چون ممکنه به هر دو صورت تک رقمی و دو رقمی وارد بشه.
ولی اگه از سه تا فیلد استفاده کنم فکر کنم بشه با دستورات SQL اون ها رو به یه فیلد تبدیل کرد.
xxxxx_xxxxx
چهارشنبه 23 مرداد 1387, 12:07 عصر
باز هم توابع خود vb اينجا مي تونن كمكتون كنند مثل:
day(date)
month(date)
year(date)
كه بجاي date تاريخ رو ميزاريم محتوي همون text
حتي توابعي هستند كه اسم ماه و اسم روز از هفته مثل شنبه و يكشنبه و ... رو مشخص مي كنند.
raika17metal
چهارشنبه 23 مرداد 1387, 12:21 عصر
ممکنه یه مثال واضح تر یا یه سورس گویایی برام بذارید؟
xxxxx_xxxxx
چهارشنبه 23 مرداد 1387, 12:25 عصر
اصلا شما از اين استفاده كنيد. help فارسي هم توش هست .
خيلي كارا ميشه باهاش كرد. بسيار دقيق و حرفه اي.
مطمئناً خيلي ها از اين استفاده مي كنند.
موفق باشيد
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.