设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1192|回复: 3
打印 上一主题 下一主题

[其它] 求助

[复制链接]
跳转到指定楼层
1#
发表于 2004-1-24 18:51:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
请问我的access的查询里有句“select * from b where customer_code=a”,a为需要传递参数,请问我在VB里怎么给a传递参数?谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

4#
发表于 2004-1-25 18:12:00 | 只看该作者
存储过程就不能这样写了,
写是可以的,就是在烦琐,要好大一段代码才能运行一个带参数的存储过程,其实在ACCESS的帮助里是有示例代码的,当初我也是按示例代码来套的:(要用ADO)

ActiveConnection、CommandText、CommandTimeout、CommandType、Size 和 Direction 属性范例
该范例使用 ActiveConnection、CommandText、CommandTimeout、CommandType、Size 和 Direction 属性执行存储过程。

Public Sub ActiveConnectionX()

    Dim cnn1 As ADODB.Connection
    Dim cmdByRoyalty As ADODB.Command
    Dim prmByRoyalty As ADODB.Parameter
    Dim rstByRoyalty As ADODB.Recordset
    Dim rstAuthors As ADODB.Recordset
    Dim intRoyalty As Integer
    Dim strAuthorID As String
    Dim strCnn As String

    ' 定义存储过程的命令对象。
    Set cnn1 = New ADODB.Connection
    strCnn = "rovider=sqloledb;" & _
        "Data Source=srv;Initial Catalog=pubs;User Id=saassword=; "
    cnn1.Open strCnn
    Set cmdByRoyalty = New ADODB.Command
    Set cmdByRoyalty.ActiveConnection = cnn1
    cmdByRoyalty.CommandText = "byroyalty"
    cmdByRoyalty.CommandType = adCmdStoredProc
    cmdByRoyalty.CommandTimeout = 15
        
    ' 定义存储过程的输入参数。
    intRoyalty = Trim(InputBox( _
        "Enter royalty:"))
    Set prmByRoyalty = New ADODB.Parameter
    prmByRoyalty.Type = adInteger
    prmByRoyalty.Size = 3
    prmByRoyalty.Direction = adParamInput
    prmByRoyalty.Value = intRoyalty
    cmdByRoyalty.Parameters.Append prmByRoyalty
  
    ' 通过执行该命令创建记录集。
    Set rstByRoyalty = cmdByRoyalty.Execute()
        
    ' 打开作者表以便显示作者姓名。
    Set rstAuthors = New ADODB.Recordset
    rstAuthors.Open "authors", strCnn, , , adCmdTable
   
    ' 打印记录集中的当前数据,从作者表中添加作者姓名。
    Debug.Print "Authors with " & intRoyalty & _
        " percent royalty"
    Do While Not rstByRoyalty.EOF
        strAuthorID = rstByRoyalty!au_id
        Debug.Print , rstByRoyalty!au_id & ", ";
        rstAuthors.Filter = "au_id = '" & strAuthorID & "'"
        Debug.Print rstAuthors!au_fname & " " & _
            rstAuthors!au_lname
        rstByRoyalty.MoveNext
    Loop

    rstByRoyalty.Close
    rstAuthors.Close
    cnn1.Close
   
End Sub
3#
 楼主| 发表于 2004-1-25 18:05:00 | 只看该作者
版住,怪我没有说明白,我那SQL语句是放在ACCESS的查询里的(储存过程),我想使用VB给它传递参数。谢谢!

点击这里给我发消息

2#
发表于 2004-1-25 16:04:00 | 只看该作者
“select * from b where customer_code='" &  a & "'”
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-10 22:42 , Processed in 0.081994 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表