商品档案导入后,能否自动生成条码?怎么操作?
问题补充:是说导入以后的商品档案里面没有条码,能否自动生成?(不是一个一个建档案,一个一个建档案时可以自动生成)
- 提问者: ahuiren
- 等级:普通会员
- 时间:2012-04-01 10:49
- 悬赏:0
- 解决时间:2012-04-01 17:08
最佳答案
在sql中执行下下面语句
declare @i int,@item_barcode varchar(100),@item_no varchar(10),@zj1 int,@zj2 int ,@sum int
set @i=1
declare mycursor cursor for select item_no from t_item_info
open mycursor
fetch mycursor into @item_no
while @@fetch_status=0
begin
select @item_barcode=right(('0000000000000000'+convert(varchar(10),@i)),12)
select @zj1=convert(int,substring(@item_barcode,12,1))+convert(int,substring(@item_barcode,10,1))+convert(int,substring(@item_barcode,8,1))+convert(int,substring(@item_barcode,6,1))+convert(int,substring(@item_barcode,4,1))+convert(int,substring(@item_barcode,2,1))
select @zj2=convert(int,substring(@item_barcode,11,1))+convert(int,substring(@item_barcode,9,1))+convert(int,substring(@item_barcode,7,1))+convert(int,substring(@item_barcode,5,1))+convert(int,substring(@item_barcode,3,1))+convert(int,substring(@item_barcode,1,1))
select @zj1=@zj1*3+@zj2
declare @j int
set @j=1
while @j*10<@zj1
begin
select @j=@j+1
end
select @sum=@j*10-@zj1
update t_item_info set item_barcode=@item_barcode+convert(varchar(10),@sum) where item_no=@item_no
select @i=@i+1
select @zj1=''
select @zj2=''
fetch mycursor into @item_no
end
close mycursor
deallocate mycursor
declare @i int,@item_barcode varchar(100),@item_no varchar(10),@zj1 int,@zj2 int ,@sum int
set @i=1
declare mycursor cursor for select item_no from t_item_info
open mycursor
fetch mycursor into @item_no
while @@fetch_status=0
begin
select @item_barcode=right(('0000000000000000'+convert(varchar(10),@i)),12)
select @zj1=convert(int,substring(@item_barcode,12,1))+convert(int,substring(@item_barcode,10,1))+convert(int,substring(@item_barcode,8,1))+convert(int,substring(@item_barcode,6,1))+convert(int,substring(@item_barcode,4,1))+convert(int,substring(@item_barcode,2,1))
select @zj2=convert(int,substring(@item_barcode,11,1))+convert(int,substring(@item_barcode,9,1))+convert(int,substring(@item_barcode,7,1))+convert(int,substring(@item_barcode,5,1))+convert(int,substring(@item_barcode,3,1))+convert(int,substring(@item_barcode,1,1))
select @zj1=@zj1*3+@zj2
declare @j int
set @j=1
while @j*10<@zj1
begin
select @j=@j+1
end
select @sum=@j*10-@zj1
update t_item_info set item_barcode=@item_barcode+convert(varchar(10),@sum) where item_no=@item_no
select @i=@i+1
select @zj1=''
select @zj2=''
fetch mycursor into @item_no
end
close mycursor
deallocate mycursor
- 回答者:ytkf007
- 等级:问不倒翁
- 时间:2012-04-01 14:42
- 提问者对最佳回答的评论:
- 不是很理想,但只能这样了
对最佳答案的评论 共 2 条
代码很详细,不错
- 评论者:wangze2005
很好,但这样只可以生成主单位的条码,多单位的条码语句是否也提供一下???
- 评论者:ppos
其它回答 共 3 条
在后台系统设置 参数设置 右侧的编码规则
- 回答者:wangze2005
- 等级:问不倒翁
- 时间:2012-04-01 10:52
一楼的 顶
- 回答者:JCLH
- 等级:问不倒翁
- 时间:2012-04-01 13:10
你导入数据时你可以先自己让它生成条码嘛,或者导完数据后写一个命令生成,
- 回答者:赢通华中区
- 等级:钻石会员
- 时间:2012-04-01 14:20
快到期问题