アクティブなデータベースに対して単一の文字列としてレポート指定を送信します。
構文
EsbReport
(
hCtx, isOutput, isLock, rptQuery
)
ByVal
hCtx
As Long
ByVal
isOutput
As Integer
ByVal
isLock
As Integer
ByVal
rptQuery
As String
| パラメータ | 説明 |
|---|---|
hCtx |
VB APIコンテキスト・ハンドル。 |
isOutput |
データの出力を制御します。TRUEの場合は、指定したレポートに従ってサーバーから出力されます。FALSEの場合は、データは出力されません。 |
isLock |
ブロックのロックを制御します。TRUEの場合は、レポート指定でアクセスされるすべてのブロックが更新用にロックされます。FALSEの場合は、ブロックのロックは行われません。 |
rptQuery |
単一文字列としてのレポート指定(64KB未満)。 |
備考
この関数は、EsbBeginReport()を呼び出し、その後EsbSendString()を呼び出して、最後にEsbEndReport()を呼び出すのと同じです。レポート・データは出力することも、レポート指定の確認のみ行い、エラーがあれば戻させることもできます。また、この呼出しでは、オプションでデータベース内の対応するデータ・ブロックをロックすることもできます(更新用のロック)。
レポート指定の文字列の長さは、64KB未満である必要があります。
この関数によってデータが出力される場合(OutputフラグがTRUE)、空の文字列が戻されるまで、EsbGetString()を呼び出して戻されたデータを読み取ることができます。
この関数によってブロックがロックされる場合(LockフラグがTRUE)、呼出し元がロックされたブロックのロック解除を行う必要があります(たとえば、UnlockフラグをTRUEに設定してEsbUpdate()を呼び出します)。
OutputおよびLockの両方のフラグがFALSEに設定されている場合、データベースはレポート指定の構文確認のみを行います。
戻り値
なし。
アクセス
この関数を使用するには、アクティブなデータベース内の1つ以上のメンバーに対して、呼出し元が読取り権限(ESB_PRIV_READ)を持っている必要があります。呼出し元がアクセス権を持っていないすべてのメンバーは、不明として戻されます。
例
Declare Function EsbReport Lib "ESBAPIN" (ByVal hCtx As Long, ByVal Output As Integer, ByVal Lock As Integer, ByVal Query As String) As Long
Sub ESB_Report ()
Dim sts As Long
Dim pOutput As Integer
Dim pLock As Integer
Dim Query As String
Const szRString = 256
Dim RString As String * szRString Query = "<Desc Year !"
pOutput = ESB_YES
pLock = ESB_NO
'***********
' Run Report
'***********
sts = EsbReport (hCtx, pOutput, pLock, Query) '**********************
' 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
関連トピック