アクティブなデータベースに対して単一の文字列としてレポート指定を送信します。
構文
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
関連トピック