shgroup
سه شنبه 25 آبان 1389, 09:51 صبح
سلام بر دوستان عزیز می خواستم شماره پرونده ای در برنامه ایجاد کنم با فرمتی خاص ، زمانی که رکوردی اضافه می شود به جای autonumber یک شماره با این فرمت به او بدهد فرمت: دو عدد اول نشان دهنده سال جاری دو عدد بعد نشان دهنده ماه جاری و سه عدد بعد 000 و عدد بعدی 1 مثال: 89080001 - 89080002 .... 8908020 با این شرط که در صورتی که سال عوض شد دوباره از 1 مقدار بگیرد به عنوان مثال 90010001 و ... البته مقدار سال و ماه را می توانم از طریق برنامه به sp بدهم اما مقادیر آخر را نمی دانم چه طور باید ایجاد کنم؟ لطفا راهنمایی بفرمایید - متشکرم
Rezahak
سه شنبه 25 آبان 1389, 10:07 صبح
اين كارها را بايد از طريق نوشتن يك Function انجام دهي و در Insert آنرا صدا بزني (شايد بتواني از trigger هم استفاده كني هرچند معقول به نظر نمي رسد)
Reza_Yarahmadi
سه شنبه 25 آبان 1389, 11:45 صبح
كد زير رو نگاه كنيد ببينيد ميتونه كمكتون كنه يا نه
Declare @Year int, @Month int
Set @Year = 89
Set @Month = 9
Declare @Code varchar(8), @user int
Select @User = Count(*) From TabelName where Substring(Code, 1, 2) = @Year
Set @User = @User + 1
Set @Code = Replace(Str(@Year, 2), ' ', '0') +
Replace(Str(@Month, 2), ' ', '0') +
Replace(Str(@User, 4), ' ', '0')
Select @Code
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.