アクティブなデータベースへのレポート指定の送信を開始します。この呼出しの後に、EsbSendStringを呼び出してレポートの送信を行い、最後にEsbEndReportを呼び出す必要があります。レポート・データの出力を行うことも、確認のみ行い、エラーがあれば戻させることもできます。また、この呼出しでは、オプションでデータベース内の対応するデータ・ブロックをロックすることもできます(更新用のロック)。
構文
EsbBeginReport
(
hCtx, isOutput, isLock
)
ByVal
hCtx
As Long
ByVal
isOutput
As Integer
ByVal
isLock
As Integer
| パラメータ | 説明 |
|---|---|
hCtx |
VB APIコンテキスト・ハンドル。 |
isOutput |
データの出力を制御します。TRUEの場合は、指定したレポートに従ってサーバーから出力されます。FALSEの場合は、データは出力されません。 |
isLock |
ブロックのロックを制御します。TRUEの場合は、レポート指定でアクセスされるすべてのブロックが更新用にロックされます。FALSEの場合は、ブロックのロックは行われません。 |
備考
この関数に続いて、EsbSendString()を少なくとも1回呼び出し、その後EsbEndReport()を呼び出す必要があります。
この関数によってデータが出力される場合(OutputフラグがTRUE)、EsbGetString()を呼び出して戻されたデータを読み取ることができます。
この関数によってブロックがロックされる場合(LockフラグがTRUE)、呼出し元がロックされたブロックのロック解除を行う必要があります(たとえば、UnlockフラグをTRUEに設定してEsbUpdate()を呼び出します)。
OutputおよびLockの両方のフラグがFALSEに設定されている場合、データベースはレポート指定の構文確認のみを行います。
戻り値
なし。
アクセス
この関数を使用するには、アクティブなデータベース内の1つ以上のメンバーに対して、呼出し元が読取り権限(ESB_PRIV_READ)を持っている必要があります。
例
Declare Function EsbBeginReport Lib "ESBAPIN" (ByVal hCtx As Long, ByVal Output As Integer, ByVal Lock As Integer) As Long
Sub ESB_BeginReport ()
Dim sts As Long
Dim pOutput As Integer
Dim pLock As Integer
Dim Query As String
Dim RString as String * 256
Const szRString = 256
Query = "<Desc Year !"
Output = ESB_YES
Lock = ESB_NO
'*************
' Begin Report
'*************
sts = EsbBeginReport (hCtx, pOutput, pLock) '**************************
' Send report specification
'**************************
sts = EsbSendString (hCtx, Query)
'***********
' End Report
'***********
sts = EsbEndReport (hCtx)
'**********************
' Print out all strings
'**********************
If sts = 0 Then
sts = EsbGetString (hCtx, RString, szRString)
Do While Mid$(RString, 1, 1) <> Chr$(0)
Print RString
sts = EsbGetString (hCtx, RString, szRString)
Loop
End If
End Sub
関連トピック