主表为:
调拨单号、源仓库、目的仓库、调拨日期、经手人
从表为
id、调拨单号、商品编号、数量 主表中调拨单号为自动编号的。插入的时候提示从表中调拨单号不能为null.
主从表浏览正常的。我想要自动编号的。不要建议取消自动编号哦。
调拨单号、源仓库、目的仓库、调拨日期、经手人
从表为
id、调拨单号、商品编号、数量 主表中调拨单号为自动编号的。插入的时候提示从表中调拨单号不能为null.
主从表浏览正常的。我想要自动编号的。不要建议取消自动编号哦。
@PeopleId varchar(20), --调度人员号
@GroupId varchar(20), --配送组织
@SendMainId varchar(7000) ,-- 送货细单号
@SendMinuteId varchar(7000) ,-- 送货细单号
@GoodsCount varchar(7000), ---送货数量
@ShouldGet varchar(7000), ----应收
@ShouldPay varchar(7000), -----应付
@count int,
@re_String varchar(2) out,
@re_message varchar(100) out,
@re_Sid varchar(14) out
as
declare
@n int,
@StateMainId Varchar(30) , --调度单号
@Smainid varchar(30),
@Sminuteid varchar(30),
@StateMinuteId varchar(30),
@gCount money,
@Get money,
@Pay money,
@day varchar(10),
@RiQi varchar(10)
set @day=(select (convert(varchar(10), GETDATE())) )
set @riqi=(substring(@day,7,10)+'-' +substring(@day,1,2)+'-'+substring(@day,4,5) )
------------------
set @StateMinuteId=((select isnull(max(StateMinuteid),'1000000000') from TT_StateMinute) +1 )
set @StateMainId=((select isnull(max(StateMainid),'1000000000') from TT_statemain) +1 ) ------添加状态主表begin tran
set set nocount on
begin
if rtrim(@MainBiao)='888'
begin
set @StateMainId=(@StateMainId-1)
end
else
begin
Insert Into TT_StateMain values(@StateMainID,@PeopleID,@RiQi,@GroupId)
if @@error <>0 goto error1
else
goto succ
end end
--------添加状态细单
begin
set @n=1
while @n <=@count
begin
select @Gcount= convert(money, dbo.gain(@goodscount,@n) ) ,@SMainID=convert (varchar(20), dbo.gain(@SendMainID,@n) ) ,@SMinuteId=dbo.gain(@SendMinuteId,@n) , @get=convert( money,dbo.gain (@ShouldGet,@n) ), @pay=convert(money,dbo.gain(@shouldPay,@n) )
Insert Into TT_StateMinute Values(@StateMinuteId,@StateMainid,@SMainID,@SMinuteId,@GCount,@Get,@Pay)
if @@error <>0 goto error2
else
goto succ update TT_SendMinute set Sendstate ='02' where SendMinuteid=@SendMinuteiD-----state
if @@error <>0 goto error3
else
goto succ
set @n =@n +1
end
end
------------------
succ:
begin set @re_message='插入状态主表成功'
commit transaction
goto pover
enderror1:
begin
rollback tran
set @re_message ='插入状态主表失败'
goto pover
end
error2:
begin
RollBack Tran
set @re_message ='插入状态细表失败'
goto pover
endError3:
begin
rollBack Tran
set @re_message ='更新失败 '
goto pover
end
pover:
begin
set nocount off
end
GO
我是用两个adodataset,然后设置主从表的。
begintbldetail.fieldbyname('调拨单号'):=tblmaster.fieldbyname('调拨单号');end;