仿照FOXPRO数据表原理,根据规范化的结构表,生成数据表-王三平
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-表


仿照FOXPRO数据表原理,根据规范化的结构表,生成数据表

发表时间:2007/10/8 19:07:33 评论(0) 浏览(6994)  评论 | 加入收藏 | 复制
   
摘 要:在表1中存放数据表结构,标明字段名称,字段类型,字段大小。然后根据表1生成一个符合要求的数据库表2。同FOXPRO中的要求一样。
正 文:

文章标题:仿照FOXPRO数据表原理,根据规范化的结构表,生成数据表

文章作者: AskHeart
发表时间: 2006-05-10 10:07:13

文章简介:
在表1中存放数据表结构,标明字段名称,字段类型,字段大小。然后根据表1生成一个符合要求的数据库表2。同FOXPRO中的要求一样。

文章正文:
'函数名称:CreateNewTable()
'功能描述:仿照FOXPRO数据表原理,根据规范化的结构表,生成数据表。
'参数调用:参数一;structtablename,命名规范化的结构表(FieldName,FieldType,FieldSize,IsSelect)
'          参数二:newtable,生成新表,字段为结构表中的fieldname记录值。
'          参数三:isSelect,为true,则选择全部记录,为false,则选择IsSelect值为真的记录。
'设计人员:AskHeart
'设计日期:2004-4-30
'适用版本:ACCESS 2000,XP
'==================================================================================================
Public Sub CreateNewTable(StructTableName As String, NewTableName As String, IsSelect As Boolean)
    Dim dbs As DAO.Database
    Dim tdf As DAO.TableDef
    Dim rst As DAO.Recordset
    Dim fld As DAO.Field
    Dim strSQL As String
    Dim m As Object
    Dim i As Integer

    Set dbs = CurrentDb
    Set tdf = dbs.CreateTableDef(NewTableName)
    If IsSelect = True Then
        strSQL = "select * from " & StructTableName
    Else
        strSQL = "select * from " & StructTableName & "where [IsSelect] = True"
    End If
    Set rst = dbs.OpenRecordset(strSQL)
    rst.MoveFirst
    Do Until rst.EOF
        Set fld = tdf.CreateField(rst("FieldCaption"), rst("Fieldtype"))
        '如果是文本型,设定字段大小,在structtablename表中的FieldSize字段值不可以为空
        If fld.Type = dbText Then
            fld.Size = rst("FieldSize")
        End If
        If fld.Type = dbDouble Then
            fld.DefaultValue = 0
        End If
        tdf.Fields.Append fld
        rst.MoveNext
    Loop
    '先判断,若有同名数据表,则先删除,再添加新表到数据库对象中。
    Set m = CurrentData
    For i = 0 To m.AllTables.Count - 1
        If m.AllTables(i).Name = NewTableName Then
            dbs.TableDefs.Delete NewTableName
        End If
    Next
    dbs.TableDefs.Append tdf
    'Set tdf = Nothing
    'Set fld = Nothing
    'Set rst = Nothing
End Sub

快捷使用步骤:
1、在EXCEL中录入数据结构表。
2、导入ACCESS中。
3、把上述代码复制到ACCESS中的模块中。
4、建立一个窗体,放入一个命令按钮,在此命令的CLICK事件中,引用过程。

 

 


Access软件网交流QQ群(群号:198465573)
 
 相关文章
追加查询汇总表中记录及追加记录\合并表中数据\合并相同结构表的数据...  【褚玉春  2007/6/5】
帮你完全解答如何修改access表结构问题  【UMVSOFT整理  2008/1/21】
access视频--access表的设计与重要性  【竹笛  2009/6/6】
access视频--软件说明书的重要性与编写思路  【竹笛  2012/5/10】
生成Access表结构说明书至Excel  【金宇  2013/2/18】
【Access入门】土豪金的外壳--仅复制表结构,不复制表中数据的...  【麥田  2013/11/13】
常见问答
技术分类
相关资源
文章搜索
关于作者

王三平

文章分类

文章存档

友情链接