菜鸟一枚,类型不匹配调不过去了,求帮帮!有的机器就行,有的就不行。。无语
看王国荣的VB数据库设计,范例有一段调不过去了,就在我本上不行,换自己的台式机就OK。。。。求解Private Sub Command2_Click()
List1.Clear
' 搜寻所有「成交量」字段大于10000的股票,使用FindLast及FindPrevious
criteria = "成交量 > 10000"
ret = FindLast(Adodc1.Recordset, criteria) '<-------------在这提示类型不匹配
While ret
List1.AddItem Adodc1.Recordset("股票名称") & " = " & _
Adodc1.Recordset("成交量")
ret = FindPrevious(Adodc1.Recordset, criteria)
Wend
End Sub
Private Sub Form_Load()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & App.Path & "\\stock01.mdb;Persist Security Info=False"
Adodc1.CommandType = adCmdTable
Adodc1.RecordSource = "股票行情表"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
End Sub
’Find.bas
' 从最后一笔记录开始向上搜寻
Function FindLast(rs As ADODB.Recordset, ByVal criteria As String)
On Error Resume Next
rs.MoveLast
rs.Find criteria, , adSearchBackward
FindLast = Not rs.BOF And Err.Number = 0
End Function
数据库 类型不匹配 --------------------编程问答-------------------- 你没有定义变量类型,系统会默认为变体类型
dim criteria as string
criteria = "成交量 > 10000" --------------------编程问答--------------------
你说的我试过了 不是那个毛病 要不不会在两台机器上有不同的表现 我怀疑是因为某个DLL插件的问题 因为我的台式机是安装版的 本是ghost版
哪位大仙有其他建议啊! --------------------编程问答-------------------- 你做安装程序了吗?不然兼容性会很差的。 --------------------编程问答-------------------- Dim ret As Boolean
Function FindLast(rs As ADODB.Recordset, ByVal criteria As String) As Boolean
On Error Resume Next
rs.MoveLast
rs.Find criteria, , adSearchBackward
FindLast = Not rs.BOF And Err.Number = 0
End Function
--------------------编程问答-------------------- 帅哥。。BCCN 那个也是我问的好不好!别贴过来了 --------------------编程问答-------------------- 程序报错中断时候在立即窗口里输出一下这几个变量的类型,
?typename(ret);typename(Adodc1.Recordset) ; TypeName(criteria)
这样就知道哪个变量的类型出问题了
补充:VB , 数据库(包含打印,安装,报表)