sql中有procudure,在access中怎么去使用它们?比如说
sql中每个月都会根据时间判断,而生成结转时间:200303
那么在access中怎么来做这些判断?
这里有一个很好的procudrue(主要是对时间表判断而生成一个编号,)CREATE PROCEDURE getbh
@lx char(2),@bh char(15) output
AS
declare @date char(8) ,@curdate char(8),@xh char(5),@day char(2),@datetemp smalldatetime
select top 1 @datetemp=curdate from bh
if len( datename(DD,@datetemp) )=1
set @day='0'+datename(DD,@datetemp)
else set @day=datename(DD,@datetemp)set @date=datename(yyyy,@datetemp)+datename(MM,@datetemp)+@day if len( datename(DD,getdate()) )=1
set @day='0'+datename(DD,getdate())
else set @day=datename(DD,getdate()) set @curdate=datename(yyyy,getdate())+datename(MM,getdate())+@day if @date=@curdate
begin
update bh set bh=bh+1
select top 1 @xh=cast(bh-1 as char) from bh
set @xh=
case
when len(@xh)=1 then '0000'+@xh
when len(@xh)=2 then '000'+@xh
when len(@xh)=3 then '00'+@xh
when len(@xh)=4 then '0'+@xh
end
end
else
begin
if @date<@curdate
begin
update bh set bh=2,curdate=getdate()
set @xh='00001'
end
else
begin
select top 1 @bh=编号 from cr
where substring(编号,3,8)=@curdate
order by 日期 desc
if @@rowcount>0
begin
set @xh=substring(@bh,11,5)
set @xh=cast( cast(@xh as int )+1 as int )
set @xh=
case
when len(@xh)=1 then '0000'+@xh
when len(@xh)=2 then '000'+@xh
when len(@xh)=3 then '00'+@xh
when len(@xh)=4 then '0'+@xh
end
end
else
set @xh='00001'
end
end
set @bh=@lx+@curdate+@xh
GO
如果在access中怎么去实现它
sql中每个月都会根据时间判断,而生成结转时间:200303
那么在access中怎么来做这些判断?
这里有一个很好的procudrue(主要是对时间表判断而生成一个编号,)CREATE PROCEDURE getbh
@lx char(2),@bh char(15) output
AS
declare @date char(8) ,@curdate char(8),@xh char(5),@day char(2),@datetemp smalldatetime
select top 1 @datetemp=curdate from bh
if len( datename(DD,@datetemp) )=1
set @day='0'+datename(DD,@datetemp)
else set @day=datename(DD,@datetemp)set @date=datename(yyyy,@datetemp)+datename(MM,@datetemp)+@day if len( datename(DD,getdate()) )=1
set @day='0'+datename(DD,getdate())
else set @day=datename(DD,getdate()) set @curdate=datename(yyyy,getdate())+datename(MM,getdate())+@day if @date=@curdate
begin
update bh set bh=bh+1
select top 1 @xh=cast(bh-1 as char) from bh
set @xh=
case
when len(@xh)=1 then '0000'+@xh
when len(@xh)=2 then '000'+@xh
when len(@xh)=3 then '00'+@xh
when len(@xh)=4 then '0'+@xh
end
end
else
begin
if @date<@curdate
begin
update bh set bh=2,curdate=getdate()
set @xh='00001'
end
else
begin
select top 1 @bh=编号 from cr
where substring(编号,3,8)=@curdate
order by 日期 desc
if @@rowcount>0
begin
set @xh=substring(@bh,11,5)
set @xh=cast( cast(@xh as int )+1 as int )
set @xh=
case
when len(@xh)=1 then '0000'+@xh
when len(@xh)=2 then '000'+@xh
when len(@xh)=3 then '00'+@xh
when len(@xh)=4 then '0'+@xh
end
end
else
set @xh='00001'
end
end
set @bh=@lx+@curdate+@xh
GO
如果在access中怎么去实现它
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货