AccessとMySQLとの簡単なC/Sをつくるメモ

茜丸@昼勤務 | 2009年10月10日

Accessネタを投下する理由は、自分が忘れないようにするための個人的なメモというのがその大きな理由なのですが、社内でも関連会社の方から問い合わせが来たりするので、それに備えるためでもあります。今回、とある方からAcce [...]

Start uga_insert_html_once: head, Footer hooked: HTML inserted: Location is HEAD Start uga_get_option: footer_hooked uga_options: array ( 'version_sent' => '1.6.0', 'advanced_config' => true, 'account_id' => 'UA-159521-2', 'internal_domains' => 'virtual.haru.gs', 'max_user_level' => '8', 'prefix_ext_links' => '/outgoing/', 'prefix_mail_links' => '/mailto/', 'prefix_file_links' => '/ge/wp-content/uploads', 'track_extensions' => 'kmz,kml', 'enable_tracker' => true, 'filter_content' => true, 'filter_comments' => true, 'filter_comment_authors' => true, 'track_adm_pages' => true, 'track_ext_links' => true, 'track_mail_links' => true, 'track_files' => true, 'ignore_users' => true, 'debug' => true, 'check_updates' => true, 'footer_hooked' => true, ) Ending uga_get_option: footer_hooked (1) End uga_insert_html Ending uga_wp_head_track: Start uga_filter:

odbcAccessネタを投下する理由は、自分が忘れないようにするための個人的なメモというのがその大きな理由なのですが、社内でも関連会社の方から問い合わせが来たりするので、それに備えるためでもあります。今回、とある方からAccessとMySQLをつかって、みなでデータベースを共有するプログラムを作成したいという旨の話があったので、すでにそれでシステムを組んで人事管理システムを作成している自分のメモがどこかの誰かの役に立てばと思いここに記します。

さて、Accessなんですが、基本オフィスのファイルなので、通常は単独で利用することが前提条件にあります。そのため、ファイル単位のロックとなっており、誰かが使っていると、他の誰かは使えません(厳密に言うと使えなくもないのですが、あまり望ましくない)。また、Accessは自分自身もデータベースであるため、GUIの部分とデータ格納部分を自前で持ち合わせています。それは強みでもあり、弱さでもあります。特によく聞かれるのがファイルが壊れた場合に、全部利用できなくなるので、多くの人がそれなりのシステムの場合、フロントエンドのAccessとバックエンドのAccessと二つ用意して、データとGUIを切り離し、相互をリンクテーブルでつないでいます(この場合、格納場所が変わっても使えるように、開いたときにリンクテーブルを更新するAutoexecを用意しておくとベスト)。

今回は、バックエンドはMySQL Serverを立てます。まずは、利用するに当たって必要なものをリストアップします。

Start uga_in_feed Ending uga_in_feed: Start uga_track_user Start uga_get_option: ignore_users uga_options: array ( 'version_sent' => '1.6.0', 'advanced_config' => true, 'account_id' => 'UA-159521-2', 'internal_domains' => 'virtual.haru.gs', 'max_user_level' => '8', 'prefix_ext_links' => '/outgoing/', 'prefix_mail_links' => '/mailto/', 'prefix_file_links' => '/ge/wp-content/uploads', 'track_extensions' => 'kmz,kml', 'enable_tracker' => true, 'filter_content' => true, 'filter_comments' => true, 'filter_comment_authors' => true, 'track_adm_pages' => true, 'track_ext_links' => true, 'track_mail_links' => true, 'track_files' => true, 'ignore_users' => true, 'debug' => true, 'check_updates' => true, 'footer_hooked' => true, ) Ending uga_get_option: ignore_users (1) Start uga_get_option: max_user_level uga_options: array ( 'version_sent' => '1.6.0', 'advanced_config' => true, 'account_id' => 'UA-159521-2', 'internal_domains' => 'virtual.haru.gs', 'max_user_level' => '8', 'prefix_ext_links' => '/outgoing/', 'prefix_mail_links' => '/mailto/', 'prefix_file_links' => '/ge/wp-content/uploads', 'track_extensions' => 'kmz,kml', 'enable_tracker' => true, 'filter_content' => true, 'filter_comments' => true, 'filter_comment_authors' => true, 'track_adm_pages' => true, 'track_ext_links' => true, 'track_mail_links' => true, 'track_files' => true, 'ignore_users' => true, 'debug' => true, 'check_updates' => true, 'footer_hooked' => true, ) Ending uga_get_option: max_user_level (8) Tracking user with level Ending uga_track_user: 1 Calling preg_replace_callback: ]*?)href\s*=\s*['"](.*?)['"]([^>]*)>(.*?) Start uga_preg_callback: Array Get tracker for full url Start uga_track_full_url: virtual.haru.gs/ge/wp-content/uploads/odbc.jpg Start uga_is_url_internal: virtual.haru.gs/ge/wp-content/uploads/odbc.jpg Start uga_get_option: internal_domains uga_options: array ( 'version_sent' => '1.6.0', 'advanced_config' => true, 'account_id' => 'UA-159521-2', 'internal_domains' => 'virtual.haru.gs', 'max_user_level' => '8', 'prefix_ext_links' => '/outgoing/', 'prefix_mail_links' => '/mailto/', 'prefix_file_links' => '/ge/wp-content/uploads', 'track_extensions' => 'kmz,kml', 'enable_tracker' => true, 'filter_content' => true, 'filter_comments' => true, 'filter_comment_authors' => true, 'track_adm_pages' => true, 'track_ext_links' => true, 'track_mail_links' => true, 'track_files' => true, 'ignore_users' => true, 'debug' => true, 'check_updates' => true, 'footer_hooked' => true, ) Ending uga_get_option: internal_domains (virtual.haru.gs) Checking hostname virtual.haru.gs Match found, url is internal Ending uga_is_url_internal: 1 Get tracker for internal URL Start uga_track_internal_url: virtual.haru.gs/ge/wp-content/uploads/odbc.jpg, Start uga_get_option: track_files uga_options: array ( 'version_sent' => '1.6.0', 'advanced_config' => true, 'account_id' => 'UA-159521-2', 'internal_domains' => 'virtual.haru.gs', 'max_user_level' => '8', 'prefix_ext_links' => '/outgoing/', 'prefix_mail_links' => '/mailto/', 'prefix_file_links' => '/ge/wp-content/uploads', 'track_extensions' => 'kmz,kml', 'enable_tracker' => true, 'filter_content' => true, 'filter_comments' => true, 'filter_comment_authors' => true, 'track_adm_pages' => true, 'track_ext_links' => true, 'track_mail_links' => true, 'track_files' => true, 'ignore_users' => true, 'debug' => true, 'check_updates' => true, 'footer_hooked' => true, ) Ending uga_get_option: track_files (1) Tracking files enabled Start uga_get_option: track_extensions uga_options: array ( 'version_sent' => '1.6.0', 'advanced_config' => true, 'account_id' => 'UA-159521-2', 'internal_domains' => 'virtual.haru.gs', 'max_user_level' => '8', 'prefix_ext_links' => '/outgoing/', 'prefix_mail_links' => '/mailto/', 'prefix_file_links' => '/ge/wp-content/uploads', 'track_extensions' => 'kmz,kml', 'enable_tracker' => true, 'filter_content' => true, 'filter_comments' => true, 'filter_comment_authors' => true, 'track_adm_pages' => true, 'track_ext_links' => true, 'track_mail_links' => true, 'track_files' => true, 'ignore_users' => true, 'debug' => true, 'check_updates' => true, 'footer_hooked' => true, ) Ending uga_get_option: track_extensions (kmz,kml) Checking file extension kmz Checking file extension kml Ending uga_track_internal_url: Ending uga_track_full_url: Ending uga_preg_callback: odbc Ending uga_filter:

odbcAccessネタを投下する理由は、自分が忘れないようにするための個人的なメモというのがその大きな理由なのですが、社内でも関連会社の方から問い合わせが来たりするので、それに備えるためでもあります。今回、とある方からAccessとMySQLをつかって、みなでデータベースを共有するプログラムを作成したいという旨の話があったので、すでにそれでシステムを組んで人事管理システムを作成している自分のメモがどこかの誰かの役に立てばと思いここに記します。

さて、Accessなんですが、基本オフィスのファイルなので、通常は単独で利用することが前提条件にあります。そのため、ファイル単位のロックとなっており、誰かが使っていると、他の誰かは使えません(厳密に言うと使えなくもないのですが、あまり望ましくない)。また、Accessは自分自身もデータベースであるため、GUIの部分とデータ格納部分を自前で持ち合わせています。それは強みでもあり、弱さでもあります。特によく聞かれるのがファイルが壊れた場合に、全部利用できなくなるので、多くの人がそれなりのシステムの場合、フロントエンドのAccessとバックエンドのAccessと二つ用意して、データとGUIを切り離し、相互をリンクテーブルでつないでいます(この場合、格納場所が変わっても使えるように、開いたときにリンクテーブルを更新するAutoexecを用意しておくとベスト)。

今回は、バックエンドはMySQL Serverを立てます。まずは、利用するに当たって必要なものをリストアップします。

Start uga_filter:

Accessネタを投下する理由は、自分が忘れないようにするための個人的なメモというのがその大きな理由なのですが、社内でも関連会社の方から問い合わせが来たりするので、それに備えるためでもあります。今回、とある方からAcce [...]

Start uga_in_feed Ending uga_in_feed: Start uga_track_user Start uga_get_option: ignore_users uga_options: array ( 'version_sent' => '1.6.0', 'advanced_config' => true, 'account_id' => 'UA-159521-2', 'internal_domains' => 'virtual.haru.gs', 'max_user_level' => '8', 'prefix_ext_links' => '/outgoing/', 'prefix_mail_links' => '/mailto/', 'prefix_file_links' => '/ge/wp-content/uploads', 'track_extensions' => 'kmz,kml', 'enable_tracker' => true, 'filter_content' => true, 'filter_comments' => true, 'filter_comment_authors' => true, 'track_adm_pages' => true, 'track_ext_links' => true, 'track_mail_links' => true, 'track_files' => true, 'ignore_users' => true, 'debug' => true, 'check_updates' => true, 'footer_hooked' => true, ) Ending uga_get_option: ignore_users (1) Start uga_get_option: max_user_level uga_options: array ( 'version_sent' => '1.6.0', 'advanced_config' => true, 'account_id' => 'UA-159521-2', 'internal_domains' => 'virtual.haru.gs', 'max_user_level' => '8', 'prefix_ext_links' => '/outgoing/', 'prefix_mail_links' => '/mailto/', 'prefix_file_links' => '/ge/wp-content/uploads', 'track_extensions' => 'kmz,kml', 'enable_tracker' => true, 'filter_content' => true, 'filter_comments' => true, 'filter_comment_authors' => true, 'track_adm_pages' => true, 'track_ext_links' => true, 'track_mail_links' => true, 'track_files' => true, 'ignore_users' => true, 'debug' => true, 'check_updates' => true, 'footer_hooked' => true, ) Ending uga_get_option: max_user_level (8) Tracking user with level Ending uga_track_user: 1 Calling preg_replace_callback: ]*?)href\s*=\s*['"](.*?)['"]([^>]*)>(.*?) Ending uga_filter:

Accessネタを投下する理由は、自分が忘れないようにするための個人的なメモというのがその大きな理由なのですが、社内でも関連会社の方から問い合わせが来たりするので、それに備えるためでもあります。今回、とある方からAcce [...]

Start uga_wp_footer_track: Start uga_get_tracker Start uga_in_feed Ending uga_in_feed: Start uga_track_user Start uga_get_option: ignore_users uga_options: array ( 'version_sent' => '1.6.0', 'advanced_config' => true, 'account_id' => 'UA-159521-2', 'internal_domains' => 'virtual.haru.gs', 'max_user_level' => '8', 'prefix_ext_links' => '/outgoing/', 'prefix_mail_links' => '/mailto/', 'prefix_file_links' => '/ge/wp-content/uploads', 'track_extensions' => 'kmz,kml', 'enable_tracker' => true, 'filter_content' => true, 'filter_comments' => true, 'filter_comment_authors' => true, 'track_adm_pages' => true, 'track_ext_links' => true, 'track_mail_links' => true, 'track_files' => true, 'ignore_users' => true, 'debug' => true, 'check_updates' => true, 'footer_hooked' => true, ) Ending uga_get_option: ignore_users (1) Start uga_get_option: max_user_level uga_options: array ( 'version_sent' => '1.6.0', 'advanced_config' => true, 'account_id' => 'UA-159521-2', 'internal_domains' => 'virtual.haru.gs', 'max_user_level' => '8', 'prefix_ext_links' => '/outgoing/', 'prefix_mail_links' => '/mailto/', 'prefix_file_links' => '/ge/wp-content/uploads', 'track_extensions' => 'kmz,kml', 'enable_tracker' => true, 'filter_content' => true, 'filter_comments' => true, 'filter_comment_authors' => true, 'track_adm_pages' => true, 'track_ext_links' => true, 'track_mail_links' => true, 'track_files' => true, 'ignore_users' => true, 'debug' => true, 'check_updates' => true, 'footer_hooked' => true, ) Ending uga_get_option: max_user_level (8) Tracking user with level Ending uga_track_user: 1 Start uga_get_option: account_id uga_options: array ( 'version_sent' => '1.6.0', 'advanced_config' => true, 'account_id' => 'UA-159521-2', 'internal_domains' => 'virtual.haru.gs', 'max_user_level' => '8', 'prefix_ext_links' => '/outgoing/', 'prefix_mail_links' => '/mailto/', 'prefix_file_links' => '/ge/wp-content/uploads', 'track_extensions' => 'kmz,kml', 'enable_tracker' => true, 'filter_content' => true, 'filter_comments' => true, 'filter_comment_authors' => true, 'track_adm_pages' => true, 'track_ext_links' => true, 'track_mail_links' => true, 'track_files' => true, 'ignore_users' => true, 'debug' => true, 'check_updates' => true, 'footer_hooked' => true, ) Ending uga_get_option: account_id (UA-159521-2) Ending uga_get_tracker: Start uga_insert_html_once: footer, Footer hooked: HTML inserted: Location is FOOTER Inserting HTML End uga_insert_html Ending uga_wp_footer_track: Start uga_shutdown Start uga_in_feed Ending uga_in_feed: Start uga_track_user Start uga_get_option: ignore_users uga_options: array ( 'version_sent' => '1.6.0', 'advanced_config' => true, 'account_id' => 'UA-159521-2', 'internal_domains' => 'virtual.haru.gs', 'max_user_level' => '8', 'prefix_ext_links' => '/outgoing/', 'prefix_mail_links' => '/mailto/', 'prefix_file_links' => '/ge/wp-content/uploads', 'track_extensions' => 'kmz,kml', 'enable_tracker' => true, 'filter_content' => true, 'filter_comments' => true, 'filter_comment_authors' => true, 'track_adm_pages' => true, 'track_ext_links' => true, 'track_mail_links' => true, 'track_files' => true, 'ignore_users' => true, 'debug' => true, 'check_updates' => true, 'footer_hooked' => true, ) Ending uga_get_option: ignore_users (1) Start uga_get_option: max_user_level uga_options: array ( 'version_sent' => '1.6.0', 'advanced_config' => true, 'account_id' => 'UA-159521-2', 'internal_domains' => 'virtual.haru.gs', 'max_user_level' => '8', 'prefix_ext_links' => '/outgoing/', 'prefix_mail_links' => '/mailto/', 'prefix_file_links' => '/ge/wp-content/uploads', 'track_extensions' => 'kmz,kml', 'enable_tracker' => true, 'filter_content' => true, 'filter_comments' => true, 'filter_comment_authors' => true, 'track_adm_pages' => true, 'track_ext_links' => true, 'track_mail_links' => true, 'track_files' => true, 'ignore_users' => true, 'debug' => true, 'check_updates' => true, 'footer_hooked' => true, ) Ending uga_get_option: max_user_level (8) Tracking user with level Ending uga_track_user: 1 Footer hook was executed Start uga_get_option: footer_hooked uga_options: array ( 'version_sent' => '1.6.0', 'advanced_config' => true, 'account_id' => 'UA-159521-2', 'internal_domains' => 'virtual.haru.gs', 'max_user_level' => '8', 'prefix_ext_links' => '/outgoing/', 'prefix_mail_links' => '/mailto/', 'prefix_file_links' => '/ge/wp-content/uploads', 'track_extensions' => 'kmz,kml', 'enable_tracker' => true, 'filter_content' => true, 'filter_comments' => true, 'filter_comment_authors' => true, 'track_adm_pages' => true, 'track_ext_links' => true, 'track_mail_links' => true, 'track_files' => true, 'ignore_users' => true, 'debug' => true, 'check_updates' => true, 'footer_hooked' => true, ) Ending uga_get_option: footer_hooked (1) Start uga_get_option: debug uga_options: array ( 'version_sent' => '1.6.0', 'advanced_config' => true, 'account_id' => 'UA-159521-2', 'internal_domains' => 'virtual.haru.gs', 'max_user_level' => '8', 'prefix_ext_links' => '/outgoing/', 'prefix_mail_links' => '/mailto/', 'prefix_file_links' => '/ge/wp-content/uploads', 'track_extensions' => 'kmz,kml', 'enable_tracker' => true, 'filter_content' => true, 'filter_comments' => true, 'filter_comment_authors' => true, 'track_adm_pages' => true, 'track_ext_links' => true, 'track_mail_links' => true, 'track_files' => true, 'ignore_users' => true, 'debug' => true, 'check_updates' => true, 'footer_hooked' => true, ) Ending uga_get_option: debug (1) -->