アクティブなデータベースへのレポート指定の送信を開始します。この呼出しの後に、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
関連トピック