- ベストアンサー
PHPでAccessのファイルを扱うには
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
mdbファイルをODBCに登録させて使って下さい。 コントロールパネル->管理ツール->データソース(ODBC) そうすれば、後は普通にODBCアクセスの要領で操作可能です。 PHP ODBCで検索すれば、サンプルはあちらこちらに落ちてるので、具体的にはそこ見てください。
その他の回答 (2)
- 1percent
- ベストアンサー率55% (10/18)
PHPの場合PEARのDBで簡単に接続できるとおもいます。 ---- こんな感じ ---------------- $dsn = odbc(access)://admin@/datasourcename $db = DB::connect($dsn); (以下処理が続く) 参考URL http://pear.php.net/manual/ja/package.database.db.intro-dsn.php ※Accessでは試していないのですがSQL Serverへの接続は簡単にできました。 -------------------------------- ASPは使ったことがないのでアドバイスできませんが「参考URL」が参考になるかもしれません。
お礼
ご回答ありがとうございます。 なるほど、他のDBへの移植も簡単ですね。 参考にさせて頂きます。
- akanekor
- ベストアンサー率52% (102/194)
>ちなみにASPで開発する場合も同じ手順でしょうか。 はい。大体同じ感じです。 >ASPとPHPで比較した場合にどちらが作りやすいでしょうか。 人の好みしだいかと(==; 自分はASP暦の方が長いので、自分はASPが楽ですが、 PHP好きな方はPHPが楽って言うし。
お礼
なるほど、そのくらいの差ですねw ありがとうございます。 とても参考になりました。
関連するQ&A
- アクセスMDBファイルが壊れた
アクセスMDBファイル(access2000)が壊れたようでテーブルを開こうとすると下記のようなメッセージが出ます。(これは、このデータベースからデータを拾っているaspファイルの一部のようです。)そのままOKを押すと開けることもあれば、開けないこともあります。 #テーブルをコピーしてもだめ #「修復」をしてもだめ #MDBファイル全体をコピーしてもだめ #あとの手を思いつきません。 ----ここからメッセージ---- クエリ式 'szObject = wszTableName OR szReferencedObject = wszTableName' の 構文エラー
- ベストアンサー
- オフィス系ソフト
- Accessのファイルサイズ縮小について
Access 2000で作成したmdbファイルを Access 2013環境で使用しています。 ・テーブルのみのmdbファイル(1)があります。 mdbファイル(1)の中には、テーブルオブジェクトが1つあり、フィールドが1つ、 フィールドサイズは255です。レコード件数は、36万5000件程度あります。 ・フォームやクエリ、マクロ、mdbファイル(1)と リンクテーブルでつないでいるmdbファイル(2)があります。 mdbファイル(1)のファイルサイズが、90MBに達しており mdbファイル(2)を開いたり、何か処理させるのを遅くしているのではないか と思っています。 他の方の質問をチェックしましたが、結果は 最適化について オプション→現在のデータベース→閉じるときに最適化する→チェックON済み 手動で最適化する→変化なし。 MDBをMDEに変換する Access 2013では、バージョンが違うので変換できないようです。 accdb形式に変換→accde形式に変換しましたが、変化なし (そもそも、ファイル(1)はテーブルのみで、マクロやプロシージャは無いので、 意味が無かったかも) となっており、対処法が見つからなくて困っています。 何か良い案はないでしょうか。
- ベストアンサー
- その他(データベース)
- Microsoft Accessのデータが、別々のmdbファイルとして
Microsoft Accessのデータが、別々のmdbファイルとして2つあります。Accessを持っていないので、OpenOfficeで開いています。このmdbファイルにあるテーブルをまとめてOpenOfficのBaseで開くことはできないでしょうか? 具体的には、Microsoft Accessのデータ、「aaa.mdb」「bbb.mdb」というファイルがあります。 「既存のデータベースに接続」>「Microsoft Access」で、「aaa.mdb」や「bbb.mdb」に、個別に接続して新規データベースを作成することはできたのですが、どちらのmdbファイル内にあるテーブルも参照してクエリを作りたいんです・・・。 また、過去に無理矢理「bbb.mdb」のテーブルをCtrl+c>Ctrl+vで「aaa.mdb」にコピー&ペーストしていたこともありましたが、今回はテーブルサイズが大きいせいか、エラーになります(メッセージ:エラーが発生しました。コピー処理を続行しますか)。 データベースに関する基礎知識が足りないので、そもそもそれができるかどうかも分かりません。 Webで検索しても参考になるサイトを見つけられませんでした。 よろしくお願いいたします。
- ベストアンサー
- その他(データベース)
- PHPでms-accessのmdbファイルにアクセスする方法
PHPでms-accessのmdbファイルにアクセスする方法を探しています。 adoのような形でサーバ側に手を入れずに簡単にできる方法ないでしょうか?
- ベストアンサー
- PHP
- OracleDBからxml抽出→内容をテーブル形式でAccessへ取込
OracleDBからxml抽出→内容をテーブル形式でAccessへ取込→mdb出力 いつもお世話になります。 表題の件について実現可能かご存知でしたら教えてください。 【一.実現したいこと】 1.OracleDBからxmlファイルを抽出する。 2.抽出した情報をテーブル形式でAccessにimportする。 3.importした情報をmdbファイルとして出力するためのディレクトリを作成する。 4.importした情報をある情報(部署ID等)ごとのmdbファイルに分割して出力する。 【二.使用言語】 上記の処理をバッチ実行しようと考えております。 javaで作れればと考えていますが、VBを使った方がいいのでしょうか。 以上、2点についてアドバイスをいただけますでしょうか。 よろしくお願いいたします。
- ベストアンサー
- Java
- MS Accessが時間と共に重くなる
MS Accessでシステムを構築したのですが、同じ画面を使い続けるとパフォーマンスが悪くなります。 <システムの構成> ファイルサーバにテーブルを持つmdbファイル(サーバmdb)を置き、 各PCに置かれた、フォーム、レポート、クエリ、VBAを持つmdb(クライアントmdb)から接続します。 各PCのクライアントmdbのフォームを何時間か使い続けていると、サーバからデータを取得するのが遅くなります。 (調べてみると並び替え(order by)が主な原因のようです。参考までに遅くなった時のデータ取得件数は2万件程でした。) ただし遅くなっても、1度フォームを閉じて開き直すと、同じデータでも再び速くなります。 どうすれば速くなるかは別途考えなければいけませんが、そもそも何が原因なのでしょうか。 ・朝(使い始め)は速い ・同じフォームをずっと使い続けるとデータ取得が遅くなる ・フォームを閉じて開き直すと再び速くなる メモリが関係してそうな気がしますが、MS Accessではこういうことは起こるもの(仕様)なのでしょうか。原因が知りたいのですが、何か情報はないでしょうか。
- 締切済み
- オフィス系ソフト
- PHPでexeファイル実行
C言語でMPG形式の画像ファイルを読み込み、画像処理をしてテキスト形式で画像データを出力するプログラムを作成したのですが、 これをPHPプログラム内で動作させ、テキストデータ(できればバイナリのほうがいい)を読み取りたいと思います。 これはexeファイルをexecやsystem関数で実行することで解決できるのでしょうか? また、C言語の画像処理プログラムが画像を読み込んでからテキストデータを作成するまで1分ほどのタイムラグがあります。 どうすればPHP内の処理でexeファイル実行→exeがデータベースから画像を読み込む→ 1分処理待ち→テキスト作成→作成されたテキストデータをPHPで読み込み とできるのでしょうか? ちなみに、exeファイルとphpで作成した画像データベースはサーバー機に置くつもりです。 テキストデータを介さなくても、C言語プログラムからphpに直接データを渡す方法があればそちらのほうが望ましいです。 連続投稿で申し訳ないのですが、急を要するのでぜひともご解答お願いします。
- ベストアンサー
- PHP
- Accessのデータ共有について
現在社内の顧客管理システムをAccessにて構築しており、データテーブルファイル(mdb)をファイルサーバに置き、クライアントPCはフォームやクエリだけのmdbを使用してテーブルのリンクでデータ共有しています(Accessのデータ分割ツールにてテーブルとフォーム、クエリを分離しただけの状態で運用しています)。これまでは、この状態でも運用出来ていましたが、データ量が多くなるにつれ、段々動作が重くなってきた為、処理速度改善の為に、以下の二案を検討していますが、どちらの案が効果的なのでしょうか? 【案1】 クライアント用mdbファイルに同じテーブル構成の一時テーブルを作成し、mdbファイル起動時と、「更新」ボタンを別途作成し、「更新」ボタンが押下されたタイミングで、ファイルサーバのデータベースからADOにて一時テーブルに全データを読み込む。更新系の処理は、各クライアントの一時テーブルとファイルサーバのデータベースに対して行う。 【案2】 現状フォームの遷移については、 「DoCmd.OpenForm」関数の引数に検索条件を指定する方法で行っている為、この部分を ・ADOにてデータを取得 ↓ ・遷移後のフォームに値をセット と言った処理に変更する。 また、上記以外の方法で何か良い方法がありましたらご指摘頂ければと思いますので、よろしくお願いします。
- ベストアンサー
- その他(データベース)
- 例え、a.phpというファイルがあります。
例え、a.phpというファイルがあります。 このファイルには、中でphp処理とjavascript処理をを行っています。 詳細にいうと phpで、ある特定フォルダのファイルを呼びだしますが、そのファイルがあるかないかの処理結果をjavascriptに渡します。(一応このようにやるつもりです。) 今、不明なのは、同じa.phpファイルの中でphpとjavascript間でデータ渡しが可能でしょうか? また、php処理で特定ファイルを検査することが可能でしょうか? 自分がわかる範囲ならば、フォルダのすべてのファイルを呼びこむということですが、、、 ご教授よろしくお願いします。
- ベストアンサー
- PHP
- Accessのテーブルデータ
Visual Basicで作成したソフトでAccessのテーブルデータを呼び出せるようにしたいです。 mdb形式(Access)のファイルはデータベースエクスプローラに表示できるみたいですが、sqlのデータベースみたいにvisual studio上でデザイナ的に操作できるのでしょうか。 Form上でmdb形式のテーブルデータが扱えればよいのですが、もし必要なコードがあるのでしたら参考程度にアドバイスください。
- 締切済み
- Visual Basic
お礼
ご回答ありがとうございます。 ちなみにASPで開発する場合も同じ手順でしょうか。 また、ASPとPHPで比較した場合にどちらが作りやすいでしょうか。