想把查询做成函数(在线等)!
想把查询做成函数(在线等)!
楼主xiaofang2000(小芳)2003-06-30 16:12:02 在 VB / 数据库(包含打印,安装,报表) 提问 我想通过传参数a作为查询条件,在class_info表中查询class_name=a 的记录,得到class_id值,做为函数的返回值,我写了函数代码如下:
Public Function chang(a As String) As String
Dim sql1 As String
Dim Cnn1 As New ADODB.Connection "ADO连接
Dim Rs1 As New ADODB.Recordset "ADO记录集
Dim t As String
Rs1.CursorType = adOpenDynamic
Rs1.CursorLocation = adUseClient
Rs1.LockType = adLockOptimistic
Cnn1.CursorLocation = adUseClient
"连接字符串
Cnn1.ConnectionString = "Provider=SQLOLEDB.1;User ID=sa;Pwd=;Data Source=XFTIAN"
Cnn1.Open Cnn1.ConnectionString
Cnn1.DefaultDatabase = "deptMIS" "设置要连接数据库名称
sql1 = "select class_id from class_info where class_name="" & a & "" "
Rs1.Open sql1, Cnn1, adOpenKeyset, adLockOptimistic
t = Rs1.Fields("class_id")
chang(a) = t
End Function
请各位高手看看有什么问题.
如何才能实现我想要的功能?
问题点数:20、回复次数:5Top
1 楼newcar(newcar)回复于 2003-06-30 16:21:15 得分 5
如果没有查到记录应该返回一个指定的值,其他没有什么错误了呀Top
2 楼xiaofang2000(小芳)回复于 2003-06-30 16:30:40 得分 0
可我运行就死掉了啊Top
3 楼westseason(西城时代)回复于 2003-06-30 16:39:21 得分 15
t = Rs1.Fields("class_id")的写法是不是有问题啊?
t=trim(Rs1.Fields!class_id & "")
另外最好加判断。
chang(a) = t
返回的函数的值应该是函数名赋值
chang=tTop
4 楼xiaofang2000(小芳)回复于 2003-06-30 16:41:01 得分 0
错误信息:Function call on left_hand side of assignment must return Variant of Object.Top
5 楼xiaofang2000(小芳)回复于 2003-06-30 16:43:08 得分 0
Thanks 通过了
Top
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn
