在现在的机器上新建一个工程运行正常(向导程序除外)。 出错的代码贴子内容里已有: Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) 这就奇怪了。 同样的代码为什么用新建工程就运行正常呢??!! 怎样才能不用新建工程的方法使以前的代码正常运行呢??
在现在的机器上新建一个工程然后手工加入同样的代码运行正常。 出错的代码贴子内容里已有: Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) 这就奇怪了。 同样的代码为什么用新建工程就运行正常呢??!! 怎样才能不用新建工程的方法使以前的代码正常运行呢??
你一定曾经添加了一个同名控件,看看你的adodc1,应该它的index属性是某一个数,不是空值 因为如果index非空,则说明这是个控件数组,它的生命需要有index参数 Private Sub Adodc1_MoveComplete(Index as integer,ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) 只要在属性栏中将改控件的index清空即可
to sssoft(恒谦) 但是如何解释以前可以现在不行?
你一定曾经添加了一个同名控件,看看你的adodc1,应该它的index属性是某一个数,不是空值 因为如果index非空,则说明这是个控件数组,它的函数都需要有index参数 Private Sub Adodc1_MoveComplete(Index as integer,ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) 只要在属性栏中将该控件的index清空即可 一定是这个问题。。
这就说明你这种方法恐怕也不行。
有没有VB或系统设置方面来考虑解决的办法呢?
另外我重装了一遍VB照样解决不了。
发生此问题主要是文件路径发生了变化。如:按装别的软件等等。
出错的代码贴子内容里已有:
Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
这就奇怪了。
同样的代码为什么用新建工程就运行正常呢??!!
怎样才能不用新建工程的方法使以前的代码正常运行呢??
出错的代码贴子内容里已有:
Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
这就奇怪了。
同样的代码为什么用新建工程就运行正常呢??!!
怎样才能不用新建工程的方法使以前的代码正常运行呢??
我以前VBsp5的程序因为要和同事兼容非转到sp3
结果出现和你基本一样的问题
想尽办法最后还是新建工程搞定
你可以用文本打开工程文件比较一下工程文件的库引用什么不同
就知道结果了
因为如果index非空,则说明这是个控件数组,它的生命需要有index参数
Private Sub Adodc1_MoveComplete(Index as integer,ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
只要在属性栏中将改控件的index清空即可
但是如何解释以前可以现在不行?
因为如果index非空,则说明这是个控件数组,它的函数都需要有index参数
Private Sub Adodc1_MoveComplete(Index as integer,ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
只要在属性栏中将该控件的index清空即可
一定是这个问题。。
所以我认为比较两个工程文件就可以找到症结所在,对吗?
如何解释以前可以现在不行?
如何解释新建工程就可以运行?
在里面写一句话msgbox "哈哈哈哈哈"
然后选中这个按钮,点击右键,选择复制,然后选择粘贴,“你已经有了一个“选择是
然后你再运行一下程序,会看到同样的提示
因为ado的这个事件的定义,所有的版本都是一样的,除了控件数组。:)
如果是因为sp版本不同,怎样才能消除sp对现在程序的影响呢?
感谢大家参与。
由于hnlzh(吸海垂虹)的大力关注,主要分数将送给hnlzh(吸海垂虹)。