VB程序中,怎么循环给变量赋值

[复制链接]
查看11 | 回复3 | 2009-7-3 12:50:10 | 显示全部楼层 |阅读模式
代码是这样的

Dim strsql As String

Dim AdoRc As New ADODB.Recordset

Dim amount As Double

Dim department As String

Dim datetime As Date

Dim name As String

Dim UserID As String

strsql = "select UserID,[Name],Department,Amount ,[Date] from SalesInfo(nolock)"

AdoRc.Open strsql, mobjConn, adOpenStatic, adLockReadOnly

amount = IIf(IsNull(Val(AdoRc.Fields("Amount").Value)), "", Val(AdoRc.Fields("Amount").Value))

department = IIf(IsNull(AdoRc.Fields("Department")), "", AdoRc.Fields("Department"))

datitime = IIf(IsNull(AdoRc.Fields("Date")), "", AdoRc.Fields("Date"))

name = IIf(IsNull(AdoRc.Fields("Name")), "", AdoRc.Fields("Name"))

UserID = IIf(IsNull(AdoRc.Fields("UserId")), "", AdoRc.Fields("UserId"))
我现在需要把这个变量的值传递给打印机,请问下怎么写才能实现效果!请高手不吝指教!急急急!谢谢啊,在线等

回复

使用道具 举报

千问 | 2009-7-3 12:50:10 | 显示全部楼层
不用iif判断,用format转换为字符类型就不会有错了循环赋值:AdoRc.Open strsql, mobjConn, adOpenStatic, adLockReadOnlywhile not AdoRc.eof
amount = Val(format(AdoRc.Fields("Amount").Value))
department = format(AdoRc.Fields("Department"))
datitime = format(AdoRc.Fields("Date"),"yyyy-mm-dd")
name = format(AdoRc.Fields("Name")) ...
回复

使用道具 举报

千问 | 2009-7-3 12:50:10 | 显示全部楼层
不清楚你要将哪个变量传给打印机。循环好做if adorc.recordcount>0 thenadorc.movefirstfor i=1 to adorc.recordcount
amount = IIf(IsNull(Val(AdoRc.Fields("Amount").Value)), "", Val(Ad...
回复

使用道具 举报

千问 | 2009-7-3 12:50:10 | 显示全部楼层
你是要向POS打印机打印么?是的话只要往LPT写数据就好你要打印企业应用软件的报表的话还是要用第三方的报表控件好些控件上就自带打印功能了...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行