アプリ版:「スタンプのみでお礼する」機能のリリースについて

アクセス2000を使用しております。

テーブルで、デザインモードで記述している内容
(フィールド名、データ型と、説明の3項目)を
印刷したいのですが、方法がわかりません。

テーブルの解析を使えば、フィールド名とデータ型は
印刷できますが、説明が入りません。

自分の力だとスクリーンショットをとって印刷することしか思いつかないので、
どうぞご教授くださいますようお願いいたします。

A 回答 (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についてもう少し勉強してみようと思います。
本当に感謝の気持ちでいっぱいです。
重ねて御礼申し上げます。ありがとうございました。

補足日時:2003/09/12 18:08
    • good
    • 0
この回答へのお礼

とっても詳しい解説ありがとうございます。
やっぱりVBAを使わないと無理なんですね。

でも、一度組んでおけば、この先何かと
汎用性がありそうなので、一度組んでみようかと思います。

ありがとうございました。

お礼日時:2003/09/12 12:37

テーブルのデザインビューを開いて、


Ctrl + PrintScreen

ペイントなどの適当なところに貼り付けて印刷


ではダメなんですかね?
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。

スクリーンショットだと、1枚、2枚程度かつ、
自身や内部で参照するにはいいのですが、
膨大な枚数を処理する、社外資料作成には向かないので。。

せっかくご回答くださったのに申し訳ないです。

お礼日時:2003/09/12 12:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!