質問
データセットを設定する時、Accessのデータベースとの接続場合、必要なステップを教えてください。
回答
ドライバをダウンロード
AccessのODBC、OLEDBドライバ
ダウンロードURL
Download Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント from Official Microsoft Download Center
AccessであらかじめDBテーブルを作成しておく
↓下図では、テーブル名: Table01、内容は下図の通り
DBへの接続例
(接続箇所と方法は何か所かある為、代表的な例)
文書定義プロパティを開きます。
「データセット」タブの[追加]ボタンを押し、データセット(FCが文書定義単位で参照するデータベース)の名前を付けます。
下図のようなダイアログが開くので、「ソース」から「データベース」を選択します。
下図のようなフィールドが現れます。
「プロバイダー」に
「Access Database Engine OLE DB Provider 」を選択します。ODBCドライバがインストールされていない場合は、ここに現れません。
AccessのDBのファイルの位置を確認。Accessのダイアログ上部などで確認できます。
「接続」タブの「データソース」にファイルの場所をフルパスで指定し、他はそのままで、 [接続のテスト]を確認します。
接続ができる場合は、下記のような画面になります。接続できない場合は、Accessの設定を確認して下さい。
「詳細設定」タブにて、読みとり権限以上の権限を与えます。
下図は「ReadWrite:読み取り・書きこみ」
DBに接続できる状態では、下図のようにデータベースの テーブル を参照できるようになるので、適切なものを選択します。
「データベースのテーブル」を選択すると、その列構成をコピーするかどうかを聞かれるので、[はい]を選択します。
データベース の テーブルの列 構成が データセット に コピーされます。
常に最新のデータベースを参照したい場合は、「キャッシュデータ」のチェックを外します(その代わり、必要な際、つどデータベースへの接続を行う為、パフォーマンスが落ちます)。設定が終わったら、[OK]ボタンを押します。
「文書定義プロパティ」の「データセット」にデータセット(FlexiCaptureが文書定義単位で参照するデータベース)が追加されます。
文書定義のフィールドからDBを参照する
フィールド の プロパティ の「ルール」タブにて、[新規ルール]ボタンを押します。
下図のような ダイアログ が現れるので「データベースチェック」を選択して[OK]。
データベースチェック処理をエラーにして、全体の処理を止めたくない場合は、
重要度: 警告、データベースチェックを行う「ルール」適用の条件が明らかであれば指定して、[次へ >]
「データセット」を指定。(ここからでも「データベース」の指定ができます。つまり、フィールド毎のデータベース参照の設定行えますが、データベース への接続 は 処理スピード の ボトルネック になり易い為、不必要であれば推奨いたしません。)
作成済みの「データセット」を選択できます。
「データセット」を設定しましたら、「選択」ボタンを押します。
文書定義で定義したフィールドを選択できます。
文書定義でデータベースをひく際のキーにするフィールドを[選択する]。
フィールド の値を元にレコードを探す データベース側の列を指定します。当然、データベースにある列しか選択できません。
フィールドの参照ルールが追加されます。キーを元にレコードを探した後に行いたい処理を設定するために[追加]ボタンを押します。
]
キーを元にレコードを探した後に行いたい処理を設定します。
1つずつ、複数のデータベース処理を記述できる為、2フィールド以上が一致した場合のレコードを使うなどの処理を行うことができます。
本例では、キーで一致したレコードから、キー以外の値をコピーすることにします。(2つ目以降の処理で検索しない)
処理が追加されました。データベース参照しての設定が終わりましたら、[OK]ボタンを押します。
ルールが追加されました。
実際に動かしてみる
DB からキーを使って、文書定義 の フィールド の 読み取り値で DB の値を引くことができるようになります。
コメント
0件のコメント
サインインしてコメントを残してください。