ファイルからアクティブなデータベースへレポート指定を送信します。レポート・データを出力できます。または、レポート指定の確認のみも可能です。エラーがあれば戻されます。また、この呼出しでは、オプションでデータベース内の対応するデータ・ブロックをロックすることもできます(更新用のロック)。
構文
EsbReportFile ( hDestCtx, hSrcCtx, AppName, DbName, FileName, isOutput, isLock ) ByVal hDestCtx As Long ByVal hSrcCtx As Long ByVal AppName As String ByVal DbName As String ByVal FileName As String ByVal isOutput As Integer ByVal isLock As Integer
パラメータ | 説明 |
---|---|
hDestCtx |
サーバー上のターゲット・データベースのVB APIコンテキスト・ハンドル。 |
hSrcCtx |
レポート・ファイルの場所のVB APIコンテキスト・ハンドル。レポート・ファイルは、クライアント、またはターゲット・データベースと同一のサーバー上に配置できます。レポート・ファイルがクライアント(ローカル)にある場合、ローカルのコンテキストはEsbCreateLocalContextで作成する必要があります。 |
AppName |
レポート・ファイルの場所に対するアプリケーション名。 |
DbName |
レポート・ファイルの場所に対するデータベース名。 |
FileName |
レポート指定ファイル名。拡張子は.repであることがわかっているため、ファイル拡張子を指定する必要はありません。 |
isOutput |
データの出力を制御します。TRUEの場合は、指定したレポートに従ってサーバーから出力されます。FALSEの場合は、データは出力されません。 |
isLock |
ブロックのロックを制御します。TRUEの場合は、レポート指定でアクセスされるすべてのブロックが更新用にロックされます。FALSEの場合は、ブロックのロックは行われません。 |
備考
この関数によってデータが出力される場合(OutputフラグがTRUE)、EsbGetString()を呼び出して戻されたデータを読み取ることができます。
この関数によってブロックがロックされる場合(LockフラグがTRUE)、呼出し元がロックされたブロックのロック解除を行う必要があります(たとえば、UnlockフラグをTRUEに設定してEsbUpdate()を呼び出します)。
OutputおよびLockの両方のフラグがFALSEに設定されている場合、データベースはレポート指定の構文確認のみを行います。
戻り値
なし。
アクセス
この関数を使用するには、アクティブなデータベース内の1つ以上のメンバーに対して、呼出し元が読取り権限(ESB_PRIV_READ)を持っている必要があります。
例
Declare Function EsbReportFile Lib "ESBAPIN" (ByVal hDestCtx As Long, ByVal hSrcCtx As Long, ByVal AppName As String, ByVal DbName As String, ByVal FileName As String, ByVal Output As Integer, ByVal Lock As Integer) As Long Sub ESB_ReportFile () Dim sts As Long Dim AppName As String Dim DbName As String Dim FileName As String Dim pOutput As Integer Dim pLock As Integer Dim hSrcCtx As Long Const szRString = 256 Dim RString As String * szRString AppName = "Sample" DbName = "Basic" hSrcCtx = hCtx FileName = "test" pOutput = ESB_YES pLock = ESB_NO sts = EsbReportFile(hCtx, hSrcCtx, AppName, DbName, FileName, pOutput, pLock) 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
関連トピック