LoginSignup
6
3

【初学者】Access VBAって何?マクロやExcelとの違いを調べる

Posted at

Accessを業務で扱う機会があり、恥ずかしながら扱ったことがなかったため、基本的な知識から調べてみました。

意外と知らなかった疑問なども、改めて知るきっかけとなりましたので、こちらに記録しておきます。

Accessって何?

  • Access(アクセス)とは、Microsoft社が提供するデータベースの管理ソフトである。
  • AccessRDBMS(リレーショナルデータベースマネジメントシステム)の一つである。つまり、データをテーブルとして管理する。

Access VBAって何?

  • Access VBAは、
  • VBAVisual Basic for Applicationsの略称である。
  • VBAMicrosoft Officeシリーズに搭載されているプログラミング言語のことを指す。
  • Access VBAを使って開発を行う際は、開発タブのVisual Basicからアクセスできる(もしくはAlt + F11がショートカット)。
  • 業務ではおそらくデータベースを取り扱うので、SQLの知見があると便利。

AccessとExcelの違い

  • ざっくりと以下のような違いで考えれば良い。
  • Accessはデータベースを取り扱うソフト
  • Excelは表計算を行うためのソフト

Access VBAとExcel VBAの違い

  • どちらもMicrosoft Officeソフトで使用するプログラミング言語である。
  • Excel VBAは、Microsoft Officeシリーズの中でもExcelで使用できるプログラミング言語である。
  • Access VBAは、Microsoft Officeシリーズの中でもAccessで使用できるプログラミング言語である。
  • Excel VBAは、Excelの作業を自動化したりする際に使用する言語。
  • Access VBAは、Accessの作業を自動化したりする際に使用する言語。

VBAでできること

  • データの計算・操作
    データの四則演算、行列操作、並べ替え、書式変更などの処理が可能です。
  • データの集計・分析
    データの集計、分析、検索、置換などの処理が可能です。
  • ファイルの作成
    テキストデータやCSVデータなどの外部ファイルの作成、読み込み、名称変更、保存、削除などの処理が可能です。
  • ウェブサイトよりデータ収集
    API機能などを用いて、Webサービスから情報を取得して保存したりすることができる。

引用:案件評判BLOG
https://anken-hyouban.com/blog/2020/03/11/excelvba-accessvba/#the_post_3

マクロとVBAの違い

  • 関係性が高い両者だが、別物である。
  • VBA = Microsoft 365ソフト用のプログラミング言語
  • マクロ = 複数の操作をまとめて呼び出したり、プログラムを自動化するための機能
  • マクロで便利な機能を作るためにVBAというプログラミング言語を使用するといった考え方で良いだろう。
  • 結局はマクロとVBAをセットで考える場面が多そうである(想像)。

AccessとSQL Serverとの違い

  • AccessRDBMSである。
  • SQL ServerMicrosoft SQL Serverのことであり、これもRDBMSである。
  • SQL Serverは視覚的に操作できるGUIを採用している。
  • SQL Serverは小規模・大規模にも対応できるデータベースシステムである。
  • SQL Serverはネットワークで情報を管理していて、時間によってバックアップすることもでき、データの復元が可能である。
  • Windowsと同じMicrosoft社のシステムであるため、Windows Serverで利用されることが多い。
  • 【補足】:Access を SQL Server に接続することも可能なようだ。
  • 【補足】:データベースの種類で言うと、他にもOracleMySQLPostgreSQLなどがある。
  • 構文や式、コンポーネントなどの表記に違いがあるようだ。
  • 明確な基準があるわけではないが、大規模データベースを構築したい企業ではSQL Serverを採用することの方が多いと思われる(想像)。
  • 一方、Accessはどちらかといえば、一個人がPC上でローカルに使用するDBとして利用するのに適しているようだ。

 まず、Accessは個人がローカルで使用するDBMSとしてメリットが大きい。ザックリとした特徴だが、以下のような点が考えられる。

  • デスクトップ上での動作をターゲットとしている。
  • 2GB未満データを ローカルで扱うのに適している。
  • データベースと管理ツールが一体化している。
  • フォーム、レポート、クエリ、マクロなどの作成が容易である。
  • SQLServerに比べて少ない投資でシステム構築が可能な場合が多い。
    しかし、問題点としても以下のような点が考えられる。
  • 処理速度が遅い。(特に回線速度の遅い環境での利用時)
  • 複数人で使うと、データの競合が発生する。
  • 障害発生時の対処が困難である。
  • DBが2GBを超えたとき、DB分割が必要となる。
  • 情報漏洩、不正アクセスへの対処が難しい。

引用:DBMSの選択について

参考サイト:Microsoft サポート

参考サイト:Access を SQL Server に接続する

Accessの特徴

引用文

  • プログラマから見たAccessの利点の1つは、そのSQLとの相対的な互換性である。
  • クエリはSQL文として表示や編集ができる。
  • そしてSQL文はAccessのテーブルを操作するためにマクロやVBAモジュールの中で直接使用できる。
  • ユーザーはプログラムの形式と論理、そしてオブジェクト指向の可能性の提示のために、VBAと「マクロ」の両方を結合して使える。
  • SQL文の中ではVBAと同じ演算子や関数を用いることができ、モジュール内で定義された利用者独自の関数さえも使用できる。

引用:Wikipedia
https://ja.m.wikipedia.org/wiki/Microsoft_Access

  • 複雑なコードを記述しなくてもデータベースの作成ができたりといった利便性もある。

Microsoft Office Accessは、関係データベース管理システム(RDBMS)のひとつで、プログラマーでない人が使うアプリケーションとしての側面も強く、複雑なコマンドやコーディングをしなくても、データの追加や検索、変更、削除といった、データベースを作成・管理できるように工夫されています。

引用 Udemyメディア
https://udemy.benesse.co.jp/business/office/intro-access.html

Access VBAで出来ること

プログラミング言語であるため、これを使ってアプリケーションの開発ができる。
業務の自動化、簡略化、人件費削減など、Access VBAによる開発で、リソースの削減を実現できる(ざっくり)。

  • 同じMicrosoftのソフトウェアであり、Excelから、データのインポートを行う。
  • AccessからExcelへデータのエクスポートを行う。
  • 決まったフォーマットで、レポートやドキュメントの自動生成する。
  • APIなど、外部システムとの連携によってデータの取得ができる。

Accessはどこで学習できる?

参考サイトまとめ

6
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3