• ベストアンサー

mdeをaccessなしの環境で起動する方法

作成したmdeをaccessなしの環境で起動する方法はありますでしょうか? やはり、accessランタイムが必要でしょうか? MDACで試したところできませんでした。 何か、accessなし環境でできたという事例がありましたら、ご教授願います。

質問者が選んだベストアンサー

  • ベストアンサー
  • seastar3
  • ベストアンサー率69% (99/142)
回答No.3

 もう一つ、mdbファイル作成スクリプトを載せておきます。このようにACCESSデータペースは、アプリケーションがなくても、WSH機能を応用して自作のプログラムで自由に操作できます。シンプルなテキストデータとして取り出すことも、EXCELブックに埋め込むことも、これらの逆の操作も可能です。 ' 取引データテーブル作成スクリプト ' プログラム名 "BokiDB_Create.vbs" ' Option Explicit Private ansYN Private NewDBPath,SQL1 Private ConnectionString Private Dbmei Syori Sub Syori() DBMei="簿記.mdb" ' 取引データベース創成 With CreateObject("Scripting.FileSystemObject") NewDBPath = "C:\" ' もし、このスクリプトと同じフォルダにファイルを作成したいときは、次のコードを使ってフォルダのパスを設定する。 ' NewDBPath = .BuildPath(.GetParentFolderName(WScript.ScriptFullName),DBMei) End With ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & NewDBPath & ";" With CreateObject("ADOX.Catalog") If Not CreateObject("Scripting.FileSystemObject").FileExists(NewDBPath) Then .Create ConnectionString .ActiveConnection.Close Else ansYN=MsgBox("すでに " & DBMei & "は存在しています。" & vbCrLf & "元のファイルを削除しますか?", vbYesNo, "ファイル差し替え確認") If ansYN = vbYes Then CreateObject("Scripting.FileSystemObject").DeleteFile NewDBPath .Create ConnectionString .ActiveConnection.Close Else MsgBox("処理を終わります。") Exit Sub End If End If End With ' 取引データベース内のテーブルを創成 With CreateObject("ADODB.Connection") .Provider = "Microsoft.Jet.OLEDB.4.0" .Open NewDBPath ' 取引マスタテーブルを削除 ' SQL1 = "DROP TABLE 取引マスタテーブル;" ' .Execute SQL1 ' 現金出納帳テーブルを削除 ' SQL1 = "DROP TABLE 現金出納帳テーブル;" ' .Execute SQL1 ' 更新テーブルを削除 ' SQL1 = "DROP TABLE 更新テーブル;" ' .Execute SQL1 SQL1 = "CREATE TABLE 取引マスタテーブル (取引コード INTEGER, 取引内容 char (50), PRIMARY KEY (取引コード));" .Execute SQL1 SQL1 = "CREATE TABLE 現金出納帳テーブル (取引番号 INTEGER, 日付 DATE, 取引コード INTEGER, 貸借区分 SMALLINT, 金額 CURRENCY, PRIMARY KEY (取引番号));" .Execute SQL1 ' 更新テーブルを創成 SQL1 = "CREATE TABLE 更新テーブル (更新区分 SMALLINT, 取引番号 INTEGER, 日付 DATE, 取引コード INTEGER, 貸借区分 SMALLINT, 金額 CURRENCY, PRIMARY KEY (取引番号));" .Execute SQL1 .Close End With End Sub

その他の回答 (2)

  • seastar3
  • ベストアンサー率69% (99/142)
回答No.2

 自作のプログラムで操作可能です。  ADODBオブジェクトを実体化し、execute("SQL文")メソッドで結果を答えさせます。  習熟すれば、ファイル創成も削除もテーブル結合も操作できるになります。下のコードがCドライブに保存されている簿記データベースというmdeファイルから現金出納帳テーブルの内容を表示させるVBScriptのコードです。  また、私の開発した参考URLの教材用アクセスデータベース操作ツール「SQL教材キット」も参考になると思いますので、ダウンロードして操作してみて下さい。 With CreateObject("ADODB.Connection") .Provider = "Microsoft.Jet.OLEDB.4.0" ' 操作したいアクセスファイル名とパスを指定する。 .Open "C:\簿記データベース.mde" ' SQL文の代入 SQL1 = "SELECT * FROM 現金出納帳テーブル WHERE 日付>DateSerial(2010,1,1);" ' 指定したデータベースにSQL文を命令し、画面表示させる。 MsgBox .Execute(SQL1).GetString(, , , vbLf) If Err.Number<>0 Then MsgBox Err.Description,,"SQL実行時エラー" .Close End With

参考URL:
http://www.vector.co.jp/soft/win95/edu/se479341.html
  • orangezzzz
  • ベストアンサー率35% (401/1119)
回答No.1

>accessランタイムが必要でしょうか 当然です。

関連するQ&A

  • Access:mdeファイルが作成できない

    お世話になっております。 AccessのメニューからMDEファイルを作成しようとしました ところ、 "MDEファイルを作成できませんでした" といったメッセージが表示されます。 Accessのバージョンは2000 VBAのコードはコンパイル済みです。 MDEファイルを作成しようとしているドライブの空き容量は約550M 作成元となるMDBファイルのサイズは13.8Mとなっております。 MDBファイルが破損しているということでしょうか? ご教授をよろしくお願いいたします。

  • ランタイムなしで動くソフトを作るには

    現在Accessで業務アプリケーションを作っています 通常、Accessで作成したmdb/mdeは違うパソコンで利用するためには そのパソコンにAccessランタイムをインストールしなければ なりません。 データベース(SQLサ-バ/MSDE)を利用したアプリケーションで クライアント側にランタイムを必要としない操作プログラム(Access で言うフロントエンドのmdb/mde)を作るにはどうすればいいのでしょうか Visual Basicでもランタイムが必要だったとおもうのですが…

  • Access-Runtimeについて

    Access2000でデータベースパスワード付きのmdb(DB_A.mdb)を起動するためのDB(DB_B.mde)を作成しました。 DB_B.mdeからDB_A.mdbを起動させるために"CreateObject"を使っていますが、RuntimeではCreateObjectを受け付けてくれません。 CreateObject("Access.Application")に相当するものをご存知の方、ご教授いただけませんか? よろしくお願い致しますm(_ _)m

  • ACCESS2000でMDE

    ACCESS2000(Windows2000)でデータベースを作成したのですが 「MDEデータベースを作成できませんでした」とメッセージが表示されてMDEを作成できません。 作成方法を教えてください。 余分なテーブル等はすべて削除しても行えません VBAでの作り込みをしているのでそれが原因でしょうか?

  • Access2002でMDEファイルを作りたい

    Access2002でMDEファイルを作りたいのですが、過去の質問も参考にさして頂いたのですがうまく行きません。 「メニュー」→「ツール」→「データベースユーティリティー」→「MDEファイルの作成」 このとき、「MDEファイルの作成」がグレーで使えません。 オプションで何かインストールでも必要なのでしょうか?

  • アクセスのMDEファイルについて

    access2000/windows2000 アクセスのMDEファイルの作成について質問です。 MDEファイルが作成できないのには何か問題があるのでしょうか? 作成方法は、ツールからデーターベースユーティリティのMDEファイル作成で間違ってませんよね? 何度作成してみましたが、やっぱり出来ませんでした。 何が原因なのかも分からず・・・・ 宜しくお願い致します。

  • ACCESSのmdeファイルについて

    ACCESS97の環境でmde形式で資源を配布しました。 そのモジュールを確認したいのですが、 モジュールの修正・削除はしなくてもよいので ソースの内容を確認する方法はないでしょうか? 御教授願います

  • アクセス2002で、アクセス97.2000のmdeファイルを見る方法

    ホントのアクセス初心者で申し訳ないです。97.2000のアクセスmdeファイルを開けてみたいのですが、PCはWIN98でアクセス2002がセットアップされています。アクセス2002を起動して、開くから該当するファイルを開きますとデータベース変換とデータベースを開くと表示され、どちらにしてもMDEファイルを変換するか使用可能にすることができませんと表示されます。どうしても見たいのですが、なにか方法ありますでしょうか?初歩的なことで申し訳ございません。よろしくご教授くださいませ。

  • Access mdeで使用できないコマンド

     Accessでレポートを作成しフォームからそのレポートを呼び出したところ、用紙が設定した値では無くなってしまうことがたまにあるので、VBAでPrtdevmodeを追加したしたのですが、mdbなら完璧に起動するのですがmdeに変換すると、「7802:このコマンドはmdeデーターベースで使用できません。」というメッセージが表示されてしまいます。これを回避する方法がありましたら教えてください。  Prtdevmodeを無理に使用しなくても、用紙サイズ・余白を覚えていられる方法がありましたらその方法も教えて下さい。(レポートのページ設定では駄目です。)  宜しくお願いします。 では

  • [AC2010]ランタイム環境でのAc97参照

    Access2010で作成したAccdbでAccess97のmdbデータを参照するVBAアプリケーションがあります。Acess97mdbは他社のデータでバージョン変更が出来ないという前提です。 Windows7環境下でもAccessをXP互換モードで起動すれば何とかAccess97のmdbを参照出来る事までは確認できましたが、このAccdbは近いうちAccessの無い環境で動かさないといけない事情があります。 方法としましてはAccess2010のある環境でAccdbから配布用のアプリケーションを作成、Access環境の無い別のPCにAccess2010ランタイムをインストールし、アプリケーション導入するといった具合です。 この際、ランタイム環境がXPなら問題無いのですが、Windows7だった場合「ランタイム上でXP互換モードで動かす」と言う設定が可能なのでしょうか? 結果的にWindows7のランタイム環境下でAccess97mdbを参照できれば過程は問いません。別の方法も含めてご指南頂けると幸いです。

専門家に質問してみよう