AccessVBAメモ

AccessVBAで作ったサンプルコード集

AccessVBA フィールド名を探索して処理を分岐する

スポンサーリンク

テーブルに特定のフィールド名があるかどうかを確認して、ある場合に処理をするというコードを書いてみました。

 

他のアクセスファイルやEXCELファイルなどから、インポート操作を行った場合に

状況によって特定のフィールド名があったりなかったりする場合には使えるのではないかと思っています。

サンプルでは、テーブル名というテーブルにフィールド名というフィールドが存在するかどうか確認して、その有無によって処理を分岐させるようなイメージです。

 

以下、VBA記述

'-----------------------------------------------------------------------------------------------

Private Sub test

Dim flg As Boolean 'フィールド有無の判定フラグ

 

’フィールドの有無を判定するプロシージャを読んで、有無の判定を読み込む

Call chekFldName(flg)

 

'以下 メインの処理--------------------------------------------

 

End Sub

 

’フィール名を走査するプロシージャ

Private sub chekFldName(flg As Boolean)

Dim db As Database
Dim tbl As TableDef
Dim fld As Field

Set db = CurrentDb

'フィールド名を探索するテーブル

Set tbl = db.TableDefs("テーブル名")

If tbl.RecordCount <> 0 Then

'テーブル名の全てのフィールド名を走査する

For Each fld In tbl.Fields

If fld.Name = "フィールド名" Then

flg = True

Exit For

Else

flg = False

End If

Next

db.Close
Set db = Nothing

Else

End If

End Sub

'----------------------------------------------------------------------------------------

以上、VBA記述終わり。