Excel Add-In for Acumatica

Build 24.0.8963

ストアドプロシージャの呼び出し

public bool CallSP(string queryString, object paramNames, object paramValues)

CallSP は、ストアドプロシージャを呼び出します。成功した場合はtrue を返し、そうでない場合はfalse を返します。各パラメータの名前と値のペアを2つの配列としてCallSP に渡すことができます。これは、多くのパラメータとXML 集計の操作で役立ちます。この場合、CallSP のクエリ文字列引数は、パラメータの名前でなければなりません。以下に例を示します。

 CallSP("SendMail",nameArray,valueArray)
次の例は、ストアドプロシージャ呼び出しに入力を渡し、任意の出力パラメータを反復処理する方法を示しています。
Dim nameArray
nameArray = Array("location_displayName", "Id")
Dim valueArray
valueArray = Array("Town Hall Grille", "Jq74mCczmFXk1tC10GB")
Dim module As New ExcelComModule
module.SetProviderName ("Acumatica")
module.SetConnectionString ("Url = https://try.acumatica.com/ISV/entity/Default/17.200.001/;User=user;Password=password;Company=CompanyName;")
Query = "INSERT INTO Events (location_displayName, Id) VALUES (@location_displayName, @Id)"
If module.Insert(Query, nameArray, valueArray) Then
  MsgBox "The insertion was successful."
Else
  MsgBox "The insertion failed."
End If
module.Close
Dim module As New ExcelComModule
module.SetProviderName ("Acumatica")
module.SetConnectionString ("Url = https://try.acumatica.com/ISV/entity/Default/17.200.001/;User=user;Password=password;Company=CompanyName;")
Dim nameArray
nameArray = Array("MessageId")
Dim valueArray
valueArray = Array("abc123")
StoredProc = "SendMail"
Cursor = Application.Cursor
Application.Cursor = xlWait
If module.CallSP(StoredProc, nameArray, valueArray) Then
  MsgBox "Execution was successful."
  Dim ColumnCount As Integer
  ColumnCount = module.GetColumnCount
  For Count = 0 To ColumnCount - 1
    Application.ActiveSheet.Cells(1, Count + 1).Value = module.GetColumnName(Count)
  Next 
  Dim RowIndex As Integer
  RowIndex = 10 
  While (Not module.EOF)
    For columnIndex = 0 To ColumnCount - 1
      If Conversion.CInt(module.GetColumnType(columnIndex)) = Conversion.CInt(vbDate) And Not IsNull(module.GetValue(columnIndex)) Then
        Application.ActiveSheet.Cells(RowIndex, columnIndex + 1).Value = Conversion.CDate(module.GetValue(columnIndex))
      Else
        Application.ActiveSheet.Cells(RowIndex, columnIndex + 1).Value = module.GetValue(columnIndex)
      End If
    Next
    module.MoveNext
    RowIndex = RowIndex + 1
  Wend
Else
  MsgBox "Execution failed."
End If
Application.Cursor = Cursor
module.Close

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.8963