Q:Accessで、テーブルにデータ入力する方法を教えてください。
フォームやレポートを作成する時、あらかじめデータが数件入っているほうがデザインを調整しやすいので、Accessのテーブルにデータを入力しておきます。
1.Accessのファイルを起動します。
2.画面が開きますので、オブジェクトの「テーブル」を選択します。
3.「開く」をクリックします。
4.テーブルの入力画面が開きますので、図のようにデータを入力してください。データ型をオートナンバーにしているので、自動で連番が入力されます。
5.入力が終わったら、ツールバーから「保存」ボタンを押して、テーブルを閉じます。
これでフォームやレポートを作る準備が整いました。
実はAccessはデータを入力した段階で自動的に保存されますので、あえて「保存」ボタンをクリックする必要はありません。しかし保存するクセを付けておいたほうがいいと思います。
複雑なフォームを作っている時や、長いプログラムを書いている途中で、パソコンが停止すると結構ショックです。保存するクセは大事です。
ある程度作業が進んだら、「保存」を心がけましょう。
今回はテーブルに直接データを入力しましたが、Accessで業務システムを作る時は、ユーザーはフォームからデータを入力できるようにします。できるだけユーザーに直接テーブルをいじらせないほうが安全です。
Q:Accessで、テーブルを作る方法を教えてください。
Accessの場合、データを保存する場所であるテーブルを作る必要があります。ここがExcel(エクセル)との大きな違いです。
エクセルなどの表計算ソフトは、データの保存場所と表示場所が同じ「セル」なので、初心者でも直感的に理解できます。しかしAccessなどのデータベースソフトはテーブルを作らないと何もできません。
特にエクセルを経験したことのある人は、このテーブルを作るという段階で戸惑います。エクセルには無い考え方ですので、きっと面倒に感じることでしょう。
でもデータベースではテーブルを作る作業(設計)はとても重要です。と言っても作るのは簡単です。理論よりも、まずはテーブル作成がとういうものか体験してみることにしましょう。
注:これから先は英数字は半角、その他は全角で入力するように習慣を付けてください。
1.マイクロソフトのAccessを起動して新しいデータベースを作成します。「空のデータベース」を選択して、「OK」をクリックします。
2.好きな名前を付けて「作成」をクリックします。
3.画面が開きますので、オブジェクトの「テーブル」を選択し、「新規作成」をクリックします。
4.「デザインビュー」を選択し、「OK」をクリックします。
5.フィールド名とデータ型を図のように指定します。
6.1行を選択し、ツールバーから「主キー」をクリックします。
7.ツールバーから「保存」ボタンをクリックし、名前を付けて保存します。
———————————————————————-
これでテーブル(データの保存場所)ができました。
テーブルを作るだけなら簡単な作業です。どう作るかという設計は難しいのですが、何度も作るうちに解ってきます。
今の段階で理論を覚える必要はないのですが、簡単にテーブルの説明をしておきます。わからなくても大丈夫です。体験していくうちに直感的にわかるようになりますから。
【簡単な解説】
・データ型に「オートナンバー」を指定したことで、新規レコード(行)を作成する度にAccessが自動で連番をふってくれます。
・商品コードに「主キー」を設定したことで、同じ番号は入力できなくなります。また主キーはその行がユニーク(他に同じものがない)ということであり、テーブル同士を結びつけるときに重要になります。
Q:Accessで、クエリを作成したのですが、データを変更されないようにできないでしょうか?
レコードセットの種類を変更することで、データを変更できないクエリにすることができます。
▼操作手順:クエリでデータ変更されないようにする
クエリをデザインビューで開く
↓
画面上部の[フィールド]以外のグレーの部分をクリック
↓
メニュー[表示]-[プロパティ]をクリック
↓
[クエリプロパティ]-[レコードセット]を「スナップショット」に変更
↓
クエリの保存
レコードセットは取得したデータの集まりで、既定では追加・変更・削除が可能な「ダイナセット」になっています。これを変更不可の「スナップショット」にすることで、データの変更をできなくすることができるわけです。
Q:Accessで、四捨五入をするにはどうしたらいいのでしょうか?
Excelのワークシート関数:ROUNDは四捨五入をする関数ですが、AccessのRound関数は丸めを行う関数であって四捨五入をする関数ではありません。
Round関数が四捨五入だと思っていた方は、とりあえずサンプルファイルの「Q_Round関数」クエリをご覧ください。
「1.5」「3.5」は、それぞれ「2」「4」に丸められていますが、
「2.5」は「3」ではなく「2」に丸められています。
これがAccessのRound関数の仕様なのです。
我々が一般的にイメージする四捨五入(4以下を切り捨て、5以上を切り上げ)は「算術型丸め処理」と呼ばれるのに対し、AccessのRound関数の仕様は「通貨型丸め処理」「銀行型丸め処理」と呼ばれ、「丸めた結果が偶数になるように丸められます。
Q:Accessで、小数点以下を切り上げするにはどうしたらいいのでしょうか?
Accessでは、整数部分のみを取得するInt関数と、条件に応じて処理を切り替えるためにIIf関数を使って切り上げをすることができます。
▼操作手順:クエリで小数点以下を切り上げる演算フィールドを作成する
([元の数値]フィールドから、[切り上げ]フィールドを作成する例)
クエリをデザインビューで開く
↓
フィールド欄に、
「切り上げ: IIf(Int([元の数値])=[元の数値],[元の数値],Int([元の数値] 1))」
と記述する
主たる処理は、
「Int([元の数値] 1)」
の部分です。
元の数値からInt関数で整数部分のみを取得し、1を加算することでいわゆる「切り上げ」と同じ結果になるわけです。
ただ、このままだとどんなときにも1を加算する処理が行われてしまい、例えば「1.0」を切り上げしても「2」になってしまいます。
これを回避するために、IIf関数で切り分けています。