アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんばんは。
環境:
OS:WINDOWS2000
VB6.0 sp5
アクセス2000

VBからアクセスのMDBデータをCSV形式で出力させようとしています。 
mdbファイルが実行中にVBのexeを起動してcsvファイルを取得したいのですが、いい方法が分かりません。
閉じているMDBファイルのデータをCSVで出力することは可能です。 
MDBファイルが開いているとexeを実行した時に「実行時エラー7866 データベースが開いています」というようなメッセージが出て処理ができません。 なにかいい方法はないでしょうか

よろしくお願いいたします。

A 回答 (3件)

実行している部分のソースを抜粋して載せていただければ、力になれるかもしれません。



それと、MDBファイルを開いているのは出力するプログラム自身なのか、他人なのかもお教えください。

この回答への補足

お返事ありがとうございます。

ソースは
Dim AppAccess As New Access.Application
AppAccess.OpenCurrentDatabase "c:\sample.MDB"
AppAccess.DoCmd.TransferText acExportDelim, , "sanple", "c:\sample.CSV", False
AppAccess.CloseCurrentDatabase
Set AppAccess = Nothing

このような感じでaccess9.0object LIBRARYを使用しています。
MDBファイルを開いているのはまったくのほかの処理になります。 出力するプログラムは出力するのみです。

お願いします。

補足日時:2004/07/16 19:06
    • good
    • 0

実行時エラー 7866は、


「データベース ファイルがないか、他のユーザーが排他モードで開いているため、このデータベースを開くことができません。」
というエラーです。

他の処理で開く際に、排他モードで開いていませんか?
例えば、
AppAccess.OpenCurrentDatabase "c:\sample.MDB", True
と、OpenCurrentDatabaseの第二パラメータをTrueにすると、排他モードになります。
こうすると、他の人はデータベースを開くことができません。

この回答への補足

おはようございます。
MDBファイルは常に開いた状態になっているのです(アクセスでMDBファイルのテーブルが開いた状態です)

その状態でリアルタイムでMDBファイルにデータが更新されるようなシステムになっています。
それを今回のVBのexeを実行したタイミングでそのときのMDBファイルの内容をcsvに落としたいのです・・・
MDBファイルをアクセスで開くときにも排他モードで開くとかいう設定があるのでしょうか?

補足日時:2004/07/17 08:34
    • good
    • 0

エラーの出る原因と対策を以下に記します。



1. 本当にデータベースファイルがない
 →データベースファイルへのパスをもう一度確認してください。

2. 排他モードで開いている
 →Accessのツール→オプション→「詳細」タブの、既定の開くモードが共有モードになっていることを確認する
 →開くときに「普通に開いている」(ファイルを開くダイアログで排他を指定していない)ことを確認する

3. Visual Basic Editorが開いている
 →AccessのVisual Basic Editor を閉じる

上記を確認してみてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!