テーブルを作るときの基本的な考え方

著書では小口経費精算表を作るのに、6つのテーブルを用意しました。
(P20~22)参照

Accessを使っていて最初に悩むのが、どんなテーブルを作るのかという
ことだと思います。

そんなときは、アウトプットを先に考えます。
今回は、小口経費精算表が完成したとき、その表にはどんな情報が載っている
のかイメージします。

そこにはどんな情報が載っていますか?

続きを読む

日付の並べ替え~その1 範囲指定

前回一番下のセルまで移動させるマクロを作りましたが、次は
日付が前後した場合、ワンクリックで日付順に並べ替えるマクロを紹介します。

今までセルの指定の仕方は、Cells(1,5)といった指定の仕方でした。
この指定の仕方だと、一つのセルしか指定できません。

ある範囲のセルを指定したい場合、次のように記述します。

続きを読む

リレーションシップのまとめ

リレーションシップの3つの機能
①参照整合性
②連鎖更新
③連鎖削除 
について解説してきました。
最初のうちはあまり難しいことは考えず、参照整合性と連鎖更新
を設定しておけば間違いありません。

リレーションシップを設定することで、本来別々のテーブルが
キーとなるフィールド(今回の例では担当者CD)を通じて繋がります。

続きを読む

最下行への移動

行数が100、200となると次入力するところまで行を移動させる
必要が出ていきます。

かといって、シートを変えるのは後で会計ソフトにインポートさせる
ことを考えるとあまりお勧めできません。

今回は、ワンクリックで入力行まで移動するマクロを紹介します。

続きを読む

運用後の参照整合性の設定

運用後にリレーションシップを設定する場合、(著書 P27のコラム参照)
次のようなメッセージが表示されることがあります。
2506301
この理由は、一方のテーブルともう一方のテーブルのデータで
整合性が取れていないためです。つまり、片方にはあるのに、
もう片方にはないということです。

続きを読む

日付の欄に空白がある場合の処理②

日付の欄に空白がある場合の処理の追加の解説です。

B列の動きについて解説をします。
コードです。

If Cells(a, 2).Value = “” Then
 ※Cells(a, 2).Value = Cells(a – 1, 2).Value
End If

これもaに数字を当てはめていけば難しくはありません。

続きを読む

リレーションシップの設定(参照整合性について)

著書でもP23にリレーションシップの解説をしていますが、
リレーションシップとは簡単に言うとテーブル同士の関連付けです。

結合にもいろいろと種類があり、
①参照整合性
②連鎖更新
③連鎖削除
を設定できます。詳しくは著書の23~27Pを参照して下さい。

今回は参照整合性が実際どんなものか解説します。

続きを読む