PDA

View Full Version : سوال: درج شماره اسناد براساس سال شمسي



Iran58
شنبه 12 تیر 1389, 09:10 صبح
سلام
شماره اسنادي را در جدول مورد نظرم مي خواهم ايجاد كنم با اين شرط
الف) اولين شماره آن اينگونه باشدكه دورقم اول آن سال جاري (شمسي) وچهاررقم بعدي آن به ترتيب از0001شروع شود(890001)
ب)اگر سال تغييركرد شماره سند هم از اول شروع به ثبت شود اگرسال از89به 90 تغييركردشماره سند هم به 900001تغييرپيداكند
درضمن تاريخ رابصورت ميلادي درجدول ذخيره مي كنم نه شمسي
از چه كدهاي بايداستفاده كنم

imani1983
یک شنبه 13 تیر 1389, 02:00 صبح
براي زبان دلفي

procedure TForm11.BitBtn6Click(Sender: TObject);
var
s1,s2,s3:string;
s:integer;
begin
solardatepicker1.Text:=printnormal;
cb1.Caption:='ÂíÇ ÞÕÏ ÏÇÑíÏ ãÈáÛ æíÒíÊ ÑÇ æÇÑíÒ äãÇÆíÏ¿';
edit11.Text:=(copy(printnormal,9,2));
edit8.Text:=(copy(printnormal,6,2));
edit10.Text:=(copy(printnormal,3,2));
s:=strtoint(edit10.text+edit8.text+edit11.text);
with adodataset1 do
begin
close;
commandtext:='SELECT MAX(numpaziresh)AS maxs FROM visit_numeric where datapaziresh='+QuotedStr(printnormal);
open;
if (adodataset1.FieldValues['maxs']>null) then
edit7.Text:=inttostr(s)+copy(adodataset1.FieldValu es['maxs']+1,7,4);
if (adodataset1.FieldValues['maxs']=null) then
edit7.Text:=inttostr(s)+'0001';
end;
end;


اما براي C# در حال نوشتن هستم

Iran58
یک شنبه 13 تیر 1389, 10:30 صبح
سلام
من در خود sqlمي خواهم اين عمليات انجام شود

ASKaffash
یک شنبه 13 تیر 1389, 12:23 عصر
سلام
اینو تست کن :


Declare @Year Tinyint,@MyID Int
Set @Year=88
Set @MyID=IsNull((Select Max(MyID)+1 From RT Where SubString(Convert(VarChar(10),MyID),1,2)=Str(@Year ,2)),Convert(VarChar(2),@Year)+'0001')
Insert RT Values(1,2,3,@MyID)