-
【VB】编译错误
2018-05-01 09:38:55以下三种解决方法: 1)工程——引用——选中"Microsoft ActiveX Data Objects 2.6 Library"——点击“确定” 拓展:ActiveX DataObjects,简称ADO,访问数据库的一个接口,就是用来跟数据库交互的。 2)检查定义...1、编译错误:用户定义类型未定义
原因:未引用控件或代码错误
以下三种解决方法:
1)工程——引用——选中"Microsoft ActiveX Data Objects 2.6 Library"——点击“确定”
拓展:ActiveX Data Objects,简称ADO,访问数据库的一个接口,就是用来跟数据库交互的。
2)检查定义的代码是否有问题,要保证上下文的定义代码一致
3)"Ctrl+T"打开部件,添加“Microsoft ADD Data Control 6.0(OLEDB)”,点击“应用”——“确定”
2、编译错误:在End Sub、EndFunction或End属性后面只能出现注释
原因:End Sub、End Function后不能接句子
解决方法:若End Sub、EndFunction后边的句子有用,则移动位置;若没用,直接删除(简单粗暴)
3、编译错误:变量未定义
解决方法:将出现问题的代码名称用Dim定义
例:UserName="'
Dim UserName As String
4、编译错误:无效或不合格的引用
例:Set .mrc
解决方法:去掉“点”(画蛇添足)Set mrc
5、编译错误:子程序或函数中的属性无效
解决方法:删除出问题的语句
6、编译错误:未找到方法或数据成员
原因:未引用部件
解决方法:工程——部件——选中“Microsoft DataGrid Control 6.0(OLEDB)”——点击“确定”
7、编译错误:子程序或函数未定义
例:ExecuteSQL_Exit
解决方法:在上述语句后加“:”(马大哈)
8、编译错误:ByRef参数类型不符
原因:对应参数的类型不符造成
造成这种情况一般有几种情况:
(1)传递参数未定义类型,如果参数在调用前未定义类型,系统自动将它定义为Variant类型,由于与过程或函数中的对就参数类型不相同,所以提示"ByRef参数类型不符"
(2)传递参数类型已经定义,但由于定义方法不对,所以提示"ByRef参数类型不符"。具体情况如下:
当VB中如此定义变量时,将会出现以上错误信息的出现
Private Sub Command1_Click() Dim i , j As Integer i = 3 j = 4 Call get1(i, j) Text1.Text = i End Sub Private Sub get1(ByRef para1 As Integer, para2 As Integer) para1 = para1 + para2 End Sub 如果将 Dim i , j As Integer 改为 Dim i As Integer Dim i As Integer
程序执行正常。也就是说,第一种方法的变量定义,只是对 J 做了定义,并未对前面的 I 进行定义。
一般在过程和函数中定义参数时采用ByRef,则要求参数声明的类型和实际参数的类型完全相同,否则VB就会报告错误。
解决方法:将出现问题的代码重新定义即可
9、编译错误:缺少子程序、函数或属性
——解决方法
很明显的错误,语句写的不对,这就要求大家在写代码的时候一定要认真,认真再认真,正确的如下:
以上是目前发现的问题,未完待续,敬请期待...
-
VB.NET 入门经典 (第三版)
2009-07-29 16:56:269.1 主要错误类型 254 9.1.1 语法错误 255 9.1.2 执行错误 257 9.1.3 逻辑错误 257 9.2 调试 258 9.2.1 创建示例项目 258 9.2.2 设置断点 262 9.2.3 使用命令窗口进行调试 269 9.2.4 使用监视窗口进行调试 270 9.2.5... -
VB.NET程序调试
2018-03-11 11:11:14程序中的错误可分为语法错误、逻辑错误或运行错误三种类型,系统会在语法错误的下面加上波浪线,比较容易查找和排除,而逻辑错误或运行错误排除则比较困难。当程序中出现了逻辑错误或运行错误而又难以解决时,就应该...程序出现的错误
程序中的错误可分为语法错误、逻辑错误或运行错误三种类型,系统会在语法错误的下面加上波浪线,比较容易查找和排除,而逻辑错误或运行错误排除则比较困难。当程序中出现了逻辑错误或运行错误而又难以解决时,就应该借助于程序调试工具对程序进行调试。所谓程序调试就是在应用程序中查找并修改错误的过程。通过程序的调试可以纠正程序中的错误。为了更正程序中发生的不同错误,VB.NET提供了多种调试工具,如设置断点、插入观察变量、逐行执行和过程跟踪、各种调试窗口等。
为了方便用户对程序进行调试,VB.NET提供了一组调试工具。可通过“调试”菜单和“调试”工具栏来调用这些调试工具,“调试”菜单如图所示,“调试”工具栏如图所示。当调试工具栏没有出现时,可执行【视图】→【工具栏】→【调试】使之出现,如图所示。上述就是相同功能的不同位置放置。1.设置和删除断点
断点是应用程序暂时停止执行的位置,也是让应用程序进入中断模式的地方。在程序设计中:可以在中断模式和校式下设置和删除断点在调试程断点,这样,有利于测试程序的功能和发现程序的逻辑错误。
设置断点的方法主要有以下几种
①在代码窗口中,单击要设置断点的那一行代码,然后按F9键
②在代码窗口中,在要设置断点的那一行代码行击鼠标右键并选择插入断点”命令代码窗口中,在要设置断点的那一行代码行的左边界上的盛条上单击。被设置成断点的代码行显示为红色,并在其左边显示一个红点,如图所示。若要删除一个断点,只需重复上面步骤即可。
2.跟踪程序的执行
为在VB.NET中,提供了“逐语句”、“逐过程”、“跳出”等好几种跟踪程序执行的方式。
①逐语句执行:“逐语句”执行方式是一次执行一条语句,这种方使用“即时”窗口、“局部变量”窗口或“巡视”窗口,来查看语句的执行结果,借此分析程序中存在的问题。
②逐过程执行:“逐过程”执行与逐语句执行类似,差别在于当前语句如果包含过程调用,“逐语句将进入被调用过程,而“逐过程”则把整个被调用过程当作一条语句来执行。
③跳出:“跳出”命令是连续执行当前过程的剩余语句部分,并在调用该过程的下一个语句行处中断执行
以上三种命令均可以通过执行【调试】菜单中的相应菜单命令或单击【调试】工具栏上的相应按钮来实现。
在调试应用程序时,经常要分析应用程序的程序段或语句的运行结果,并希望能够看到变量、属性、表达式等值的变化,以便找出错误所在处。为便于观察程序块或语句的运行结果,在VB.NET提供了很多调试窗口,充分利用这些窗口,可以提高程序调试的效率。下面将一一介绍主要调用窗口的功能。1.”命令”窗口
为在VB.NET中,有一个”命令”窗口,在该窗口中可以直接使用VB.NET的各种命令与系统交互。”命令”窗口有两种不同的模式:命令模式和立即模式。命令模式主要用来执行命令,立即模式主要用于调试程序。在调试应用程序执行函数或语句等操作时,可使用立即模式查看,并更改变量的值。通过执行【调试】→【窗口】→【即时】命令,可以以立即模式打开”命令窗口。当命令窗口处于立即模式时,标题栏显示”命令窗口立即”,如图所示。
2.监视窗口
“监视”窗只能在运行模式或中断模式下打开
利用监视”窗口,可以动态观察变量、数组、数组元素和表达式的值,从而可以观察程序的运行情况,找到错误的所在。在”监视”观察的变量或表达式称为监视表达式。 打开方法是执行【调试】→【窗口】→【监视】命令,打开的监视”窗口如下图所示。
若要在”监视”窗口中添加监视表达式,只需单击【监视】窗口”名称”列最下面单元格上单击在其中输入监视表达式即可。”监视窗口是最重要的调试用窗口之在逐语句运行的情况下,通过该窗口可以看到每执行一条语句后,监视表达式值的变化情况,从而可以找到错误所在。
“局部变量”窗口可以显示当前过程中所有局部变量的值。当程序从过程执行到另一个过程时,”局部变量“中显示的变量及其值也会随之改变,因为该窗口只显示当前正在执行的过程中所有局部变量的值。打开局部变量“窗口的方法是执行【调试】→【窗口】→【局部变量】命令,打开“局部变量”窗口。
局部变量”窗口只显示当前过程的局部变量”的值,楔块级变量和全局变量的值不会显示在该窗口中。除了上述窗口外,还有任务列表“窗口、”输出窗口、”Me”窗口等调试窗口。 -
VB.NET 入门经典 (第三版)续传
2009-08-06 16:26:229.1 主要错误类型 254 9.1.1 语法错误 255 9.1.2 执行错误 257 9.1.3 逻辑错误 257 9.2 调试 258 9.2.1 创建示例项目 258 9.2.2 设置断点 262 9.2.3 使用命令窗口进行调试 269 9.2.4 使用监视窗口进行调试 270 9.2.5... -
非Access数据库在VB中的编程及应用
2009-05-12 17:26:13三 、数据存取对象变量对外来数据库编程的方法及其实例在VB专业版数据库编程的三种方法中,第二种-使用数据库存取对象变量(DAO)的方法最具有功能强大、灵活的特点。 它能够在程序中存取ODBC 2.0的管理函数;可以... -
VB.NET 入门经典 (第三版)续传4
2009-08-13 15:52:589.1 主要错误类型 254 9.1.1 语法错误 255 9.1.2 执行错误 257 9.1.3 逻辑错误 257 9.2 调试 258 9.2.1 创建示例项目 258 9.2.2 设置断点 262 9.2.3 使用命令窗口进行调试 269 9.2.4 使用监视窗口进行调试 270 9.2.5... -
想要VB程序变得更流畅完美吗?看看吧!
2012-04-19 23:50:00如图,错误大概分三种类型,他们三种错误类型的捕捉程度是成递增趋势,逻辑错误是最难发现的.需要我们反复富有耐心的去调试. 在调试工具中,调试工具栏是非常重要的,和本地窗口,立即窗口还有监视...程序是在不断调试的过程中逐步完善的,在这个过程中错误是在所难免的,程序越复杂,错误也越容易产生,而且有的错误还会导致程序崩溃,因此通过不断测试来捕捉错误是非常必要的.
如图,错误大概分三种类型,他们三种错误类型的捕捉程度是成递增趋势,逻辑错误是最难发现的.需要我们反复富有耐心的去调试.
在调试工具中,调试工具栏是非常重要的,和本地窗口,立即窗口还有监视窗口配合使用哦,合作使用.本地窗口可以自动显示出所有在当前过程中声明的变量和变量的值;程序在中断模式中立即窗口会自动打开,可以验证一小段代码的错误与否;监视窗口,用来监视某个表达式或者变量在程序中的变化.四者共同使用非常高效.下边是调试工具栏中的简单介绍:
Debug对象可以在程序运行当中将结果发送到立即窗口中,其中Assert法可以在该方法出现的行上有条件的将程序挂起。语法为:Object.Assert<表达式>; Print方法可以再立即窗口中显示文本,
语法:Object.Print【<表达式列>】
Stop语句,可以暂停程序的执行,可以放置到程序的任何地方,相当于设置断点。当中断时可以通过“运行”中的“继续”,继续执行命令。
在错误处理中,Err对象中含有关于运行时错误的信息,是程序中固有的共有对象。里边有三个主要的属性:1,Description属性,能够对程序出现的错误进行简短的描述。 2,Number属性,表示错误的数值编码; 3,Clear是清除Err对象。Err对象可以帮助我们很好的找到解决问题的关键。 三个On error 语句含义分别是直接转到第几行执行,停止执行,割过错误的这行接着执行程序。当然我感觉对于我们第三种还是非常实用的,它可以帮助我们避免因为小的错误而是整个工程崩溃的出现。感觉还是非常好用的。
总而言之,我们可以通过查找,想办法解决和错误处理这三个基本过程去调试我们的程序,通过各种工具,各种方法的相互配合使用,会使我们的程序非常流利的运行,达到完美的地步,怎么样,赶紧试试这些功能吧。
当然里边还有很多不完善,还请各位大侠指出,本人将倍感高兴!
-
VB.Net常用语法
2009-03-15 23:47:02这个取代VB6中的使用type………end type方式自定义类型的方法。 八:return返回值 function functionname() return X。。。。。。 end funtion 他的作用与下面一样: function functionname() ... -
vb Script参考文档
2009-07-28 22:13:02CBool 函数 返回已被转换为 Boolean 子类型的变体的表达式。 CByte 函数 返回已被转换为字节子类型的变体的表达式。 CCur 函数 返回已被转换为货币子类型的变体的表达式。 CDate 函数 返回已被转换为日期子类型的... -
可视化程序设计(VB)课件_东北大学
2014-05-09 00:34:55掌握VB的常用控件和窗体使用,包括常用控件、时钟、菜单设计、通用对话框、多重窗体、高级控件、鼠标器、键盘。掌握Windows窗口程序设计的基本能力。 (二) 重点与难点 (1) 菜单设计和多重窗体的使用。 (2) 时钟和... -
Url重写篇视频------本讲将通过实例比较ASP.NET下的三种典型URL重写方案
2009-04-22 08:15:51本讲将通过实例比较ASP.NET下的三种典型URL重写方案——ISAPI重写(使用开源组件IIRF),ASP.NET2.0内置的urlMappings和基于自定义HTTPModule的URL重写(使用NBear.Web中的UrlRewriteModule实现),并探讨URL重写中... -
VB编程资源大全(源码 网络)
2007-10-17 22:54:27(3KB) 54,cgi.ZIP 安装windows web server后用vb写cgi scripts (14KB) 55,striptxt.ZIP 去掉html中的链接后写到文本文件中 (41KB) 56,winsock.ZIP 使用windsock进行网络编程的三个例子 (165KB... -
VB6使用libxl读写Excel浅谈(一)
2019-11-18 08:53:47注释:学习就是为了忘记,让我们来先来了解一下一种无需安装Microsoft Excel和.NET框架,直接用libxl操作Excel的方法吧… 目录 文章目录一、前言二、异常捕获流程图三、异常捕获语法四、异常类型速查表 一...日期:2019年11月18日
作者:Commas
注释:学习就是为了忘记,让我们来了解一下一种无需安装Microsoft Excel和.NET框架,直接调用libxl库操作Excel的方法吧…
目录
一、libxl的简介及下载说明
(1)定义:
LibXL 是一个不依赖Microsoft Excel和.NET框架,可以直接读取和写入Excel文件的库。该库可以在C,C ++,C#,VB6,Delphi,Fortran,Python和其他语言中使用。其优点如下:- 直接读写Excel文件;
- 简单的互操作,不再依赖Excel;
- 高性能写入
(2)下载:
- 百度搜索libxl
- 进入libxl官网主页
- 进入libxl下载页面
- 解压后文件的说明
文件名称 说明 bin 32位动态链接库(非VB6所用库) bin64 64位动态链接库(非VB6所用库) doc 函数说明的文档,用C++讲解的 examples 多种语言使用libxl的例子 include_c C的文件头 include_cpp C++的文件头 lib 32位微软Visual C++的库 lib64 64位微软Visual C++的库 net .NET使用的文件 stdcall 使用stdcall调用约定的32位动态库(VB6可以调用的libxl库) 二、VB6使用libxl库操作Excel
- VB6示例libxl的说明
- VB6示例源码的解说
Option Explicit Private Sub Form_Load() On Error Resume Next Dim book As Long '存放操作Excel的指针 Dim sheet As Long '存放操作当前sheet的指针 '创建一个操作xls格式的Excel的一个实例(指针) book = xlCreateBook() If book <> 0 Then '许可证绑定 'license name:购买许可证的name 'license key:购买许可证的key 'Call xlBookSetKey(book, "license name", "license key") '新增一个工作表sheet sheet = xlBookAddSheet(book, "Sheet1", 0) If sheet <> 0 Then '在新增的Sheet1中写入数据 '在Sheet1的第三行第二列单元格写入字符串"Hello, World !" '(位置计算说明:3 = 2 + 1 , 2 = 1 + 1 ) Call xlSheetWriteStr(sheet, 2, 1, "Hello, World !", 0) '在Sheet1的第四行第二列单元格写入数值123.456 '(位置计算说明:4 = 3 + 1 , 2 + 1 + 1) Call xlSheetWriteNum(sheet, 3, 1, 123.456, 0) End If '在sheetindex = 0 的工作表(Sheet1) '前面插入一个工作表MySheet2 sheet = xlBookInsertSheet(book, 0, "MySheet2", 0) '在sheetindex = 1 的工作表(Sheet1) '前面插入一个工作表MySheet3 sheet = xlBookInsertSheet(book, 1, "MySheet3", sheet) '计算该Excel总共有多少个工作表(sheet) Dim sheetCnt As Integer: sheetCnt = xlBookSheetCount(book) Me.Caption = "SheetCount = " & sheetCnt '删除sheetindex = 1 的工作表(MySheet3) Call xlBookDelSheet(book, 1) '保存该Excel,并命名为"example.xls" Call xlBookSave(book, "example.xls") '释放操作Excel的资源 Call xlBookRelease(book) End If End Sub
- VB6示例无许可证的返回结果
- VB6示例有许可证的返回结果
三、libxl库操作Excel的流程示意图
本文参考:
1、http://www.libxl.com/download.html
2、https://blog.csdn.net/zt_xcyk/article/details/72846042
版权声明:本文为博主原创文章,如需转载,请给出:
原文链接:https://blog.csdn.net/qq_35844043/article/details/103116752 -
基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)
2011-03-12 10:44:33随着博客人数的增加, Blog 作为一种新的生活方式、新的工作方式、新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构:网络信息不再是虚假不可验证的,交流和沟通更有明确的选择和方向性,单一... -
C#微软培训教材(高清PDF)
2009-07-30 08:51:1718.2 在 C #代码中调用 C++和 VB 编写的组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间... -
【7】AccessDB快速数据访问
2014-05-22 11:03:42三种主要操作 错误输出及调试 小结 回到顶部 C#和VB数据访问的比较 C#中要进行一次普通的数据库查询,需要创建连接,再根据具体的数据库类型,创建相关的适配器对象,再创建命令对象,执行后,将结果... -
C#微软培训资料
2014-01-22 14:10:1718.2 在 C #代码中调用 C++和 VB 编写的组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间... -
基于J2EE框架的个人博客系统项目毕业设计论...
2011-05-10 11:36:56随着博客人数的增加, Blog 作为一种新的生活方式、新的工作方式、新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构:网络信息不再是虚假不可验证的,交流和沟通更有明确的选择和方向性,单一... -
ASP.NET的网页代码模型及生命周期
2009-07-28 14:22:11q 当一部分页面出现错误不会影响到其他的页面或功能。 q 不需要项目文件,可以把一个目录当作一个Web应用来处理。 总体来说,ASP.NET网站适用于较小的网站开发,因为其动态编译的特点,无需整站编译。而ASP.NET应用... -
用递归的方法画分形图
2008-11-16 17:25:46改成sqrt(3.0)就好了,vs的问题,参数多类型重载没自己识别出来 ( maxint 发表于 2008-9-4 21:27:00) skinfeature界面产品特点介绍 SkinFeature完全支持各种常用控件及窗口 。对话框,单文档界面,多文档界面的... -
ASP.NET 控件的使用
2009-04-02 16:02:5416.2.1 使用不同的参数类型 509 16.2.2 作为参数传递对象 511 16.3 使用ObjectDataSource控件分页、排序和过滤数据 515 16.3.1 用户界面分页 515 16.3.2 数据源分页 517 16.3.3 用户界面排序 522 16.3.4 数据源排序 ... -
2010年 c语言入门到精通
2010-09-07 22:26:33(4)另一个合理协议是,每个变量名以两个或三个字符缩写开始,这些字符缩写对应于变量要存储数据的数据类型。例如,使用strName来说明Name变量保存字符串型数据。 虽然现在无须过多地关注字符缩写的细节,但... -
AutoCAD VBA二次开发教程.PDF
2015-07-01 12:31:25第16章介绍了使用VB开发AutoCAD的一些知识(将VBA代码转换到VB中,VB窗体和AutoCAD的焦点切换,使用ActiveXDLL封装带有窗体的VB程序)、搜索某个文件夹中所有的文件和VBAIDE的编程,利用这些知识,完全有可能开发出... -
c#学习笔记.txt
2008-12-15 14:01:21有三种使用集合的方法: 使用上述指导创建一个集合。此集合只能用于 C# 程序。 1. 使用上述指导创建一个一般集合,另外实现 IEnumerable 接口。此集合可用于其他语言(如 Visual Basic)。 2. 在集合类中使用一个... -
通用字符串表达式编译运行库Forcal V8.0
2008-11-23 21:10:35Forcal支持整数、实数和复数三种类型的表达式,可以使用这些表达式在Forcal中设计自定义的函数。 Forcal在调用扩充的或自定义的函数时,就象调用系统内置的函数一样,没有任何分别。 Forcal对所有的函数都支持... -
dotnetcoding ORM 代码生成器
2006-06-08 00:00:00系统采用强类型来进行代码的生成,并且对最终开发人员的强类型支持很好,从而减少在编码过程中引入的错误,为编写高质量的代码提供了强有力的支持. 系统也比较充分的考虑了变更与维护的需要,在数据库设计发生变化的...