• ベストアンサー

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