2007年09月10日

Accessを使っていますか(10)

欠席の取り扱い

テストを受けなかった。つまり欠席の場合は0点にしないという場合、平均を出す場合は欠席分を除外して計算しなければなりません。
また、合計点も意味を持ちませんから、合計しないように配慮しなければなりませんが、下の図に示すように、0点を入力せず空白にすることでAvg関数は自動的に考慮してくれます。同時に合計点も計算されません。
kesseki1.gif

ところが[順位]のボタンをクリックすると、下の図のようなエラーが表示され、VBAが中断されてしまいます。
これは、数値しか入れてはいけない変数に空白が入力されようとするため「型が合わない」というエラーが起こるからです。
kesseki2_1.gif

そこで、このエラーを回避する対策を下図のように、コードを追加することにより回避します
kesseki3.gif

ここまでのAccessによる成績処理アプリここよりダウンロードできます。ファイルは自己解凍になっていますから、ダウンロードしたらseiseki.EXEをダブルクリックすることにより解凍します。

にほんブログ村 教育ブログへ

ブログランキング
posted by edlwiss at 00:04 | Comment(0) | TrackBack(0) | Access

2007年09月09日

Accessを使っていますか(9)

順位付VBAの解説

AccessKozo2.gif
前回のVBAの解説をします。
「Q合計順位」では合計点の高い者の順に並んでいますから、これに対し、通し番号をつければ順位付けができることになります。
ただし、同点者がいる場合、同順位にしなければならないので、その対策をしておきます。

このVBAを[Q合計順]に対して実行することにより、フォーム[Fm一覧]に反映します。

VBAの解説は以下に示します。

なお、不要なコードがありましたので、削除してください。

VBAsetsumei.gif

にほんブログ村 教育ブログへ

ブログランキング
posted by edlwiss at 09:30 | Comment(0) | TrackBack(0) | Access

2007年09月09日

Accessを使っていますか(8)

フォームの改良

juni1_1.jpg
前回のフォームが完成すると、左の図のようになるはずです(画像をクリックすると拡大します)。
これで、一応、実用になると思いますが、このフォームからデータ(点数)を入力した場合どうなるでしょう?

特に[Enter]キーなど押さなくても、データは格納されます。
しかし、フォームにはそのままでは反映されません。
これでは使いにくいので、データが格納されたことをフォームに反映させるために[更新]ボタンを追加することにします。
そうすることにより、データの変更や新たな入力がしやすくなります。
データを入力した後は[順位]のボタンをクリックすることにより、新たな順位も表示されます。

juni1_2.jpg
それでは、前回の要領で[コマンドボタン]を上図のように追加します。


「プロパティ」での設定は下図のようにします。
juni2.jpg

{イベント]のタブで[クリック時]を選択し、右端の[・・・]をクリックします。


下図のように「Me.Refresh」と入力します。
juni3.jpg

入力が終わったら、右上の「×」をクリックして閉じます。途中で保存の確認が出たら「はい」をクリックします。

[Fm一覧]のフォームをダブルクリックし、フォームを表示させたら、データを入力して動作を確認してください。
[順位]のボタンをクリックすると、新たな順位になります。
同点の場合は、同じ順位で表示されます。

にほんブログ村 教育ブログへ

ブログランキング




posted by edlwiss at 00:50 | Comment(0) | TrackBack(0) | Access

2007年09月08日

Accessを使っていますか(7)

VBAを使って順位をつける

順位の欄がまだ空欄で、完成していませんでした。
そこで、今回はVBAを使って順位がつくようにします。
vba1.jpg
前回作成したフォームを「デザインビュー」で開いて、図のように{フォームヘッダー」を広く開けて、ツールボックスよりボタンを選んで配置します。




vba2.jpg

次に、追加したボタン上で右クリックするとメニューが現れますので[プロパティ]を選んでクリックします。


vba4.jpg
タブで[すべて]を選んで、[名前]に「btJuni」、[表題]に「順位」と入力します。



vba8.jpg
[イベント]のタブをクリックして、[クリック時」の右端の[・・・]をクリックします。


vba6.jpg
[ビルダの選択]では[コードビルダ]を選んで[OK]をクリックします。


vba9.jpg
上の図のようにコードを記述するところが出たら、以下のようにコードを書きます。

Private Sub btJuni_Click()

Dim Rs As Recordset
Dim n, m As Integer
Dim Rn As Integer
Dim p As Single
Set Rs = CurrentDb.OpenRecordset("Q合計順")
Rn = Rs.RecordCount
n = 1
p = -1
Rs.MoveFirst

Do Until Rs.EOF
m = n
Rs.Edit
Rs("順位") = m
If p = Rs("合計") Then
m = m - 1
Rs("順位") = m
End If
Rs.Update
p = Rs("合計")
Rs.MoveNext
n = n + 1
Loop

Me.Refresh
Rs.Close

End Sub


コードの入力が終わったら、順に右上の「×」をクリックして、閉じます。
途中で保存の確認がありますからそこでは「はい」を選んでください。

「Fm一覧」のアイコンをクリックすると、フォームが表示されますから、今回配置したボタン(順位)をクリックすると、順位の欄に順位が表示されます。

VBAの解説などは次回に行います。

にほんブログ村 教育ブログへ

ブログランキング
posted by edlwiss at 20:55 | Comment(0) | TrackBack(0) | Access

2007年09月06日

Accessを使っていますか(6)

Accessの仕組み

fmKansei.jpgここまで、テーブル→クエリ→フォームと作ってきました。最終的には左図(クリックしてください)のようになると思います。

{フォームフッター]では、式を入力しましたが、書式に注意してください。フォームのテキストボックスでは、=Avg([テスト1])と入力しましたが、クエリでは「=」を使わず合計:[テスト1]+[テスト2]のように入力しました。

また、フォームに平均を表示するためにAvgという関数を使いましたが、合計点を人数で割って平均を出すということをしてはいけません。それは、テストを欠席したという場合があるからです。AccessKozo.gif
欠席の場合は点数の入力欄を「0」としないで「0」を消して空白にしてください。空白にした場合は、Avgでは除外して計算します。
それから、関数を入力する場合は関数名を小文字で入力してください。それは、関数名が合っていれば先頭の文字が自動的に大文字に変換されるからです。

ここまでのAccessの仕組みを図に表してみました。テーブル、クエリ、フォームの関係を理解するようにしてください。
にほんブログ村 教育ブログへ

ブログランキング

posted by edlwiss at 09:07 | Comment(0) | TrackBack(0) | Access

2007年09月04日

Accessを使っていますか(5)

フォームの利用
先回につづき、フォームの使い方を説明します。
下の図のように@Aの順で実行してください。
form1.jpg

次の図が現れたら、@ABの順序で実行してください。
form2.jpg

次の「フォームウィザード」では@[表形式]を選択しA{次へ]をクリックしてください。
form3.jpg

下の図の@では好きな柄を選んでください。A[次へ]をクリックしてください。
form4.jpg

@[フォーム名}の欄に「Fm一覧」と入力し、A[フォームデザインを編集する]を選択し、B[完了]をクリックしてください。
form5.jpg

下図のように、[フォームフッター]の下端にマウスを移動し(マウスポインタが+になる)、下方にに引っ張って、図の大きさぐらいに引っ張ってください。
form6.jpg

[メニュー]の[表示]をクリックし、[ツールボックス]が選択されているか確認してください。
form7.jpg

{ツールボックス]上の図で示した[ウィザード]は選択しない(黄色でない)状態にしてください。
form8.jpg

{ツールボックス]上の[テキストボックス]を選択し(@)、[フォームフッター]の図の場所ぐらいをクリックしてください(A)。
form9.jpg

下の図に示すように入力し、テキストボックスのサイズを調節してください。
form10.jpg

テキストボックスに「=avg([テスト1])」と入力してください。「avg」の「a」は自動的に大文字になります。「テキスト1」はフィールドで入力したように特に「1」を全角、半角の間違いをしないように同じにしてください。
form11.jpg

入力が終了したら、右上の[×]をクリックし、保存するかどうかでは[はい]を選択し、閉じてください。

「Fm一覧」のアイコンをダブルクリックすると、次のように「平均」が計算されて表示されます。
form12.jpg

他のフィールドについても、同様な方法で平均を表示することができます。

にほんブログ村 教育ブログへ

ブログランキング
posted by edlwiss at 14:04 | Comment(0) | TrackBack(0) | Access

2007年09月02日

Accessを使っていますか(4)

得点順クエリを作る
今回は、テストの合計点の順に並ぶクエリを作ります。
下記の図のようにクリックしてください。

gokei1.jpg


下の図のようになったら@で示すように、{テーブル/クエリ}の選択欄で「クエリ:Qtest]を選んでください。
選んだら、Aで示す{>>]をクリックしてください。
次にBで示すように{次へ}をクリックしてください。

gokei2.jpg


以下の図になります。
{各レコードのすべてのフィールドを表示する]を選択してください(@)。
{次へ}をクリックしてください(A)。

gokei3.jpg

下の図では、図の示すように@、A、Bのようにしてください。

gokei4.jpg


図の@のように[降順]選んでから、右上の{×}をクリックしてください(A)。
保存するか聞いてくるので{はい}をクリックして保存してください。

gokei5.jpg


[Q合計順]のアイコンをダブルクリックしてください。

gokei6.jpg

合計順に並んで表示されます。

gokei7.jpg

いかがでしたか。うまくいかない場合はもう一度順序を確認してみてください。
それでも、わからない場合は、質問をどうぞ。

にほんブログ村 教育ブログへ

ブログランキング


テクノラティプロフィール
posted by edlwiss at 16:35 | Comment(2) | TrackBack(0) | Access

2007年09月01日

Accessを使っていますか(3)

Accessのテーブルに慣れてきたでしょうか?
今回は、

(1)氏名のフィールドの追加
(2)各人の「テスト1」から「テスト5」までの合計の計算

を行います。
性別と番号だけでなく、氏名の入力がほしいと思った方もみえるでしょう。
それでは、テーブル"test"のアイコンを選択し、右クリックし、メニューから{デザインビュー}を選んで、クリックしてください。すると、次のようになるはずです。

SimeiIn1.gif

[テスト1]のフィールドを一度クリックしてから(選択してから)、右クリックします。
そして、メニューから{行の挿入}を選んでクリックします。

SimeiIn2_3.gif

すると、下の図のように行が挿入されます。

SimeiIn3.gif

次に、下の図のように入力してください。

SimeiIn4.gif

入力が終わったら、右上の「×」をクリックすると、保存するかどうかを聞いてくるので「はい」をクリックします。
すると、再び[test]のアイコンに戻りますので、今度はこのテーブルをダブルクリック(左)してください。

そうして、下の図のように氏名を入力してください。

SimeiIn5.gif

以上で、氏名の入力は終わりました。
Excelと違うところは、ここで「保存」を行わなくても、自動的に氏名のデータは保存されます。

ここからは、各人が受けたテスト1〜5までの合計が、[合計]フィールドへ自動的に合計されるようにします。

Accessでの計算はテーブル自体でおこなうことはできません。
それで、クエリというものを使います。
クエリはSQLという言語で書かれますが、SQLを勉強しなくても、Accessでは自動的に作成してくれるようになっています。

クエリを作る前に、計算するデータが「テスト1」しかありませんので「テスト2」へ適当な練習用データを入力しておいてください。
入力が終わったら、右上の「×」をクリックしてテーブルを閉じます。

Q1.gif

下の図のように、左の縦のメニューから{クエリ}を選択してください。
次に、右のビューから図のように[ウィザードを使用してクエリを作成する]をダブルクリックしてください。

Q2.gif

以下のような画面が現れます。
「テーブル/クエリ」の欄が「テーブル:test」になっています。現在はテーブルが1つしかありませんから、このようになっていますが、テーブルやクエリが複数存在する時は、どれを選択するかが重要になります。

Q3.gif

左下のビューは「選択可能なフィールド」になっています。今回は全部のフィールドを選択しますので、図のように{>>}をクリックして、右の「選択したフィールド」へすべて移してください。

Q4.gif

フィールドが全部移動したのを確認したら{次へ}をクリックします。

Q5.gif

クエリ名を指定してくださいの欄には「Qtest}と入力します。testの前に「Q」をつけるのは、クエリであるという区別をするためです。
次に、図のAのように「クエリのデザインを編集する」を選び、Bのように完了をクリックします。

Q6.gif

以下のような画面になります(右の方は省略しています)。

Q7.gif


[合計]のフィールドをクリックしてから、図のAで示すツールバーのアイコンをクリックしてください。

Q8.gif

もし、ツールバーが表示されていないようでしたら、以下の図のようにして、ツールバーを表示してください。

Q9.gif

先で説明したツールバー上のアイコンをクリックすると、以下のような画面になります。

Q10.gif

「合計」の右側にコロン(:)を入力します。

Q11.gif

次に以下の図のように@Aの順にクリックして入力します。

Q12.gif

図のように「<<Expr>>」を削除します。

Q13.gif


後は図のように、「+」「テスト1」「+」「テスト2」の要領で、最終的に

合計:[テスト1」+「テスト2」+「テスト3」+「テスト4」+「テスト5」

となるように入力してください。
間違えたら削除して入力し直してください。

Q14.gif

入力が終わったら右上の「×」をクリックします。保存するかどうか聞いてきたら「はい」をクリックします。

Q15.gif

Qtest」のクエリ(アイコン)をダブルクリックすると、下の図のように、[合計]のフィールドに合計点が計算されています。
テストの点数を変更すると、合計も自動的に再計算されます。
(再計算を確定するには、入力した以外の場所をクリックしてください。クエリを閉じても再計算されて保存されます。)

Q16.gif

うまくいきましたか、よくわからないところがありましたら、どうぞ遠慮なく質問をしてください。

次回も、今まで今回作成したものを使って、クエリの作り方を発表する予定です。

にほんブログ村 教育ブログへ←ここをクリック

ブログランキング
posted by edlwiss at 00:10 | Comment(0) | TrackBack(0) | Access

2007年08月31日

Accessを使っていますか(2)

前回はAccessのテーブルを作りました。
Accessでアプリケーションを作る場合は、はじめに必ずテーブルを作ります。
前回の通りにテーブルを作った人は、図のようなアイコンがパソコンに残っているはずです。

それでは、アイコンをダブルクリックしてください。

beforStart.jpg

start1.jpg

左のように警告が出た場合は[いいえ]をクリックしてください。





ここで、少しセキュリティについて説明します。
最近は、ウイルスや情報漏洩などの問題がニュースになったりしますが、今回作ったテーブルは自分で作ったもので、外部との接触がないということで、ブロックしない、つまり[いいえ]を選びました。

しかし、ネットを通じて通信をする場合、自分の情報が外部に漏れたり、逆に進入されたりする場合があります。
特に、ネットで何かを注文したりして、カードの暗証番号やその他の個人情報、企業では社内の秘密に関する情報を盗みとられる可能性があります。

そういった対策をするために、ネット間の通信ではSSLという技術が使われているサーバーがあります。
SSLを使ってSSL証明書を発行しているサーバーであれば、入力したデータを「なりすまし」などによって盗み取られる心配はありません。
ネットから、ブラウザなどを通して、自分の情報を入力する場合は、SSLに対応しているかどうかを確認しましょう。


[いいえ]をクリックし、引き続き次のような警告が出た場合は「はい」をクリックしてください。

start2.jpg

下の図では[開く]をクリックしてください。

start3.jpg


下の図では[test]のテーブルをダブルクリックします。

start4.jpg

下のような画面になります。

tableinput1.jpg

ここでは、図を見て、テーブルの「フィールド」と「レコード」の名称を覚えてください。
Excelでいえば、列が「フィールド」行が「レコード」にあたります。

そして、性別の欄は、男を「0」、女を「1」として入力しますが、データベースでは「キー」という概念が大切になります。
データベースには、必ず1つの「主キー」が存在しなければなりません。
それは、データつまりレコードの重複を避けるためです。
(データの一意性と言います)

たとえば、人の名前は同姓同名がたくさんありますから、名前では一意性を決めることはできません。
そこで、数字やアルファベットを使ってコードを設定し、重複を避けるようにします。

今回のテーブルでは、2つのフィールドを使って主キーを設定しています。
男子の5番は性別と番号を連結すると、05となります。
女子の5番は同様に15となって、男子の5番と女子の5番は区別できることになります。

練習のために、男女それぞれ5人ずつをせっていしてください。
この時、性別の列(フィールド)だけを先に入力するということをしないでください。番号の列(フィールド)においても同じです。
そうしないと、警告が出て入力できなくなります。
かならずレコード毎に入力しましょう。

性別と番号の入力がすんだら、[テスト1]のフィールドに練習のためのテストの点数を入力してみましょう。
下の図が入力し終わったところです。

tableinput5.jpg

下の図のように[テスト1]のフィールドをマウスで右クリックし、メニューより[降順で並び替え]を右クリックしてみましょう。

tableinput3.jpg

すると、下の図のように[テスト1]の成績順に並びます。

tableinput4.jpg

同じ要領で[性別]フィールドで[昇順で並び替え]をクリックすると、男女の順番に並びます。

にほんブログ村 教育ブログへ←ここをクリック

ブログランキング
posted by edlwiss at 00:10 | Comment(2) | TrackBack(0) | Access

2007年08月30日

Accessを使っていますか(1)

start.jpg
Excelはなんとか使っているという人でも、Accessはよくわからないという人がいます。
Accessは大変有用なソフトですから、使わないのはもったいない話です。そこで、簡単な成績処理の作成を通して、できるだけわかりやすくAccessの使い方を説明してみたいと思います。
ここではAccess2003
を使って説明しています。

今回作成する成績処理は、男女別出席番号をもとに5回のテストをを
を行って、合計点を出し、順位をつけるというものです。
足りないところもあると思いますが、始めから欲張ると理解も難しくなりますから、まずは簡単なところからいきましょう。

それでは、Windowsのスタート画面からAccessを選んでクリックしてください。

sinki.jpg

Accessの[ファイル]から[新規]を選んでクリックしてください。
すると、右の方に「新しいファイル」という縦長のメニューが現れます。






karadb.jpg

一番上の[空のデータベース]をクリックしてください。












seisekiSakusei.2.jpg

下の[ファイル名]に"seiseki"と入力し[作成]をクリックしてください。


designview.jpg

[テーブル]を選択し[デザインビューでテーブルを作成する]をダブルクリックしてください。








table.jpg

図の欄をクリックすると、縦棒「|」が現れます。
この状態で、






table2.jpg

図のように@に「性別」と入力しAで[数値型]を選択しBで[整数型]を選択してください。

table3.jpg

同様に「番号」を作成します。
次に、図のように「テスト1」@を作成しますが、Aは「数値型」ですが、Bでは「単精度浮動小数点型」を選んでください。

table4.jpg

同様にして図のように「合計」まで作成します。

最後に「順位」を作成しますが、順位も[数値型]でよいのですが、[フィールドサイズ]は図のように[整数型]にします。


table5.jpg

次に「性別」と「番号」の一番左端の欄を[Shift]キーを押しながら左クリックで選択します。
「性別」と「番号」の列が図のように黒く反転します。



table6.jpg

そのまま、マウスで右クリックしますと、縦長のメニューが現れますので、一番上の「主キー」を左クリックします。










table7.jpg

すると「性別」と「番号」の左端に「キーのマーク」がつきます。











table8.jpg

右上の×をクリックします。








table9.jpg

[はい]をクリックします。

table10.jpg

テーブル名に"test"と入力し、[OK]をクリックします。

table11.jpg

図のように「テスト」というテーブルが作成されます。










table12.jpg


作成された「テーブル」をダブルクリックすると図のようになります。

このようになれば、今回は成功です。

次回はこのテーブルを使って、さらに機能を追加します。

にほんブログ村 教育ブログへ←ここをクリック

ブログランキング
posted by edlwiss at 10:51 | Comment(0) | TrackBack(0) | Access

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。