文档库 最新最全的文档下载
当前位置:文档库 › VB报表打印

VB报表打印

VB报表打印
VB报表打印

VB在打印中的应用

我是个80后,当时接触的编程语音,第一个是basic,第二个是C语音,第三个是VB,当初看VB的时候,很清晰的记得Bill Gates介绍VB的一句话,使用VB,你可以最快的达到你想要的效果,学着学着,一眨眼,就十多年过去啦。VB & SQL基本上,可以满足基本的要求,当然了,如果,你想要什么换皮肤,很大工作量,多线程之类功能,VB是很难做到的,而且插件是VB最痛的地方。

好了,说到这里,我介绍一下,我使用VB在打印上面的一些经验吧。

VB本身是带了一个设计器功能的,但里面的功能不敢恭维,不方便,功能小。在网上找了一段时间,测试了很多插件,终于找到了一个叫ACReport的控件,有一个插件和一个注册文件,ACRptEngineX.ocx,注册ACReport 引擎.bat。这个插件可以利用SQL数据库内容打印操作,或者自定义打印的内容。

下面介绍一下控件的安装:

首先双击ACRptEngineX.ocx,进行安装,,注意这两个文件,

必须放在和程序开发的文件一齐,安装完ACRptEngineX.ocx,然后双击,注册ACReport 引擎.bat进行注册,见到*.bat结尾的文件,大家都知道,会弹出command窗口,类似DOS环境的界面,

看到这个界面,就知道,为什么两个文件都要和开发的程序放在一齐了。

安装成功后,打开程序主体软件,添加部件,选择ACRptEngineX Library ,

会出现ACRptEngineX这个插件,好了,在窗体上一划,就出现。

现在介绍一下属性:

属性里面没有什么好修改的地方,一般我会将visible设置为flase,隐藏控件。

好了,可以进入里面去慢慢设计啦!

在VB里面调用ACRptEngineX,必须写命令,好吧,我来介绍以下命令的语法吧。

Dim UserNameS As String …定义字符串变量UserNames

UserNameS = "fadsfa"?赋值

ACRptEngine1.AddSysVariable "Userns", UserNameS …这个是在打印文件中添加一个字符串变量Userns,内容是变量UserNameS的内容

ACRptEngine1.AddSysVariable "开票日期", Format(Date, "yyyy") & "年" & Format(Date, "mm") & "月" & Format(Date, "dd") & "日" …也可以直接写内容

ACRptEngine1.Init …初始化

sql1 = "select * from 发票打印where 用户编号= '" & userp & "' order by 卡号"

Dim mrc As ADODB.Recordset ?在使用这句语句的时候,必须在工程->引用,添加Microsoft ActiveX Data objects Recordset 2.8 library

Set mrc = ExecuteSQL(sql1)?这个函数,是我自己写的,后面补上代码,大家可以自己写,就是一般的SQL操作,add, delete,rename之类的。

ACRptEngine1.AddDataSet "发票报表", mrc?调用

ReportPath = App.Path & "\"

whereRe = "发票报表.apt" ?这个是打印格式文件存放的路径

ACRptEngine1.SetReportFile ReportPath + whereRe?设置路径,头一次使用,什么格式都没有,不影响,点击保存,文件就会以发票报表.apt保存,apt是该控件的格式文件。

ACRptEngine1.ShowDesigner ?打开设计界面,设计完毕后就可以关闭该功能

ACRptEngine1.Preview …打开预览,设置完毕后,直接进入打印预览

在按钮里面添加以上代码,然后点解运行,点击按钮,就可以进入设计界面

这里介绍一下设计界面的使用:

界面和功能基本上和Excle差不多的!操作前,一定要先选取单元格哦!

这里要说一下子报表,这里,可以在表里面再插入报表。具体用法,日后再介绍。(大家可以自己研究)

关于插入数据字段:

ACRptEngine1.AddDataSet "发票报表", mrc 就是这句的效果!这里mrc是数据库查询的结果。是不是很方便!

插入变量,这个Userns就是之前设定的变量啦!就是这句ACRptEngine1.AddSysVariable "Userns", UserNameS

插入函数,该控件里面提供的控件有很多,也很方便,表达式也很好用!

功能都跟excel差不多,大家很容易把握!现在介绍一下打印样式,制表十分有用。文件->报表样式,选择清单报表

在明细数据里下拉选择之前添加的数据库变量,点击明细右边的选择按钮,跳到行选择界面,

看到没有表头下面多了明细标签行。

预览一下

这里基本上符合了大部分设计者的要求啦!

这里顺便提一下关于通用发票的打印问题,现在的机打通用发票,尺寸一般不是固定的,电费,水费,餐饮,油票等都不一样,所以在设计之前,你必须拿到要打印的发票的准确尺寸,

然后在控制面板->打印机和传真->文件->服务器属性里,添加发票的尺寸

好了,基本的功能都讲到七七八八啦!现在我介绍一下表中表的设计方法。

简单举个例子吧,你手头上有两个移动电话号码,同一个用户名,你想将清单按号码分开打,那怎么办?哈哈,这时候,表中表就派上用场了!

首先当然是写代码啦

Dim mrc As ADODB.Recordset

Dim mrc1 As ADODB.Recordset

ReportPath = App.Path & "\"

whereRe = "查询话费.apt"

Set mrc = ExecuteSQL("select * from 用户信息表")?这里查询的结果是用户的几个电话号码

Set mrc1 = ExecuteSQL("select * from 打印查询话费where 电话号码=?”& mrc.field(“电话号码”) &?”")?这里查询的结果是单个号码的清单,打印的时候也只能一个号码挨着一个号码打印,因为只能在进入表打印,或者表设计前进行变动,所以,打印完一个号码后,退出控件,在程序里,再调用下一个号码的清单,继续打印。

ACRptEngine1.AddDataSet "主表", mrc

ACRptEngine1.AddDataSet "子表", mrc1

ACRptEngine1.SetReportFile ReportPath + whereRe

ACRptEngine1.ShowDesigner

ACRptEngine1.Preview

然后到报表设计了,首先新增一页做子表,

然后在相应的单元格(合并单元格,一正行)内,设置其属性如下:

选择子表为刚才的新建的一页。

子表的设计就更之前的一样。

因为只能在进入表打印,或者表设计后,内容是不能变动的,所以,打印完一个号码后,退出控件,在程序里,再调用下一个号码的清单,继续打印。

能知道的都说了,很高兴与大家一齐分享。控件的分享地址是: https://www.wendangku.net/doc/e41579069.html,/s/j5k4w

VB设计报告

南京工程学院 课程设计说明书(论文)题目打字练习 课程名称VB语言课程设计 院(系、部、中心) 专业 班级 学生姓名 学号 设计地点图书馆基础教学机房 指导教师 设计起止时间:201x年x月x日至201x年x月x日 目录

一、设计任务 (3) 二、方法原理 (3) 三、总体设计思路 (3) 四、程序调试和解决问题 (4) 五、完善及存在的问题 (4) 六、收获体会 (4) 七、意见建议 (4) 八、示例截图 (5) 九、附录1(代码) (6) 十、附录2(主要参考资料) (10) 一、设计任务 1.题目介绍

在计算机及其他数码产品日益普及的今天,人们使用键盘应像用笔写字一样熟练。进行打字练习时熟悉键盘并提高打字速度的好方法。本体要求编制一个打字练习游戏程序,使用户在游戏过程中进行打字练习。 2.功能要求 (1)启动界面如图1 (2)选择难度和速度后,单击“开始”按钮,界面如图1。若选择简单,则落下字母;若选择复杂,单击开始后出现对话框,如图 2.单击确定,开始练习,落下单词。 (2)若用户在字符落到屏幕底部之前敲击了相应的键盘键,则该字符被“击中”然后消失。根据程序速度和难度的设置自动进行积分,实时分数时间正确率掉落个数显示在窗体的上部。 积分规则:正确击中一个字母或一个单词,加一分;反之,不得分,亦不扣分。(4)当游戏者单击“暂停”按钮时,程序停止运行,在单击“开始”按钮,程序继续运行;当单击“退出”按钮时,则弹出对话框(如截图示例3),单击“取消”按钮,程序继续运行,单击“确定”按钮,则弹出对话框(如截图4),此时对话框显示分数,单击“确定”按钮,退出程序。 (5)为了增加视觉效果,每个掉落的字符的颜色随机产生。 二、方法原理 根据题目要求,使用控件数组,用标签标题表示字符,键盘事件的处理判断打字正确与否,随机值的产生方法随机产生字符,用Timer控件属性反映时间、控制字符下落速度。 三、总体设计思路 首先在窗体上画出三个按钮标题分别为开始、暂停、退出。画六个标签分别表示已落字母个数、已花时间、得分与正确率。 画出一个含有五个元素的标签控制数组用以显示字符。 画出两个时间控件,一个用来返回已用时间,一个控制字符下落。 最后编写相关代码

VBProject代码操作代码之常用语句

一、增加模块 1.增加一个模块,命名为“我的模块” ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule).Name = "我的模块" 系统常量vbext_ct_StdModule=1 2.增加一个类模块,命名为“我的类” ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_ClassModule).Name = "我的类" vbext_ct_ClassModule=2 3.增加一个窗体,命名为“我的窗体” ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm).Name = "我的窗体" vbext_ct_MSForm=3 二、删除模块 1.删除“模块1” ThisWorkbook.VBProject.VBComponents.Remove hisWorkbook.VBProject.VBComponents("模块1") 2.删除窗体“UserForm1” ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("UserForm1") 3.删除类模块“类1” ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("类1") 4.删除所有的窗体 Sub RmvForms() Dim vbCmp As VBComponent For Each vbCmp In ThisWorkbook.VBProject.VBComponents If vbCmp.Type = vbext_ct_MSForm Then ThisWorkbook.VBProject.VBComponents.Remove vbCmp Next vbCmp End Sub 相关: 工作表和ThisWorkbook的模块类型为vbext_ct_Document=100 三、增加代码 1.在“模块1”中插入代码 如果需要在“Sheet1”、“Thisworkbook”、或“Userform1”中操作,用只需将下面的“模块1”换成相应的名称即可。 方法1: 在模块的开始增加代码,增加的代码放在公共声明option,全局变量等后面。 Sub AddCode1() ThisWorkbook.VBProject.VBComponents("模块1").CodeModule.AddFromString _ "sub aTest()" & Chr(10) & _ "msgbox ""Hello""" & Chr(10) & _ "end sub" End Sub

VB函数大全_基本函数大全

VB函数大全_基本函数大全 Abs 函数返回数的绝对值。 And 运算符执行两个表达式的逻辑连接。 Array 函数返回含一数组的变体。 Asc 函数返回字符串首字母的ANSI 字符代码。 赋值运算符(=) 给变量或属性赋值。 Atn 函数返回数的反正切值。 调用语句将控制移交Sub 或Function 过程。 CBool 函数返回已被转换为Boolean 子类型的变体的表达式。 CByte 函数返回已被转换为字节子类型的变体的表达式。 CCur 函数返回已被转换为货币子类型的变体的表达式。 CDate 函数返回已被转换为日期子类型的变体的表达式。 CDbl 函数返回已被转换为双精度子类型的变体的表达式。 Chr 函数返回指定ANSI 字符码的字符。 CInt 函数返回已被转换为整数子类型的变体的表达式。 Class 对象提供对已创建的类的事件的访问。 Class 语句声明类名 Clear 方法清除Err 对象的所有属性设置。 CLng 函数返回已被转换为Long 子类型的变体的表达式。 颜色常数颜色常数列表。 比较常数用于比较运算的常数列表。 连接运算符(&) 强制两个表达式的字符串连接。 Const 语句声明用于字母值的常数。 Cos 函数返回角度的余弦值。 CreateObject 函数创建并返回对“自动”对象的引用。 CSng 函数返回已被转换为单精度子类型的变体的表达式。 CStr 函数返回已被转换为字符串子类型的变体的表达式。 日期和时间常数在日期和时间运算中用来定义星期几和其他常数的常数列表。日期格式常数用于日期和时间格式的常数列表。 Date 函数返回当前系统日期。 DateAdd 函数返回加上了指定的时间间隔的日期。 DateDiff 函数返回两个日期之间的间隔。 DatePart 函数返回给定日期的指定部分。 DateSerial 函数返回指定年月日的日期子类型的变体。 DateValue 函数返回日期子类型的变体。 Day 函数返回日期,取值范围为1 至31。 Description 属性返回或者设置说明某个错误的字符串。 Dictionary 对象存储数据键、项目对的对象。 Dim 语句声明变量并分配存储空间。 除法运算符(/) 两数相除并以浮点数格式返回商。 Do...Loop 语句当条件为True 或者当条件变为True 时,重复一语句块。Empty 表示尚未初始化的变量值。 Eqv 运算符使两个表达式相等。 Erase 语句重新初始化固定数组的元素并重新分配动态数组的存储空间。 Err 对象含有关于运行时错误的信息。 Eval 函数计算并返回表达式的值。 Execute 方法根据指定的字符串,执行正则表达式的搜索。 Execute 语句执行单个或更多的指定语句。 Exit 语句退出Do...Loop、For...Next、Function 或Sub 代码块。 Exp 函数返回e (自然对数的底)的多少次方。 自乘运算符(^) 指数函数,幂为自变量。 False 关键字,其值为零。

基于VB实现复杂报表设计

基于VB实现复杂报表设计 xx [摘要] 本文介绍了报表设计的几种方法和以往报表设计所存在的问题,并以实例介绍自动生成复杂报表的方法。实例基于VB软件开发,并以word为模板,通过调用access数据库数据自动生成复杂报表。 [关键词]VB;数据库;Word; 复杂报表 The Design Of Complex Reports Based VB [Abstract] This paper reports detailed description of several common methods, previous reports of the existence of the problem, and makes use of example to achieve a complex reporting by using of software. The example based on VB software and used word template, to achieve the common complex reporting software through reallocating database. [Key words] VB; Database; Word; Complex Statements

1引言 报表是人们在日常生活中对某类相关信息进行集中处理的重要手段,是企业信息化不可缺少的部分。报表在各行各业中应用广泛,是信息浏览、分析和打印的有力工具。传统报表系统均以国外简单报表模型为基础设计,不能适应复杂报表的开发。特别是在处理复杂数据源报表时,常常需要编写代码准备数据或进行子报表拼接才能实现。 1.1传统报表系统存在的问题 目前,国内外的报表系统种类繁多,功能界面各具特色,对这些报表系统的比较研究,有助于我们设计出更好的报表系统。国外的报表系统的技术都比较成熟,适合制作样式简单的报表,但一般都为高端产品,价格不菲,并且在处理具有强烈中国特色的报表时,国外产品不仅报表处理能力相当不适应,甚至某些技术也略显落后,例如部分产品不能稳定地在UNIX上部署,只能支持IE浏览器,统计图输出仍采用原始的CGl方式等。国内的传统报表系统更适合制作复杂的中国式报表,在报表设计和价格等方面国内报表系统也具有一些优势,但国内的报表系统在服务质量和产品本身的品质等方面还存在着一些不足和缺陷,有待进一步的改进和完善。无论是国外的高端报表系统,还是国内的传统报表系统,每一种报表系统都有各自的优点和缺点,都有各自擅长的领域,在实际工作中应该根据需要选择合适的报表系统。面对日益复杂的报表开发需求,尤其是复杂的中国式报表,这些报表系统或多或少都有些力不从心,其主要问题表现在以下三个方面: (1) 复杂数据源的处理能力不足。报表需要从复杂的数据源或者多个不同类型的数据源中获得数据,获得的数据还可能需要统计,格式转换或其他处理,这些需求都是传统报表系统难于实现的。 (2) 报表的可维护性差。传统的报表系统生成报表的种类固定,使用方便,但很多软件系统无论在实施还是在维护阶段,报表都会进行频繁的新增和修改,而传统的报表系统缺乏无编码定制能力,系统扩展网难。一旦用户对报表样式的需求发生改变,就会给软件维护带来许多不必要的麻烦。 (3) 报表保存格式的通用性较差。报表保存格式不统一,保存格式理解困难,各种报表工具各自为政,报表模板无法兼容,行业也没有形成统一的标准,一旦用户选定了某一报表工具就意味着要一直使用。如果不幸选择失误,已经做的工作都要重新再来。 总之,利用传统的报表系统制作报表维护量相当大,一个需求对应一个报表文件,不同的组合要求制作大量的报表文件,使得开发过程变得极为繁琐,难以实现用户的需求。在设计复杂数据源的报表时,或者需要人工转换数据格式,或者要编写大量代码将多个数据源运算成为一个数据源再使用,或者使用拼接子报表的方式来实现,但都没有从根本上解决问题,严重影响报表的设计和使用效率。因此如何快速制作符合多层结构特点的复杂数据源报表,减轻开发工作量,已经成为报表系统开发的重要问题。

VB常用字符串操作函数解读

VB常用字符串操作函数2009/11/25 18:321. ASC(X,Chr(X:转换字符字符码[格式]: P=Asc(X 返回字符串X的第一个字符的字符码 P=Chr(X 返回字符码等于X的字符 [范例]:(1P=Chr(65 ‘ 输出字符A,因为A的ASCII码等于65 (2P=Asc(“A” ‘ 输出65 2. Len(X:计算字符串X的长度 [格式]: P=Len(X [说明]:空字符串长度为0,空格符也算一个字符,一个中文字虽然占用2 Bytes,但也算 一个字符。 [范例]: (1 令X=”” (空字符串 Len(X 输出结果为0 (2 令X=”abcd” Len(X 输出结果为4 (3 令X=”VB教程” Len(X 输出结果为4 3. Mid(X函数:读取字符串X中间的字符 [格式]: P=Mid(X,n 由X的第n个字符读起,读取后面的所有字符。 P=Mid(X,n,m 由X的第n个字符读起,读取后面的m个字符。 [范例]: (1 X=”abcdefg” P=Mid(X,5 结果为:P=”efg” (2 X=”abcdefg” P=Mid(X,2,4 结果为 P=”bcde” 4. R eplace: 将字符串中的某些特定字符串替换为其他字符串 [格式]: P=Replace(X,S,R [说明]:将字符串X中的字符串S替换为字符串R,然后返回。[范例]:X=”VB is very good” P=Replace(X,good,nice 输出结果为:P=”VB is very nice” 5. StrReverse:反转字符串 [格式]: P=StrReverse(X [说明]:返回X参数反转后的字符串 [范例]:(1)X=”abc” P=StrReverse(X 输出结果:P=”cba” 6. Ucase(X,Lcase(X:转换英文字母的大小写 [格式]:P=Lcase(X ‘ 将X字符串中的大写字母转换成小写P=Ucase(X ‘ 将X字符串中的小写字母转换成大写 [说明]:除了英文字母外,其他字符或中文字都不会受到影响。 [范例]:(1)令X=”VB and VC” 则Lcase(X的结果为”vb and vc”,Ucase(X的结果为”VB AND VC” 7. InStr函数:寻找字符串 [格式]: P=InStr(X,Y 从X第一个字符起找出Y出现的位置 P=InStr(n,X,Y 从X第n个字符起找出Y出现的位置 [说明]:(1)若在X中找到Y,则返回值是Y第一个字符出现在X中的位置。(2) InStr(X,Y相当于 InStr(1,X,Y。(3)若字符串长度,或X为空字符串,或在X中找不到Y,则都 返回0。(4)若Y为空字符串,则返回0。 ---------------------------------------------------------------------------------------------- mid(字符串,从第几个开始,长度 ByRef 在[字符串]中[从第几个开始]取出[长度个字符串] 例如 mid("小欣无敌",1,3 则返回 "小欣无" instr(从第几个开始,字符串1,字符串2 ByVal 从规定的位置开始查找,返回字符

VB基本操作题

基本操作题,请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码) 1、(1)在名为Form1的窗体上绘制两个标签(名称分别为Label1和Label2,标题分别为“长”和“宽”)、两个文本框(名称分别为Text1和Text2,Text属性均为空白)和一个命令按钮(名称为Command1,标题为“输入”)。编写命令按钮的Click事件过程,使程序运行后,若单击命令按钮,则先后显示两个“输入”对话框,在两个“输入”对话框中分别输入长和宽,并分别在两个文本框中显示出来,运行后的窗体如图21-1所示。 注意:程序中不得使用任何变量;文件必须存放在考生文件夹中,工程文件名为sj1.vbp,窗体文件名为sj1.frm。 (2)在名为Form1的窗体上绘制一个标签(名称为Label1,标题为“输入”)、一个文本框(名称为Text1,Text属性为空白)和一个命令按钮(名称为Command1,标题为“显示”)。请编写命令按钮的Click事件过程,使程序运行后,在文本框中输入内容,然后单击命令按钮,则标签和文本框消失,并在窗体上显示文本框中的内容。运行后的窗体如图21-2和图21-3所示。 注意:要求程序中不得使用任何变量;文件必须存放在考生文件夹中,工程文件名为Sj2.vbp,窗体文件名为sj2.frm。 2、(1)在窗体上添加通用对话框控件并编写适当的程序代码,要求程序运行时,双击窗口,可以弹出“颜色”对话框。程序运行时的窗体界面如图62-1所示。 注意:保存时必须存放在考生文件夹下,窗体文件名为sj1.frm,工程文件名为sj2.vbp。 (2)在窗体上绘制出3个文本框,名称分别为Text1、Text2和Text3。要求程序运行时,焦点

VB编程实例

一、导入到Xls文件并打印 Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y) Dim a,fso a=HMIRuntime.Tags("fileName").Read Set fso = CreateObject("scripting.filesystemobject") If fso.FileExists("C:\Model.xls") Then Dim objExcelApp Set objExcelApp = CreateObject("Excel.Application") objExcelApp.Visible = False objExcelApp.Workbooks.Open "C:\Model.xls" objExcelApp.Cells(2, 3).Value = HMIRuntime.Tags("NewTag1_1").read objExcelApp.Cells(4, 5).Value = HMIRuntime.Tags("NewTag1_2").read objExcelApp.Cells(6, 7).Value = HMIRuntime.Tags("NewTag1_3").read objExcelApp.Cells(8, 9).Value = HMIRuntime.Tags("NewTag1_4").read objExcelApp.Cells(10, 11).Value = HMIRuntime.Tags("NewTag1_5").read objExcelApp.ActiveWorkbook.SaveAs("C:\Report\"&CStr(a)&".xls") objExcelApp.ActiveWorkbook.PrintOut

vb脚本

附录B.VBScript脚本函数简介 序号 内容 画面脚本全局脚本 页码 B01 运行数据库 33 3 B02 动态画面 337 B03 实时报表 337 B04 变量报警 337 B05 系统信息 339 B06 配方文件 339 B07 系统操作 3310 B08 当前时间 3311 B09 画面属性(1) 3°11 B10 线/矩形/圆形 3°13 B11 文本/变量 3°15 B12 多边形 3°16 B13 折线 3°19 B14 立体图形 3°20 B15 普通按钮 3°21 B16 圆形按钮 3°22 B17 三角按钮 3°23 B18 图标按钮 3°24 B19 定时器 3°25 B20 位图 3°25 B21 多选框 3°25 B22 单选框 3°26 B23 动画 3°26 B24 信息列表 3°26 B25 用户数据库 3327 B26 SQL命令 3329 B27 用户报表 3329 B28 流动管道 3°30 B29 子画面窗口 3°30 B30 转轮 3°31 B31 标签 3°31 B32 列表框 3°32 B33 数据库连接 3332 B34 配方操作按钮 3°32 B35 报表打印按钮 3°33

B36 报警状态按钮 3°33 B37 系统信息查询按钮 3°34 B38 报警信息查询按钮 3°34 B39 存档数据查询按钮 3°34 B40 存档曲线查询按钮 3°34 B41 用户管理 3334 B42 子窗口容器 3°35 B43 Gif图片 3°35 B44 实时曲线 3°35 B45 屏幕打印 3°36 B46 画面操作(2) 3°36 B47 行打印 3337 B48 INI文件 3338 B49 数据转换 3339 B50 数据库查询按钮 3°39 B51 串口操作 3340 B52 数据库列表 3°41 B53 报警状态列表 3°41 B54 表格控件 3°42 B55 保留 3°43 B56 数据选择 3°43 B57 选择框 3°44 B58 选择列表 °°44 B59 自定义菜单 3°44 B60 字符串 3°45 B61 时间间隔 3°46 B62 存储过程 3346 B63 曲线查询按钮 3°47 B64 窗口操作 3°48 B65 文件操作 3352 B66 文本文件 3353 B67 TCP通讯 3354 B68 UDP通讯 3355 B69 MSN信息 3°56

在VB中用数据报表设计器创建报表

在VB中用数据报表设计器创建报表 数据环境设计器(Data Environment designer)与数据报表设计器(Data Report designer)均是Visual Basic 6.0的新增功能,它们的出现大大增强了Visual Basic处理数据的能力。在以往的Visual Basic版本中,制作报表都是通过第三方产品来完成并通过ActiveX控件输出的。这两种设计器的出现,使得Visual Basic程序员再也不用考虑选择一个什么样的第三方工具设计报表了,所有的设计全部在Visual Basic内部完成,再加上Visual Basic 6.0新增的开发IIS应用程序和开发DHTML应用程序功能,使得Visual Basic 6.0是一个名副其实的装备齐全的集成开发环境了。下面我们以一个比较简单的报表为例,详细阐述如何使用数据环境设计器和数据报表设计器来设计一个数据报表。 一、数据环境设计器与数据报表设计器 数据环境设计器提供了一个交互式的设计环境。通过设置Connection对象和Command 对象的属性,可以快速完成到一个数据源的连接。对于设置好的数据环境设计器,可以将它的对象拖放到表单上或是报表上,它会自动创建并完成数据绑定控件的设置。 数据报表设计器是一个极为灵活的设计报表的工具。它以数据环境设计器作为数据源,能创建有层次的、汇总若干个关系型数据表数据的复杂报表。除了像传统的报表设计工具那样能将报表通过打印机输出以外,数据报表设计器还能以HTML或文本文件的格式输出报表。 二、数据环境对象 数据环境设计器包含以下几个对象: 1. 数据连接(Connection)对象:连接对象表示到一个作为数据源的远端数据库或本地数据库的连接。在数据环境中必须至少包含一个连接对象,要使用数据环境存取数据,必须首先创建连接对象。 2. 数据命令(Command)对象:命令对象定义了从数据库连接中将取回什么数据的详细信息。命令对象可基于任何一个数据库对象(表、视图、存储过程或同义字)或是一个SQL 查询。 三、数据报表对象 数据报表设计器包括以下几个对象: 1. 数据报表(Data Report)对象:类似于Visual Basic表单,它包含一个可视化设计器和一个代码模块。设计器用来创建报表的布局,也可以往设计器的代码模块里添加代码,用程序对包含在设计器里的控件或区域进行控制。 2. 区域(Section)对象:数据报表设计器的每一个区域均由一个区域集对象中的一个区域对象来表示。在设计阶段,每一个区域都有一个标题,若要选择区域,只需用鼠标选择标题即可,并且在区域内可布置控件。在报表建立之前,使用区域对象及其属性调整报表。使用过报表的人都知道,报表可分为报头、报脚、页头、页脚、组头、组脚和细节等部分,在区域内也是一样的。

VB6.0基础入门教程

VB最简单入门教程

目录 (提示:按ctrl,并单击鼠标,可以跳到相应页) 1.1 1 我们需要什么 (3) 1.2 2 第二章:事件、属性及数据类型 (3) 1.3 3 第三章:VB语言 (6) 1.4 4-1第四章按钮(一) (12) 1.5 4- 第四章按钮(二) (199) 1.6 5 第五章菜单 (27) 1.7 6-1第六章输入(一) (34) 1.8 6-2第六章输入(二) (42) 1.9 6-3第六章输入(三) (52) 1.10 7第七章输出 (59) 附录 (63) 2.1 VB教程 (63)

1.1 1 我们需要什么 我们需要什么?当我们在一个精彩的游戏世界中游历了一番之后,或是惊叹于某一工具软件的小巧精致之余,多少总会产生些许编程的冲动。编程吗,在以前如果你对电脑还是一个门外汉,那实在是一件可望而不可及的事情。如果运用基于DOS下的编程语言,譬如C、Qbasic、Pascal等等,真不知何年何月才能有所成就。 编程是需要天赋的,你必须在大脑中对整个程序有一个清晰的轮廓,一个高效的流程,这并不是每个人都能做到的,你必须思之慎之,这也使编程变成一件最枯燥无味的事情。但在第四代计算机语言(可视化编程)出现后,可以确切的说它开发了人们的更多天赋,并不局限于那些头脑异常清晰的人,每一个人都可以发现自己也可以编出一些从前不敢问津的程序,想象力的充分发挥才是第四代语言的精粹。 Visual Basic(以下简称VB)可以说是可视化语言的先驱了,而且它也是可视化程度最高的一个,从几年前VB诞生之日起到现在,它已经经历了五个版本,而且现在微软正在紧张的进行着VB6.0的研制、测试,这么高的更新率,不外乎说明两个问题:用户对VB的热衷,微软对VB的重视。不可否认微软对市场的预测能力是极为高明的,而它强大的技术、财力支持也使它在许多以前未进入的领域,在不长的时间内有成为最有力的竞争对手,如IE之于浏览器领域,《帝国时代》之于游戏都是最好的例证。对于VB现在也有一个很强的竞争对手――Delphi,有人把它称作VB杀手,这显然有偏激之处,VB的确有它的不足之处,但Delphi 又何尝不是呢,而且以微软对VB的倾心,VB的功能必然会越来越强大。 VB的诞生 VB的出现可以说是Microsoft Windows的日渐成熟的必然产物。Microsoft Windows为程序员和最终用户提供了一个共同的人机界面。对用户,Windows提供了一个图形鼠标的操作环境,该环境对所有的应用程序都一样;对于程序员,Windows提供了一组预定义工具----称之为Microsoft Windows 的软件开发工具箱(SDK),该工具能使程序员建立一个与Windows界面相同的应用程序,而且,程序员不必关心最终用户的硬件配置情况。在这一开发环境中,程序员唯一困难的是Microsoft SDK提供了六百多个函数和与其一致的事件驱动(event-driven)编程技术。两种新方法的交叉使众多的程序员重新陷入困境,程序员不仅要掌握程序驱动编程技术和六百多个函数的功能,而且还得用C语言描述这些问题。因此一般情况下,程序员首先要掌握C程序设计技术,而后再开始学习SDK。这样的条件下就要求在Microsoft多任务环境下出现一种操作方便,使用简单的新工具----Visual Basic由此诞生。 何为可视 英文Visual的意思是“视觉的”,“可视的Baisc”这个名字可能抽象了点,但实际上它却是最直观的编程方法,之所以叫做“可视”,你只要看到VB的界面就会明白,实际上你无需编程,就可以完成许多步骤。在VB中引入了控件的概念,在Windows中控件的身影无处不在,各种各样的按钮、文本框、无线钮,都是控件的种类,VB把这些控件模式化,并且每个控件都有若干属性用来控制控件的外观,工作方法。这样你就可以象在画板上一样,随意点几下鼠标,一个按钮就完成了,这些在以前的编程语言下是要经过相当复杂的工作的。

VBS脚本参考

VBS脚本参考之一——使用连字符2007年06月14日星期四下午08:35前言 这一章的前半部分介绍了VB 脚本最基本的概念,并且告诉你它可以完成的工作,尤其是VBS和其它的如WMI、ADSI 接合在一起的时候。后半部分主要介绍了VBS对系统管理员更有用的部分。 许多脚本和程序语言在向文本输入的时候并不严格的遵守文本的行。例如,尽管下面这个JS 脚本写了很多行,但是,JS 把它当做一行来处理。这是因为,在大部分的时候,JS 只有看到中止符的时候才认为使一个行的中止。在这个例子中,中止符就是“;”。在实际中敲入的行是和脚本本身不相关的。 var 作者:临汾市外事旅游局薛靖澜,转载请注明出处] objWMI =new Enumerator (GetObject("winmgmts:") . InstancesOf("Win32_process")) ; 正好相反,同样的一段代码,用VB 写的时候就会报一个语法错误。 Set objWMI = (GetObject("winmgmts:") . InstancesOf("Win32_process")) 这是因为,VBS用回车键来代替特定的中止符。为了中止一个VB脚本,你不需要来敲入一个分号或者其它的特殊的符号,你只需要敲回车键就好了。一般来讲,不用中止符的限制,使VBS 在编写的过程中变的简单,但是也有一点会有些复杂。为了增强程序的可读性,建

议每行的最大长度不超过80个字符。那么当你的一行代码中有100 个字符,怎么办呢?尽管看来好象有个很简单的解决办法,但是你不能用回车键来将一行代码分隔成很多行。例如如下的代码片断会返回一个VB 运行错误因为它用回车键来分隔脚本 strMessageToDisplay = strUserFirstName, strUserMiddleInitial, strUserLastName, strCurrentStatus Wscript.Echo strMessageToDisplay 你不能用回车建来换行,因为在VB 中它认为回车是代表一段代码的中止,在上面的代码中,它认为第一行是脚本的第一部分陈述内容。然后认为第二行是另外一部分陈述内容。这样因为strCurrentStatus 不是一个VBS的命令,所以就报错了。为了解决这个问题,VB 脚本用下划线来表示下面一行是上面一行的代替。在VB 的早期修订版本中,在第一行末尾加一个空格和一个下划线来表示第二行是第一行的继续。为更明确的表明这个意思,第二行前面要加四个空格。(这样作是为了可读,你其实不必在继续的行前作特定的标识──就是不用在第二行前加四个空格。)作者:临汾市外事旅游局薛靖澜,转载请注明出处] strMessageToDisplay = strUserFirstName, strUserMiddleInitial, strUserLastName, _ strCurrentStatus Wscript.Echo strMessageToDisplay 当继续的行又引号的时候,它就显的特别复杂。例如,架设你用下划线和空格来分隔一个WMI脚本: Set colServiceList = GetObject("winmgmts:").ExecQuery("SELECT * FROM _ Win32_Service WHERE State = 'Stopped' AND StartMode = 'Auto' ") 如果你运行这个脚本,它会弹出一个错误,因为继续换行符放在了引号中间了,这样它就认为换行符是字符串的一部分。为了分隔这个陈述: 1:在第一行用引号中止,然后插入空格和下划线 2:用and(&)符号来开始下一行,这表示第二行是第一行字符串的继续 3:在下一行开始之前加入引号这些引号表示这些陈述是包涵在上面的一行中的,没有了引号,它就VB就解释Win32_Service 是VB 的陈述语句,因为这个语句不是合法的,所以就产生了错误。修正的版本如下: Set colServiceList = GetObject("winmgmts:").ExecQuery("SELECT * FROM " _

VB操作wincc脚本心得

Vbs 操作wincc画面脚本总结 一:不使用变量单纯的操作界面 1.操作某个画面中控件的属性如Home1.Pdl(总窗体)下的画面窗口2(画面窗口) Sub OnClick(ByVal Item) Dim objCircle Dim screenname Dim pwname Set objCircle= ScreenItems("圆1" ) objCircle.Radius = 60 Set screenname=HMIRuntime.Screens("Home1") //获取要操作的窗体 Set pwname=screenname.ScreenItems("画面窗口2") //获取要操作的控件,这里填入你要操作的控件名 MsgBox(objCircle.Radius) //输出圆的半径 MsgBox (pwname.Picturename) //输出当前画面窗口2的名字 End Sub 注意当调用某窗体下的某控件的某个属性时,需要声明两个对象,一个接纳这个控件,一个接纳值例如 Dim object Dim value Set object =HMIRuntime.Screens("Home1").ScreenItems("画面窗口2") Set value=object.picturename 2.更改画面窗口的对象 Sub OnClick(Byval Item) Dim opObject Set opObject=HMIRuntime.Screens ("Home1").ScreenItems("画面窗口2") opObject.PictureName="Page1.Pdl" End Sub 3.设置文本 Set titleTxt=HMIRuntime.Screens ("Home1").ScreenItems("静态文本2") titleTxt.Text =titleTxt.Text+"EF" //获取文本的值并追加字符 4.vb 字符串函数 VB的字符串截取函数有Left(字符串,n),返回字符串前N个字符;Mid(字符串,p,n),从第p个字符开始,向后截取N个字符;right(字符串,n),返回字符串的最后n个字符。 获取下标

vb报表设计

第六节报表设计 对一个完整的数据库应用程序来说,制作并打印报表是不可缺少的环节。6.0 提供了对象作为数据报表设计器(),对象除了具有强大的功能外,还提供了简单易操作的界面。 对象可以从任何数据源包括数据环境创建报表,数据报表设计器可以联机查看、打印格式化报表或将其导出到正文或页中。 一、报表设计器 数据报表设计器由对象、对象和控件组成。 1对象 对象与的窗体相似,同时具有一个可视的设计器和一个代码模块,可以使用设计器创建报表的布局,也可以在代码模块中添加代码。 在“工程”菜单上,单击“添加”命令,将数据报表设计器添加到工程中,则出现如图5-6-1所示的1对象,由“报表标头”、“页标头”、“细节”、“页注脚”和“报表注脚”组成。 图5-6-1 ·报表标头:指显示在一个报表开始处的文本,例如用来显示报表标题、作者或数据库名。 ·页标头:指在每一页顶部出现的信息,例如用来显示每页的报表标题。

·分组标头、注脚:指数据报表中的“重复”部分。每一个分组标头与一个分组注脚相匹配,用于分组。 ·细节:指报表的最内部的“重复”部分(记录),与数据环境中最低层的子对象相关联。 ·页注脚:指在每一页底部出现的信息,例如,用来显示页码。 ·报表注脚:指报表结束处出现的文本,例如,用来显示摘要信息或一个地址或联系人姓名。报表注脚出现在最后一个页注脚之前。 2对象 数据报表设计器的每一个部分由对象表示,如图5-6-1中的1~5。设计时,每一个由一个窗格表示,可以单击窗格以选择页标头,编程改变其外观和行为,也可以在窗格中放置和定位控件,对对象及其属性进行动态重新配置,更改每一个对象的布局来设计报表。 3控件 当一个新的数据报表设计器被添加到工程时,在窗体上控件箱出现“数据报表”和“”(通用)选项卡,如图5-6-2所示。但在数据报表设计器上不能使用的控件,即内部控件或控件。数据报表选项卡中的控件仅包含可在数据报表设计器上工作的特殊控件。 图5-6-2 数据报表选项卡有下列控件: ·控件():文本框用于在报表上设置规定文本格式,或指定一个。 ·控件():用于在报表上放置标签、标识字段或。

VB基本语法

1.1 VB的数据类型 数据类型是数据的表示和存储形式。VB定义的基本数据类型如表5-1所示。 表5-1 VB的基本数据类型 Integer(整型)、Long(长整型)、Single(单精度浮点型)、Double(双精度长整型)及Currency(货币型)均为Numeric数据类型。其中整型是16位的整数,长整型是32位的整数。单精度及双精度浮点型就表示实数,常被用于数量较大的数字。Currency数据类型支持小数点右面15位,是定点数据类型,适用于货币计算。 String(字符串变量)的数据类型只存放文本,是一个字符序列,它的每一个字符用ASCII 编码表示。不包含任何字符的串称为空串。 Byte数据类型表示0到255之间的数,常用于访问二进制文件、图形和声音文件

等。当需要把数据存放成字节,必须访问各字节时可采用Byte类型。 取值仅为True/False的类型称为Boolean(布尔)型,缺省值为False。 Date数据类型用于以特殊方式存放日期和时间。 Object变量可引用应用程序中或某些其他应用程序中的对象。 VB缺省规定,如果在生命中没有说明数据类型,则变量的数据类型为Variant(变体)。Variant数据类型还包含三种特定值:Empty、Null、Error。Empty值用于确定是否已将一个值赋予所创建的变量。赋值之前,Variant变量具有值Empty。 Null常用于数据库应用程序,表示未知或丢失为空的数据。 Error值是指已发出的过程中的错误状态。 Variant数据类型是最为灵活的数据类型,可以依据不同的需要进行各种数据类型的转换。它实际上包含两部分信息,一部分是数据类型的信息,一部分是表示数据值的信息。但正是由于它的灵活性,又使得它存在着一个明显的缺点,Variant数据类型比其他类型的数据占有更多的内存空间。 2 数组 VB中数组的定义类似于变量定义,所不同的是数组需要指定数组中的元素个数,例如:Dim Array(9)As Integer 数组中包含10个元素,脚标从0到9。 也可以指定脚标的起始值,例如: Dim IntegerArray(2 to 10)As Integer 这个数组含有九个元素,脚标从2到10。 还可以定义多维数组: Dim ThreeD(4,2 to 5,3 to 6)As Integer

vb二级基本操作题

第一章:基本操作题 ⑴在名称为Form1的窗体上画一个名称为Text1的文本框,请设置适当属性,使文本框中无初始内容,可显示多行,有垂直滚动条,且最多只能输入1000个字符。如图所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为sjt11.vbp,窗体文件名为sjt11.frm。 ⑵在名称为Form1的窗体上画两个文本框,其名称分别为Text1和Text2,内容分别为“文本框1”和“文本框2”,编写适当的事件过程。程序运行后,如果单击窗体,则Text1隐藏,Text2显示,如图1所示;如果双击窗体,则Text1显示,Text2隐藏,如图2所示。 注意:程序中不得使用变量。 存盘时必须存放在考生文件夹下,工程文件名为sjt12.vbp,窗体文件名为sjt12.frm。 ⑶在名称为Form1的窗体上画一个标签,其名称为Label1,标题为“程序设计”,BorderStyle属性为1,且可以根据标题自动调整大小,编写适当的事件过程。程序运行后,其界面如图1所示,此时如果单击窗体,则标签消失,同时用标签的标题作为窗体的标题,如图2所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为sjt13.vbp,窗体文件名为sjt13.frm。 (4)在名称为Form1的窗体上画一个命令按钮,其名称为C1,标题为“移动”,位于窗体的左上部,如图1所示,编写适当的事件过程。程序运行后,每单击一次窗体,都使得命令按钮同时向右、向下移动100. 注意:存盘时必须存放在考生文件夹下,工程文件名为sjt14.vbp,窗体文件名为sjt14.frm。 (5)在窗体上画二个文本框,名称分别为Text1、Text2。请设置适当的控件属性,并编写适当的事件过程,使得在运行时,如果在Text1中每输入一个字符,则显示一个“*”,同时在Text2中显示输入的内容(如图2所示)。程序中不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工程文件名为sjt15.vbp,窗体文件名为sjt15.frm。 (6)在名称为Form1的窗体上画二个文本框,名称分别为T1、T2,初始情况下都没有内容。请编写适当的事件过程,使得在运行时,在T1中输入的任何字符,立即显示在T2中(如图所示)。程序中不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工程文件名为sjt16.vbp,窗体文件名为sjt16.frm。

VB程序设计课程设计报告

《VB程序设计》 课程设计报告 (2016 —2017 学年第1学期) 题目:______________ 排序演示_____________________________ 学院: _______ 经济与管理学院_________________ 班级: __________ 物流管理1502 __________________ 学号: ____________________________________ 姓名:_________________________________ 指导教师: __________ 阮冰_______________________ 时间:起2017年1月3日止1月6日

一、课程设计基本信息 课程代码: 课程名称:计算机基础课程设计 课程英文名称:Computer-based Course Design 课程所属单位(院(系)、教研室):数学与计算机学院计算机基础课程群 课程面向专业:生物科学类、制药工程、制药工程(生物制药卜药物制剂、物流管理 课程类型:必修课 先修课程:大学计算机基础通识选修课程、Visual Basic程序设计课程 学分:1 总学时:16 二、课程设计目标 掌握所学语言程序设计的方法,熟悉所学语言的开发环境及调试过程,熟悉所学语言中 的数据类型,数据结构、语句结构、运算方法,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。通过综合设计要求达到下列基本技能: 1 ?培养查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。 2 ?通过对所选题目方案分析比较,确立方案,编制与调试程序,初步掌握程序设计的方法,能熟练调试程序。 3?系统设计编程简练,可用,功能全面,并有一定的容错能力。用户界面良好,有较好的输出功能。在完成课题基本要求后,具有创新型设计,具有一定的实用价值。 4 ?根据个人的设计调试过程,撰写设计报告。 三、课程设计内容 利用已掌握的VB程序设计语言基础,以及面向对象的程序设计方法、事件驱动的编程方式,进行应用程序和系统的开发设计。在强化巩固已有编程知识基础之上,训练新的设计 与编程思路,通过综合应用所学知识设计、编制、调试实用的Visual Basic程序。 四、课程设计要求 1. 要求每个同学都要认真对待,积极参与。 2. 课程设计结束时,提交完成的所有源程序、相关文件和可执行文件。同时填写并完成《课程设计报 告册》。 3. 不符合要求的程序、设计报告、抄袭的设计报告或源程序代码、在设计中完全未参 与的将作不及格处理。 五、考核方式 指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神 和设计报告等进行综合考评,百分制计算,具体考核标准主要包含以下几个部分: 1. 程序运行情况20分 2. 程序功能的完善程度10分 3. 程序结构的合理性10分 4. 对问题的答辩情况20分

相关文档