问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

有做过CODE128条码生成的朋友吗

发布网友 发布时间:2022-04-08 09:59

我来回答

2个回答

懂视网 时间:2022-04-08 14:21

code128b(Tar As Range) ‘128B码:ChrW(204). Dim s$, i%, ss$, j%, curR%, checkB% curR = Tar.Row s = Tar.Value checkB = 1 ‘开始位的码值为104 mod 103 =1 For i = 1 To Len(s) ss = Mid(s, i, 1) j = Asc(ss) ‘不过滤无效字符,比如汉字. If j < 135 Then j = j - 32 ElseIf j > 134 Then j = j - 100 End If checkB = (checkB + i * j) Mod 103 ‘计算校验位 Next If checkB < 95 And checkB > 0 Then ‘有的资料直接求103的模,解说不充分,因为有的校验位超过127时,系统会"吃"掉它们(连带休止符). checkB = checkB + 32 ElseIf checkB > 94 Then ‘字体设置时,字模被定义了2个值.观察字体文件时能发现. checkB = checkB + 100 End If code128b = ChrW(204) & s & IIf(checkB, ChrW(checkB), Chr(32)) & ChrW(206) End FUNCTION

根据这段代码,突然想到是不是可以直接移植到Sql Server能,经过打印,扫描试验确实可以,代码如下:

create FUNCTION StrToCode128B(
 @Str NVARCHAR(200))--128B码:ChrW(204)
 RETURNS NVARCHAR(200) 
AS
BEGIN
 DECLARE @checkB INT 
 DECLARE @i INT ,@j INT
 DECLARE @str2 NVARCHAR(2)
 SET @i=1
 
 SET @checkB = 1 --开始位的码值为104 mod 103 =1
   --
 WHILE @i <= LEN(@Str) 
 BEGIN
 SET @str2 = SUBSTRING(@Str,@i,1)
 SET @j = ASCII(@str2) --不过滤无效字符,比如汉字
 IF @j<135 
 BEGIN
 SET @j=@j-32
 END
 ELSE IF @j>134 
 BEGIN
 SET @j=@j-100
 END
 SET @checkB = (@checkB + @i * @j) % 103 --计算校验位
 SET @i=@i+1
 END 
 
 IF @checkB<95 AND @checkB>0 --有的资料直接求103的模,解说不充分,因为有的校验位超过127时,系统会"吃"掉它们(连带休止符).
 BEGIN
 SET @checkB = @checkB + 32
 END
 ELSE IF @checkB > 94 -- ‘字体设置时,字模被定义了2个值.观察字体文件时能发现.
 BEGIN
 SET @checkB = @checkB + 100
 END
 
 RETURN NCHAR(204) + @Str + CASE WHEN @checkB>0 THEN NCHAR(@checkB) ELSE NCHAR(32) END + NCHAR(206)
 
END

以上在转化的过程中主要遇到如下问题:

1.VBA中的ASC()函数对应SQL的函数是ASCII()

2.VBA中的ChrW()函数对应的SQL函数是 NCHAR()。这点需要特别注意,因为ChrW和HCHAR都是unicode字符。而如果用CHAR的话就是不行,刚开始没注意,用CHAR函数,拼接后,返回的字符串始终为空(或不可见字符), 结果调试好久都不知道问题出在哪里。

利用SQL为Code128码添加起始符和休止符

标签:

热心网友 时间:2022-04-08 11:29

用条码打印软件生成,最好不要用条码字体,条码字体生成的128码没有起始符和终止符,无法识别
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见好多鱼在水里活蹦乱跳 教你如何将让reaver PIN 进度随意更改精确前四位 求个保存PIN进度的方法 ...不上外接键盘,但鼠标一直有用,谁能告诉我怎么回事,先谢了。。_百度... 相机SD卡,卡上图片电脑显示不出来 相机SD卡用读卡器插到电脑上DCIM文件夹不显示照片怎么解决? win10查询错误日志的方法-win10怎么查询错误日志 电脑系统日志文件如何查看电脑里的系统日志 电脑事件日志在哪里看怎样查看电脑使用的日志 win11系统日志在哪里看 win11系统日志怎么看 中行手机银行外汇买卖如何办理? 中国银行的手机银行能进行外汇兑换吗? 中国银行可以用手机银行买外汇吗? 中国银行手机银行可以购买外汇吗? 中国银行手机银行怎么操作外汇买卖? 手机阿里旺旺记录删除了怎么找回?十万火急 中国银行江西易惠通保函通如何提交保函申请 为什么这个条码的内容无法识别?格式是code128 还呗app收取不到验证码,是什么原因? 玻璃水需要用水稀释吗? 雪梨银耳汤(止咳)怎么做好吃 雪梨银耳汤(止咳)怎么做如何做 桂花雪梨银耳羹是怎么做的 海螃蟹能冷冻吗 海螃蟹活的不能托运,我蒸熟了之后,直接抽真空,装冷藏箱能坚持多久或是有更好的办法吗航程18小时 怎么查看苹果id解锁 Crystal Reports 9.0 如何制作Code-128 的条码,扫描枪要能够扫描,使用的时Code128字体!急~~~~ 龙吟,地藏,琉璃什么游戏里面的 女朋友的闺蜜去我们家玩,那晚她的闺蜜在我们家过夜,因为碍于情面,我们把自己的房间给了她的闺蜜,我和 我女朋友的闺蜜让她干什么就干什么,而我让她干什么就成对她的要求 餐用作量词可以组什么? 餐用注册过商标吗?还有哪些分类可以注册? 餐用英文怎么读 餐用酒精&#xF236;&#xFE0F;毒吗? 苏州哪学化妆比较好 餐用环境采用什么颜色来进行搭配? 苏州学化妆哪里好?我想去学化妆 餐用音序和大写字母? 日本推出餐饮用口罩,官方对此有何说明? 学美甲化妆 苏州哪里学校有名? 餐用黄油属什么油? 苏州哪里有好的化妆学校?在哪里学最好? 苏州哪里可以学化妆? 餐用转盘计入什么账户 餐用数笔画查字法查几画第六画的名称是什么? 金享人生终身寿险可以做教育婚嫁金这句话对吗? 我爸爸在中国太平洋保险投保了分红型的金享人生终身寿险什么意思,怎么分红? 通过SQL语句,分组生成ID。如下图,已知code(编码)和level(层级),要求通过sql语句,实现ID的生成; 3d中两种画球体的方法 在3D max中,如何画表面是圆形网格的空心球