No.2ベストアンサー
- 回答日時:
VBA使えますか?
以下のようなスクリプトを書けば、テーブルとフィールドの一覧をファイルに書き出せます。
Public Sub FieldsFileout()
Dim nFileNo As Integer
Dim i As Long
Dim j As Long
Dim sDesc As String
Dim sOutput As String
nFileNo = FreeFile()
Open "c:\Fields.CSV" For Output As #nFileNo
For i = 0 To CurrentDb.TableDefs.Count - 1
'システムテーブルか否かを判別する
If (CurrentDb.TableDefs(i).Attributes And &H80000002) = 0 Then
'システムテーブルじゃ無ければフィールドの一覧を取得して書き出す
For j = 0 To CurrentDb.TableDefs(i).Fields.Count - 1
'備考は必須じゃないプロパティなので備考無しの場合でもエラーとならないようにする
sDesc = ""
On Error Resume Next
sDesc = CurrentDb.TableDefs(i).Fields(j).Properties("Description")
On Error GoTo 0
'ファイルに書き出す
sOutput = ""
sOutput = sOutput & CurrentDb.TableDefs(i).Name
sOutput = sOutput & "," & CurrentDb.TableDefs(i).Fields(j).Name
sOutput = sOutput & "," & CurrentDb.TableDefs(i).Fields(j).Type
sOutput = sOutput & "," & sDesc
Print #nFileNo, sOutput
Next j
End If
Next i
Close #nFileNo
End Sub
ちなみにテーブル名, フィールド名, データ型, 備考の順です。
データ型の内容は以下の通り。
01, dbBoolean, ブール型 (Boolean) (True/False)
02, dbByte, バイト型 (Byte) (8 ビット)
03, dbInteger, 整数型 (Integer)
04, dbLong, 長整数型 (Long)
05, dbCurrency, 通貨型 (Currency)
06, dbSingle, 単精度浮動小数点数型 (Single)
07, dbDouble, 倍精度浮動小数点数型 (Double)
08, dbDate, 日付/時刻型 (Date/Time)
09, dbBinary, バイナリ型 (Binary)
10, dbText, テキスト型 (Text) (可変長)
11, dbLongBinary, ロング バイナリ型 (LongBinary) - OLE オブジェクト型 (OLE Object) (ビットマップ)
12, dbMemo, メモ型 (Memo) (拡張テキスト)
15, dbGUID, GUID 型 (GUID)
16, dbBigInt, Big Integer 型 (Big Integer) (ODBCDirect ワークスペースでのみ使用可)
17, dbVarBinary, 可変長バイナリ型 (VarBinary) (ODBCDirect ワークスペースでのみ使用可)
18, dbChar, CHAR 型 (Char) (ODBCDirect ワークスペースでのみ使用可)
19, dbNumeric, Numeric 型 (Numeric) (ODBCDirect ワークスペースでのみ使用可)
20, dbDecimal, 10 進型 (Decimal) (ODBCDirect ワークスペースでのみ使用可)
21, dbFloat, 浮動小数点数型 (Float) (ODBCDirect ワークスペースでのみ使用可)
22, dbTime, 時刻型 (Time) (ODBCDirect ワークスペースでのみ使用可)
23, dbTimeStamp, タイムスタンプ型 (TimeStamp) (ODBCDirect ワークスペースでのみ使用可)
Excelで開いて、VLookup関数とかを使ってデータ型の番号と名称を対応付けてやるといいかも。
この回答への補足
組むどころか、コピーペーストでできるように
していただいて本当にありがとうございます!
これを機に、VBAについてもう少し勉強してみようと思います。
本当に感謝の気持ちでいっぱいです。
重ねて御礼申し上げます。ありがとうございました。
とっても詳しい解説ありがとうございます。
やっぱりVBAを使わないと無理なんですね。
でも、一度組んでおけば、この先何かと
汎用性がありそうなので、一度組んでみようかと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- デザイン 自分でテンプレートを作成し印刷して手帳を使う場合、黒字の背景デザインにしたいが、黒い紙に印刷しように 2 2023/08/12 22:28
- Web・クリエイティブ デザイン 6 2023/08/04 09:54
- Web・クリエイティブ 名刺印刷方法 2 2023/08/27 14:17
- 会計ソフト・業務用ソフト 一太郎で封筒の宛名印刷したいです。 1 2023/07/20 10:14
- 年賀状作成・はがき作成 エクセルで作った住所録をワードの差し込み印刷ではがきに印刷したい 3 2022/09/26 15:47
- Visual Basic(VBA) VBAで不特定枚数印刷をしたいです。 4 2022/08/02 07:30
- PDF 2つのPDFを重ねる方法はありますか? 4 2023/01/30 14:04
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- Word(ワード) マイクロソフト365を購入し、Wordを使用しているのですが、ポスター印刷のやり方を教えていただきた 2 2023/04/09 20:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセス: フォーム上で計算...
-
クエリ上でフィールド名が2つ...
-
Access フォーム上でのテキス...
-
アクセス・テーブルの改行につ...
-
アクセスでの、フォームとテー...
-
Access 別テーブルにある値を抽...
-
テーブルとクエリの相関図は表...
-
Accessで更新履歴情報を保存(...
-
Access where条件式について
-
ACCESSの時刻の引き算
-
アクセスに自動入力を入れたい
-
Accessで小数点以下の桁数を・・?
-
Accessでチェックボックスから...
-
アクセスでテーブル入力用のフ...
-
ACCESSのリストボックスで複数...
-
access テーブルの色分けについて
-
Access 住所入力支援が機能しま...
-
差込印刷での全角表示について...
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセス・テーブルの改行につ...
-
Accessで更新履歴情報を保存(...
-
クエリ上でフィールド名が2つ...
-
アクセス: フォーム上で計算...
-
アクセスでの、フォームとテー...
-
Access フォーム上でのテキス...
-
アクセスクエリで英数字のみ半...
-
アクセスの追加クエリで教えて...
-
アクセス:SQLでフィールド...
-
ACCESSの時刻の引き算
-
テーブルとクエリの相関図は表...
-
INT関数のバグ?
-
Access 別テーブルにある値を抽...
-
アクセスに自動入力を入れたい
-
Access ルックアップが反映され...
-
ACCESSのリストボックスで複数...
-
Access フォームで複数テーブル...
-
アクセスでフォームに入力した...
-
access テーブルの色分けについて
-
アクセスでテーブル入力用のフ...
おすすめ情報