インストールされてるからアクセスで~とか思っていると、エクセルで作って下さいって言われます。
こういう場合の表データは、英訳すればそれこそテーブルな訳で、列がフィールドで行がレコードです。
なので、不定なレコード数については作業の途中で「最終行の取得」という処理が頻繁に起きますが、列については所与のものとして扱えばよい場合がほとんどだと思います。
複数の表に共通した列がある場合は区別しないといけないので、“表名_列名”にして、下のような宣言になりがちですが、なんかイマイチ。
''データ表列番号 Const 名前 As Integer = 1 Const 性別 As Integer = 2 Const 年齢 As Integer = 3 Const 誕生日 As Integer = 4 Const 婚姻 As Integer = 5 Const 都道府県 As Integer = 6 Const 一月 As Integer = 7 Const 二月 As Integer = 8 Const 三月 As Integer = 9 ''顧客表列番号 Const 顧客_名前 As Integer = 1 Const 顧客_性別 As Integer = 2 Const 顧客_年齢 As Integer = 3 Const 顧客_担当営業 As Integer = 4 Const 顧客_管轄営業所 As Integer = 5 ''集計表列番号 Const 集計_管轄営業所 As Integer = 1 Const 集計_担当営業 As Integer = 2 Const 人数 As Integer = 3 Const 第一Q売上 As Integer = 4
列挙体 enum
enum というものがあるので、モジュールの頭(Optionの次に書いとけばいいです)に下記のように書きます。※プロシジャの中では宣言できません
※数字が連続している場合は2つ目以降は省略できます
''データ表列番号 Enum データ 名前 = 1 性別 = 2 年齢 = 3 誕生日 = 4 婚姻 = 5 都道府県 = 6 一月 = 7 二月 = 8 三月 = 9 End Enum ''顧客表列番号 Enum 顧客 名前 = 1 性別 = 2 年齢 = 3 担当営業 = 4 管轄営業所 = 5 End Enum ''集計表列番号 Enum 集計 管轄営業所 = 1 担当営業 = 2 人数 = 3 第一Q売上 = 4 End Enum"Enum hogehoge"~"End Enum"で括られている部分はそれぞれ区別されているので、それぞれの中では「名前」など重複する変数を使うことができます。
書き方はhogehogeと変数の間にドットを入れます。
【例】顧客.名前
インテリセンス
enum では、VBEでコードを書く時にドットを入力した時点でインテリセンスが利きます。enum を使う理由は、数字を文字列に置き換えられるのはもちろんですが、列名が他の表とかぶっていてもそのまま使えることと、このインテリセンスが使えることです。
0 件のコメント:
コメントを投稿