知道大家是否使用过 Microsoft Office 的 Access 来列印过 Access 资料库的档案架构?也就是 Access 的【文件产生器】。如果您没有使用过,现在可以试看看!在 Access 的 Menu 中选择【工具】【分析】【文件产生器】,稍待一会儿就会出现【文件产生器】视窗。将资料库档案架构印出来,可以方便我们在程式设计时对於资料库的存取,及资料库栏位的比对。不过 Access 虽然有中文版,但是它终究是国外的人开发的产品,我在使用时,就一直有个麻烦,那就是在简式列印时,它对於每一个栏位,只会列印出栏位名称、资料类型及栏位大小。 (缺【叙述】的中文说明)如果您在设计 Table 时,使用中文为栏位名称,那就没有问题,每一个栏位,只要列印出栏位名称、资料类型及栏位大小就够了,不过据我所知,由於习惯及其他因素(例如:需和其他不同类型的资料库做转移,像 Oracle/SQLServer),许多人还是使用英文来命名栏位,然後在【叙述】中输入中文说明,那样的话【文件产生器】产生的文件就有点不符合需求了,因为它不会印出【叙述】的中文部份!既然【文件产生器】不太符合某些人的实际需求,而又不想自己做文件,那就只能自己写程式来做了!要如何抓出 Access 的 Table 栏位中的【叙述】部份呢?以下是一个实际范例,您只要在 Form 中放一个 CommandButton (Command1) 即可:Dim db As Database'以下 Function 需要二个参数,sTable 是 Table 名称,sField 是栏位名称Function Getdescription(sTable As String, sField As String) As StringDim Sna As RecordsetDim i As IntegerDim existDescr As BooleanSet Sna = db.OpenRecordset(sTable, dbOpenTable)existDescr = FalseFor i = 0 To Sna(sField).Properties.Count - 1If Sna(sField).Properties(i).Name = "Description" ThenexistDescr = True: Exit ForEnd IfNextIf existDescr ThenGetdescription = Sna(sField).Properties("Description")ElseGetdescription = ""End IfEnd FunctionPrivate Sub Command1_Click()Dim x As StringMsgBox Getdescription("AABLE_L", "AABLE_LNO")End SubPrivate Sub Form_Load()Set db = opendatabase("c:/hris/ability.mdb") '资料库 不知道大家是否使用过 Microsoft Office 的 Access 来列印过 Access 资料库的档案架构?也就是 Access 的【文件产生器】。如果您没有使用过,现在可以试看看!在 Access 的 Menu 中选择【工具】【分析】【文件产生器】,稍待一会儿就会出现【文件产生器】视窗。 将资料库档案架构印出来,可以方便我们在程式设计时对於资料库的存取,及资料库栏位的比对。不过 Access 虽然有中文版,但是它终究是国外的人开发的产品,我在使用时,就一直有个麻烦,那就是在简式列印时,它对於每一个栏位,只会列印出栏位名称、资料类型及栏位大小。 (缺【叙述】的中文说明)如果您在设计 Table 时,使用中文为栏位名称,那就没有问题,每一个栏位,只要列印出栏位名称、资料类型及栏位大小就够了,不过据我所知,由於习惯及其他因素(例如:需和其他不同类型的资料库做转移,像 Oracle/SQLServer),许多人还是使用英文来命名栏位,然後在【叙述】中输入中文说明,那样的话【文件产生器】产生的文件就有点不符合需求了,因为它不会印出【叙述】的中文部份!既然【文件产生器】不太符合某些人的实际需求,而又不想自己做文件,那就只能自己写程式来做了!要如何抓出 Access 的 Table 栏位中的【叙述】部份呢?以下是一个实际范例,您只要在 Form 中放一个 CommandButton (Command1) 即可:Dim db As Database'以下 Function 需要二个参数,sTable 是 Table 名称,sField 是栏位名称Function Getdescription(sTable As String, sField As String) As StringDim Sna As RecordsetDim i As IntegerDim existDescr As BooleanSet Sna = db.OpenRecordset(sTable, dbOpenTable)existDescr = FalseFor i = 0 To Sna(sField).Properties.Count - 1If Sna(sField).Properties(i).Name = "Description" ThenexistDescr = True: Exit ForEnd IfNextIf existDescr ThenGetdescription = Sna(sField).Properties("Description")ElseGetdescription = ""End IfEnd FunctionPrivate Sub Command1_Click()Dim x As StringMsgBox Getdescription("AABLE_L", "AABLE_LNO")End SubPrivate Sub Form_Load()Set db = opendatabase("c:/hris/ability.mdb") '资料库End Sub 本文作者:html教程