Open "LPT1" For Output As #1
Print #1, Adodc2.Recordset.Fields(1);TAB(10);Adodc2.Recordset.Fields(2)
Close
用TAB()格开也不行,用spc()格也不行
都是根据前一字段中内容长短而使第二个字段打印位置变化
Print #1, Adodc2.Recordset.Fields(1);TAB(10);Adodc2.Recordset.Fields(2)
Close
用TAB()格开也不行,用spc()格也不行
都是根据前一字段中内容长短而使第二个字段打印位置变化
解决方案 »
- 窗体托盘设置,鼠标左键接收不到窗口的句柄
- 请问treeview加图片问题
- WebBrowser里,鼠标点击超链接的时候,如何获取该链接地址,和链接所显示的文本?
- vb.net 如何在richtextbox将输入的关键字进行颜色标识
- 拜托大家帮帮忙
- fso中检测指定文件是否存在的函数是什么?
- 请问怎样由短文件名或路径得到长文件名或路径
- 如何用MMContorl多媒体控件打开一个MID文件
- 怎么注册控件?(在没有VB的机器上)
- 如何在网页里插入JAVASCRIPT代码并用IE浏览器将这页调出!
- vb6.0引用Lingo9.0问题?
- VBA-VB 为什么运行后,指“Content”未找到方法或数据成员,谢谢
这不是 VB 语言的问题,要根据具体的打印机设置制表符。例如:Oracle 打印机是以 8 个空格表示制表符;在 LQ-1600K 打印机则更为复杂:
==================================================
设置/ 解除水平制表符
ASCII 代码 ESC D n1...nk NUL
十六进制代码 1B 44 n1...nk 00
用途:最多可设置32 个水平制表符位置。
表达式CHR$(27); "D";CHR$(n1);...CHR$(n32);CHR$(0);
n= 1-255;k= 1-32
其中:
n1 到n32 指定制表符位置的字符列。NUL 是序列结束符。ESC
D NUL 清除所有制表符。
说明 n 值必须按升序排列,否则将被忽略。大于32 或超出右边界的
制表符将被忽略。物理制表符位置是n 和当前单元宽度(1/ 跨度
) 的乘积,不包括双倍宽度。
设置制表符后, HT 将模拟打印头移至下一个制表符位置。发送
ESC @ 初始化打印机并重置制表符为每8 个字符列插入一个(
默认设置)。
在均匀模式下, 10 CPI 字符的大小决定制表符位置。
=====================================================请查阅你的打印机手册。
先为每个字段设一个固定长度,然后用len算出字段中字符的个数,再和固定长度比较后用空格补齐
a=30
b=len(Adodc2.Recordset.Fields(1))
c=a-b
str=Adodc2.Recordset.Fields(1)& space(c)
然后再打印str