当前位置:首页 » 存储配置 » vba存储过程

vba存储过程

发布时间: 2022-07-09 22:11:41

㈠ 怎样在VBA中调用MSsql中的自定义函数

sqlserver存储过程可以将执行结果通过返回值返回给调用他得程序得,而Access中无论是mdb还是adp都可以用ado执行存储过程并获得返回值。
sqlserver中得函数能在sqlserver里面执行吗?能!存储过程能调用函数吗?能!调用了函数能够获得函数得返回值吗?能!能把函数得返回值赋值给存储过程得返回值吗?能!VBA能调用存储过程吗?能!VBa能取得返回值吗?能!
这不就结了???!!!!!

㈡ vba中怎样写执行sql带参的存储过程

.Parameters.Append .CreateParameter("@FromDate", adVarChar, 1, Len(CStr(Format(Me.FromDate, "yyyy-mm-dd"))), CStr(Format(Me.FromDate, "yyyy-mm-dd")))
我是这样写的, 输入输出用1和2即可
另外未定义的错误信息是VBA提示,还是SQL里面的存储过程提示?

㈢ access的adp链接SQL后,如何在VBA中执行SQL中的存储过程

声明command对象, 你网络VB调用SQL存储过程, 语法是一样的,很多资料可以参考,比如
http://wenku..com/view/c44b8dc5bb4cf7ec4afed07c.html

㈣ 在vba执行程序期间,用什么临时存储数值

运行期间,如果为了提高效率,尽可能使用变量存储数据
特别是表格处理,可以考虑使用数组,动态数组,字典等
不过不考虑效率,也可以使用表格,文本等临时存储
具体使用什么存储,看楼主的具体需求。

㈤ VBA:Excel 调用 MSSQL存储过程并返回结果,点了按钮啥反应也没有,也不报错,请问该怎么写啊

设置rsData gobjCmd.Execute
虽然不rsData.EOF的

rsData.MoveNext

回路

这里是给rsdate分配,

然后是有循环光标向下移动,直到边界

当然,什么都不会发生
DO循环中可以添加你想要什么

㈥ VBA的语法格式,以及在excel中是如何使用的

这个问题的含金量就大了,首先VBA是OFFICE软件内置的二次开发功能,以VB代码作为编程语言,编辑窗口称为VBE。下面简单的回答下容易理解的几个点。

  1. 在EXCEL中的使用方法:使用快捷键ALT+F11 或者在菜单栏中通过“开发工具”---“Visual Basic”选项卡都可以进入VBE窗口进行编辑VBA代码。

  2. 如果找不到“开发工具”选项卡,对照2007和2010版本的EXCEL可以点击“文件”(2007是圆形的OFFICE图标)--“选项”---“自定义功能选项”,勾选“开发工具”并确定,如下图

  3. sub示例()
    msgboxsheet1.name'调用sheet1的名称,并弹出。这是调用对象的属性
    shett1.name="表1"'对shhet1进行命名,这是对象的赋值方法
    endsub

    ㈦ 如何在VBA中调用存储过程

    方法有几种

    1、

    SetConn=Server.CreateObject("ADODB.Connection")
    Conn.openstrConn
    iferr.number<>0then
    response.Write"数据库链接失败。"'&err.Description
    response.End
    endIf
    setRs=server.CreateObject("adodb.recordset")
    '调用存储过程:[dbo].[Usp_GetUserMenu]
    strsql="[dbo].[Usp_GetUserMenu]@UserID='"&Session(g_SessionName&"_UserID")&"'"
    '这句话是关键,CursorLocation意思是游标本地化
    rs.CursorLocation=3
    Rs.openstrsql,conn,1,1
    iferr.number<>0Then
    conn.close
    setconn=nothing
    endif
    fori=1tors.RecordCount
    iMenuType=rs("MenuType")
    ......
    rs.MoveNext
    next
    rs.Close
    setrs=nothing
    conn.close
    setconn=nothing

    2. 使用adobd.Command对象

    VB6.0调用存储过程的例子

    (说明:以下代码摘自微软的MSDN,经过测试没问题。使用该方法的前提条件是必须知道将要使用的参数化命令的详细情况。)

    打开Form1窗体,Copy以下的代码到窗体中,该段代码将测试存储过程ADOTestRPE的返回值、输入参数及输出参数,测试的过程中,可能需要修改链接字符串。

    SubCreateParms()
    DimADOCmdAsNewADODB.Command
    DimADOPrmAsNewADODB.Parameter
    DimADOConAsADODB.Connection
    DimADORsAsADODB.Recordset
    DimsParmNameAsString
    DimstrConnectAsString
    DimrStrAsString

    OnErrorGoToErrHandler

    strConnect="driver={SQLServer};server=(local);uid=sa;pwd=;database=pubs"

    SetADOCon=NewADODB.Connection
    WithADOCon
    .Provider="MSDASQL"
    .CursorLocation=adUseServer'MustuseServersidecursor.
    .ConnectionString=strConnect
    .Open
    EndWith

    SetADOCmd.ActiveConnection=ADOCon
    WithADOCmd
    .CommandType=adCmdStoredProc
    .CommandText="ADOTestRPE"
    EndWith

    '.
    sParmName="Return"
    SetADOPrm=ADOCmd.CreateParameter(sParmName,adInteger,_
    adParamReturnValue,,0)
    ADOCmd.Parameters.AppendADOPrm
    ADOCmd.Parameters(sParmName).Value=-1

    '
    'parameter.
    sParmName="Output"
    SetADOPrm=ADOCmd.CreateParameter(sParmName,adInteger,_
    adParamOutput)
    ADOCmd.Parameters.AppendADOPrm
    ADOCmd.Parameters(sP

    armName).Value=999

    'Parameter2
    sParmName="R1Num"'.
    SetADOPrm=ADOCmd.CreateParameter(sParmName,adInteger,_
    adParamInput)
    ADOCmd.Parameters.AppendADOPrm
    ADOCmd.Parameters(sParmName).Value=1

    'Parameter3
    sParmName="P1Num"'.
    SetADOPrm=ADOCmd.CreateParameter(sParmName,adInteger,_
    adParamInput)
    ADOCmd.Parameters.AppendADOPrm
    ADOCmd.Parameters(sParmName).Value=0

    'Parameter4
    sParmName="E1Num"'
    '1.
    SetADOPrm=ADOCmd.CreateParameter(sParmName,adInteger,_
    adParamInput)
    ADOCmd.Parameters.AppendADOPrm
    ADOCmd.Parameters(sParmName).Value=0

    'Parameter5
    sParmName="R2Num"'.
    SetADOPrm=ADOCmd.CreateParameter(sParmName,adInteger,_
    adParamInput)
    ADOCmd.Parameters.AppendADOPrm
    ADOCmd.Parameters(sParmName).Value=2

    'Parameter6
    sParmName="P2Num"'.
    SetADOPrm=ADOCmd.CreateParameter(sParmName,adInteger,_
    adParamInput)
    ADOCmd.Parameters.AppendADOPrm
    ADOCmd.Parameters(sParmName).Value=0

    'Parameter7
    sParmName="E2Num"'
    '2.
    SetADOPrm=ADOCmd.CreateParameter(sParmName,adInteger,_
    adParamInput)
    ADOCmd.Parameters.AppendADOPrm
    ADOCmd.Parameters(sParmName).Value=0

    SetADORs=ADOCmd.Execute

    DoWhile(NotADORsIsNothing)
    IfADORs.State=adStateClosedThenExitDo
    WhileNotADORs.EOF
    Fori=0ToADORs.Fields.Count-1
    rStr=rStr&":"&ADORs(i)
    Nexti
    Debug.PrintMid(rStr,3,Len(rStr))
    ADORs.MoveNext
    rStr=""
    Wend
    Debug.Print"----------------------"
    SetADORs=ADORs.NextRecordset
    Loop

    Debug.Print"Return:"&ADOCmd.Parameters("Return").Value
    Debug.Print"Output:"&ADOCmd.Parameters("Output").Value

    GoToShutdown

    ErrHandler:
    CallErrHandler(ADOCon)
    ResumeNext

    Shutdown:
    SetADOCmd=Nothing
    SetADOPrm=Nothing
    SetADORs=Nothing
    SetADOCon=Nothing
    EndSub

    PrivateSubCommand1_Click()
    CallCreateParms
    EndSub

    SubErrHandler(objConAsObject)
    DimADOErrAsADODB.Error
    DimstrErrorAsString

    ForEachADOErrInobjCon.Errors
    strError="Error#"&ADOErr.Number&vbCrLf&ADOErr.Description_
    &vbCr&_
    "(Source:"&ADOErr.Source&")"&vbCr&_
    "(SQLState:"&ADOErr.SQLState&")"&vbCr&_
    "(NativeError:"&ADOErr.NativeError&")"&vbCr


    IfADOErr.HelpFile=""Then
    strError=strError&"NoHelpfileavailable"&vbCr&vbCr
    Else
    strError=strError&"(HelpFile:"&ADOErr.HelpFile&")"_
    &vbCr&"(HelpContext:"&ADOErr.HelpContext&")"&_
    vbCr&vbCr
    EndIf

    Debug.PrintstrError
    Next

    objCon.Errors.Clear
    EndSub

    ㈧ EXCEL中VBA怎么执行SQL SERVER 2005存储过程

    您好:

    给您找了一段VBA的代码,请参考,未测试。

    Subtest()
    DimstrconAsString
    DimcnAsNewADODB.Connection
    DimrsAsNewADODB.Recordset
    strcon="Driver={SQLServer};Server=**********;UID=**;PWD=*********;DataBase=***"
    cn.Openstrcon

    strsql="exec存储过程名'"&Sheet2.Cells(2,2).Value&"','"&Sheet2.Cells(3,2).Value&"'"'参数可选
    rs.Openstrsql,cn,adOpenDynamic,adLockBatchOptimistic
    r=6
    Sheet2.Range(Cells(6,1),Cells(50000,20)).ClearContents
    Fori=0Tors.Fields.Count-1
    Sheet2.Cells(5,i+1).Value=rs.Fields(i).Name
    Nexti

    WhileNotrs.EOF
    Fori=0Tors.Fields.Count-1
    Sheet2.Cells(r,i+1).Rows.Value=rs.Fields(i).Value
    Nexti
    r=r+1
    rs.MoveNext
    Wend
    EndSub

    ㈨ EXCEL的VBA中“ontime”如何使用,语法怎样,我是初学者,请高手尽量说详细

    Application.OnTime 方法
    安排一个过程在将来的特定时间运行(既可以是具体指定的某个时间,也可以是指定的一段时间之后)。
    语法

    表达式.OnTime(EarliestTime, Procere, LatestTime, Schele)

    表达式 一个代表 Application 对象的变量。

    参数

    名称 必选/可选 数据类型 描述
    EarliestTime 必选 Variant 希望此过程运行的时间。
    Procere 必选 String 要运行的过程名。
    LatestTime 可选 Variant 过程开始运行的最晚时间。例如,如果 LatestTime 参数设置为 EarliestTime + 30,且当到达 EarliestTime 时间时,由于其他过程处于运行状态而导致 Microsoft Excel 不能处于“就绪”、“复制”、“剪切”或“查找”模式,则 Microsoft Excel 将等待 30 秒让第一个过程先完成。如果 Microsoft Excel 不能在 30 秒内回到“就绪”模式,则不运行此过程。如果省略该参数,Microsoft Excel 将一直等待到可以运行该过程为止。
    Schele 可选 Variant 如果为 True,则预定一个新的 OnTime 过程。如果为 False,则清除先前设置的过程。默认值为 True。

    说明

    使用 Now + TimeValue(time) 可安排经过一段时间(从现在开始计时)之后运行某个过程。使用 TimeValue(time) 可安排某个过程只运行指定的时间。

    示例

    本示例设置从现在开始 15 秒后运行 my_Procere。

    Visual Basic for Applications
    Application.OnTime Now + TimeValue("00:00:15"), "my_Procere"

    本示例设置 my_Procere 在下午 5 点开始运行。

    Visual Basic for Applications
    Application.OnTime TimeValue("17:00:00"), "my_Procere"

    本示例撤消前一个示例对 OnTime 的设置。

    Visual Basic for Applications
    Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
    Procere:="my_Procere", Schele:=False

    其实像这种EXCEL VBA内置函数,你可以打开帮助查找F1

热点内容
python写入字节 发布:2024-10-09 01:24:22 浏览:645
如何设置超高难度密码 发布:2024-10-09 01:19:05 浏览:176
linux只读文件修改 发布:2024-10-09 01:13:08 浏览:83
安卓机电脑用什么检测 发布:2024-10-09 01:10:20 浏览:670
有关数据库的工作 发布:2024-10-09 00:52:12 浏览:732
代码分析算法 发布:2024-10-09 00:47:11 浏览:161
芯片写程序需要配置哪些文件 发布:2024-10-09 00:38:39 浏览:934
存储储存搬运 发布:2024-10-09 00:28:42 浏览:717
吃鸡电脑适合什么配置 发布:2024-10-09 00:18:24 浏览:229
java线程实例 发布:2024-10-09 00:05:34 浏览:193