ASP在ACCESS数据库中动态添加表和字段
asp对access数据库中数据的添加、修改、删除

1:首先建立一个access数据库保存为xhnew.mdb 表名为aa字段如下:id 自动排序name 文本content 文本xhtime 日期默认值now()title 文本2:打开DW 建立文件conn.asp文件代码如下:程序代码<%set conn=server.createobject("adodb.connection")conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("xhnew.mdb")%>这段语句是连接数据库的语句set conn=server.createobject("adodb.connection")创建一个connection对象用该对象的open方法打开数据库driver={microsoft access driver (*.mdb)};这句语句是access的驱动dbq="&server.mappath("xhnew.mdb")这句是数据库的路径建立conn.asp是为了方便接下来的教学。
我们可以任何要用到打开数据库连接的文件里加<!--#include file="conn.asp"-->就可以调用是不是很方便。
第一个小时就学这么多。
当你弄明白上面的数据库还有代码后。
就继续跟着我学吧!(第2个小时)现在来学把数据库的信息输出来下面先建立一个主文件index.asp代码如下程序代码<!--#include file="conn.asp"--><%exec="select * from aa order by id desc "set rs=server.createobject("adodb.recordset")rs.open exec,conn,1,1%><table width="628" height="24" border="1" align="center" cellpadding="1" cellspacing="0"><%if rs.eof and rs.bof thenresponse.write("暂时没有文章")elsedo while not rs.eof%><tr><td width="66" height="22" ><%=rs("id")%></td><td width="66" ><%=rs("name")%></td><td width="66" ><%=rs("content")%></td><td width="273" ><%=rs("xhtime")%></td><td width="53" ><%=rs("title")%></td><td><a href="modify.asp?id=<%=rs("id")%>" target="_self">编辑</a></td><td width="32" ><a href="del.asp?id=<%=rs("id")%>">删除</a></td></tr><%rs.movenextloopend if%></table><%rs.closeset rs=nothingconn.closeset conn=nothing%><td><a href="add.asp">添加</a></td>代码解释:(1)<%exec="select * from aa order by id desc "set rs=server.createobject("adodb.recordset")rs.open exec,conn,1,1%>上面的代码是创建一个recordset对象。
asp对access数据库中数据的添加

asp对access数据库中数据的添加、修改、删除(已测试)1:首先建立一个access数据库保存为 xhnew.mdb 表名为aa字段如下:id 自动排序name 文本content 文本xhtime 日期默认值 now()title 文本2:打开DW 建立文件conn.asp文件代码如下:[code]<%set conn=server.createobject("adodb.connection")conn.open "driver={microsoft access driver(*.mdb)};dbq="&server.mappath("xhnew.mdb")%> [/code]这段语句是连接数据库的语句 setconn=server.createobject("adodb.connection")创建一个connection对象用该对象的open方法打开数据库driver={microsoft access driver (*.mdb)};这句语句是access的驱动dbq="&server.mappath("xhnew.mdb")这句是数据库的路径建立conn.asp是为了方便接下来的教学。
我们可以任何要用到打开数据库连接的文件里加<!--#include file="conn.asp"-->就可以调用是不是很方便。
第一个小时就学这么多。
当你弄明白上面的数据库还有代码后。
就继续跟着我学吧!(第2个小时)现在来学把数据库的信息输出来下面先建立一个主文件index.asp代码如下[CODE]<!--#include file="conn.asp"--><%exec="select * from aa order by id desc "set rs=server.createobject("adodb.recordset")rs.open exec,conn,1,1%><table width="628" height="24" border="1" align="center" cellpadding="1"cellspacing="0"><%if rs.eof and rs.bof thenresponse.write("暂时没有文章")elsedo while not rs.eof%><tr><td width="66" height="22" ><%=rs("id")%></td> <td width="66" ><%=rs("name")%></td><td width="66" ><%=rs("content")%></td><td width="273" ><%=rs("xhtime")%></td><td width="53" ><%=rs("title")%></td><td><a href="modify.asp?id=<%=rs("id")%>"target="_self">编辑</a></td><td width="32" ><ahref="del.asp?id=<%=rs("id")%>">删除</a></td></tr><%rs.movenextloopend if%></table><%rs.closeset rs=nothingconn.closeset conn=nothing%><td><a href="add.asp">添加</a></td>[/CODE]代码解释:(1)<%exec="select * from aa order by id desc "set rs=server.createobject("adodb.recordset")rs.open exec,conn,1,1%>上面的代码是创建一个recordset对象。
asp对access数据库中数据的添加

asp对access数据库中数据的添加、修改、删除(已测试1:首先建立一个access数据库保存为xhnew.mdb 表名为aa字段如下:id 自动排序name 文本content 文本xhtime 日期默认值now()title 文本2:打开DW 建立文件conn.asp文件代码如下:程序代码<%set conn=server.createobject("adodb.connection")conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("xhnew.mdb") %>这段语句是连接数据库的语句set conn=server.createobject("adodb.connection")创建一个connection对象用该对象的open方法打开数据库driver={microsoft access driver (*.mdb)};这句语句是access的驱动dbq="&server.mappath("xhnew.mdb")这句是数据库的路径建立conn.asp是为了方便接下来的教学。
我们可以任何要用到打开数据库连接的文件里加<!--#include file="conn.asp"-->就可以调用现在来学把数据库的信息输出来下面先建立一个主文件index.asp代码如下<!--#include file="conn.asp"--><%exec="select * from aa order by id desc "set rs=server.createobject("adodb.recordset")rs.open exec,conn,1,1%><table width="628" height="24" border="1" align="center" cellpadding="1" cellspacing="0"> <%if rs.eof and rs.bof thenresponse.write("暂时没有文章")elsedo while not rs.eof%><tr><td width="66" height="22" ><%=rs("id")%></td><td width="66" ><%=rs("name")%></td><td width="66" ><%=rs("content")%></td><td width="273" ><%=rs("xhtime")%></td><td width="53" ><%=rs("title")%></td><td><a href="modify.asp?id=<%=rs("id")%>" target="_self">编辑</a></td><td width="32" ><a href="del.asp?id=<%=rs("id")%>">删除</a></td></tr><%rs.movenextloopend if%></table><%rs.closeset rs=nothingconn.closeset conn=nothing%><td><a href="add.asp">添加</a></td>代码解释:(1)<%exec="select * from aa order by id desc "set rs=server.createobject("adodb.recordset")rs.open exec,conn,1,1%>上面的代码是创建一个recordset对象。
Access数据库添加表、字段、表说明、字段说明、初始值

Access数据库添加表、字段、表说明、字段说明、初始值找了很久,搜集各⽅资料,终于在DAO中找到了我想要的答案.引⽤名:Microsoft DAO 3.6 Object LibraryPrivate Function SetStyle(Fld As Object, ByVal Style As Integer)With FldSelect Case Style'⽂本Case1.Attributes = 2.Type = 10.OrdinalPosition = 4.Size = 255Case2'数字.Attributes = 1.Type = 4.OrdinalPosition = 4.Size = 4.Required = FalseCase3'⾃动编号.Attributes = 17.Type = 4.OrdinalPosition = 0.Size = 4.Required = FalseCase4'备注.Attributes = 2.Type = 12.OrdinalPosition = 4.Size = 0.Required = FalseCase5'是否.Attributes = 1.Type = 1.Name = 1.OrdinalPosition = 0.Size = 1.Required = FalseCase6'⽇期、时间.Attributes = 1.Type = 8.OrdinalPosition = 4.Size = 8.Required = FalseCase7'货币.Attributes = 1.Type = 5.OrdinalPosition = 4.Size = 8.Required = FalseCase8'OLE对象.Attributes = 2.Type = 11.Name = 1.OrdinalPosition = 0.Size = 0.Required = False.AllowZeroLength = FalseEnd SelectEnd WithEnd FunctionPrivate Sub Command1_Click()Dim Dtb As DAO.DatabaseDim Tbl As DAO.TableDefDim Fld As DAO.FieldDim Pro As DAO.PropertySet Dtb = OpenDatabase(App.Path & "\Data.mdb")Set Tbl = Dtb.CreateTableDef() '创建表Set Fld = Tbl.CreateField() '字段SetStyle Fld, 1'字段类型为⽂本With Fld.Name = "MyFieldName"'字段名.DefaultValue = "初始值"'初始值.Size = 50'字段⼤⼩End With = "MyTableName"'表名Tbl.Fields.Append Fld '将字添加⾄表Dtb.TableDefs.Append Tbl '将表添加⾄库Set Pro = Fld.CreateProperty("Description", 10, "字段说明⽂字..") Fld.Properties.Append ProSet Pro = Tbl.CreateProperty("Description", 10, "表说明⽂字..") Tbl.Properties.Append ProSet Tbl = Dtb.TableDefs("MyTableName")Set Fld = Tbl.Fields("MyFieldName")Debug.Print Tbl.Properties("Description").Value '读属性Debug.Print Fld.Properties("Description").ValueEnd Sub。
Access数据库的操作

Access数据库的操作1、新建表:单击对象列表中的“表”,单击“设计”按钮弹出如右对话框,在其中按要求录入“字段名称”、“数据类型”、“字段大小”,单击“关闭”—“是”——修改表名称——“确定”。
2、增加字段,删除字段,修改“字段名称”、“数据类型”、“字段大小”,设主键:选中要修改的表,单击“设计”按钮。
3、插入记录,删除记录、修改记录:双击表4、导入生成表:单击对象列表中的“表”,在数据库空白处右击——“导入”,在“查找范围”找到要导入的表存放位置,在“文件类型”处单击,从下拉列表中选择正确的文件类型后(如:*.xls,*.txt)单击“导入”——“下一步”——选中“第一行包含列标题”——“下一步”——“下一步”——“下一步”——选中“自行选择主键”,并选好主键——“下一步”——输入表名称——“完成”——“确定”。
5、创建表间关系:单击对象列表中的“表”,单击菜单栏“工具”——关系”或者单击工具栏的“关系”按钮右击——“显示表”——“添加”要建立关系的表,单击“关闭”按钮。
选中第一张表中的字段,拖到第二张表中相同的字段上,弹出“编辑关系”对话框,按要求选中“实施参照完整性”——“创建”,单击关闭按钮—,弹出是否保存对话框——“是”。
6、创建查询:( 带条件的查询)单击对象列表中的“查询”,单击“设计”按钮弹出如下对话框:在“显示表”对话框中选择数据源——“添加”——“关闭”。
在“字段”栏中选择依次要求显示的“字段名”,在“显示”栏中选择要求显示的字段,在“准则”或“条件”栏中对应的字段下方输入条件(例如:总分在250分以上的同学)若求要添加一个总分字段,且计算语文、数学、英语3科的总分,则在字段最右一栏输入总分:语文+数学+英语,(注意:符号必须在英文状态下输入)再单击菜单栏“工具”——“合计”,相应的在查询窗口出现“总计”一栏,在总分字段下对应的总计栏单击“Group By”,从下拉列表中选择“Expression”。
Access数据库中添加表的问题

Dim Cn As ADODB.Connection = New ADODB.Connection '定义连接Dim objTable As ADOX.Table = New ADOX.Table '定义新表Cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CurrentPath & "\数据记录\DataBase.mdb") '链接到数据库Dim cat As ADOX.Catalog = New ADOX.Catalogcat.ActiveConnection = Cn = "tbUser"'表命名objTable.Columns.Append("UserName", , 10) '给表“tbUser”创建一个新的字段,字段名“主键”'创建并追加一个新的关键。
注意:我们只是通过“PimaryKey_Field”作为主键源列。
新键被追加到“测试项目表”的键集objTable.Keys.Append("PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "UserName")objTable.Columns.Append("Password", , 10)objTable.Columns.Append("RealName", , 10)objTable.Columns.Append("Mod1", , 3)objTable.Columns.Append("Mod2", , 3)objTable.Columns.Append("Memo", ADOX.DataTypeEnum.adLongVarWChar)cat.Tables.Append(objTable) '把所有的新字段追加到表objTable = Nothingcat = NothingCn.Close()Cn = NothingDim SQLString As StringDim ConnTemp As StringConnTemp = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CurrentPath & "\数据记录\DataBase.mdb"SQLString = "INSERT INTO tbUser VALUES('SAdmin','113','超级管理员','读和写','读和写','具有所有权限')"Dim oleconn As New OleDb.OleDbConnection(ConnTemp) '连接字符串变量“CONN”在主模块“PublicVar”中声明;Dim cmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(SQLString, oleconn)mandType = CommandType.TextIf oleconn.State <> ConnectionState.Open Then'如果数据库没打开;oleconn.Open() '打开数据库连接;End Ifcmd.ExecuteNonQuery() '执行SQL语句;If oleconn.State <> ConnectionState.Closed Then'如果数据没关闭;oleconn.Close() '关闭数据库连接;End If判断唯一性TryDim str As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CurrentPath & "\数据记录\DataBase.mdb"Dim conn As OleDbConnectionDim comm As OleDbCommandDim dr As OleDbDataReaderconn = New OleDbConnection(str)conn.Open()Dim strsql As String = Nothingstrsql = "select * from Model where 型号='" & XLH.Text.ToString & "'"comm = New OleDbCommand(strsql, conn)dr = comm.ExecuteReaderIf dr.Read ThenElseMsgBox("该编号不存在")End Ifdr.Close()conn.Close()Catch ex As ExceptionEnd Try End Sub。
动态创建、维护、更新Access数据表

‘动态创建、维护、更新Access数据表‘检查数据表是否存在,不存在则创建‘表存在则检查字段是否有需要的字段,没有则创建‘如果字段存在则检查字段类型,类型不符合则重新创建,即更改字段类型Dim pColWidth’全局变量,保存所有列的显示列宽,运行过程中调用,达到用户自主调整列宽的目的Sub CreateTbl()Dim tabDic, TblArr, FieStrAs StringDim StPathAs StringSet tabDic = CreateObject("Scripting.Dictionary")Set pColWidth = CreateObject("Scripting.Dictionary") '全局变量,保存所有列的列宽Set Cnn = CreateObject("Adodb.Connection")Set Rst = CreateObject("Adodb.Recordset")StPath = GetSetting("PosJewelry", "SetData", "SetPath") & "\SysTable.mdb"ProString = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" &StPath'ProString ="PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" &StPathCnn.OpenProString ' "Data Source =" &Stpath& ";JetOLEDB:Database Password=" & ""'所有表TblArr = Array("Setting", "UserList", "销售明细")’保存数据库中所有需要的表为数组'每个表的所有字段tabDic("Setting") = "id,材料,单位,类别名称,排序,,首字母,索引,折扣率,备注"tabDic("UserList") = "id,user,pass,State "tabDic("销售明细") = "id,编号,销售单号,销售日期,款式名称,类别名称,材料,尺寸,单位,规格,进货成本,净重量,零售价,销售数量,小计,折扣率,证书号,状态,备注"'所有字段的数据类型Array(字段类型值,COLUMN_FLAGS,DATA_TYPE,CHARACTER_MAXIMUM_LENGTH)‘参考Cnn.OpenSchema(4, Array(Empty, Empty, n, Empty))中返回的值'VALUE COLUMN_FLAGS DATA_TYPE CHARACTER_MAXIMUM_LENGTH'AUTOINCREMENT 90 3 '''int default 0 122 3 '''Numeric(9,3) 122 131 '''smalldatetime 122 7 '''VarChar(255) 106 130 255'Text 234 130 0tabDic("id") = Array(" AUTOINCREMENT", "90", "3", "")’自动编号列tabDic("备注") = Array(" TEXT", "234", "130", "0")For Each n In Array("材料", "编号", "尺寸", "单位", "规格", "款式名称", "类别名称", "销售单号", "证书号", "pass", "State", "user")tabDic(n) = Array(" VarChar(255)", "106", "130", "255") '文本字段Next nFor Each n In Array("积分", "进货成本", "净重量", "零售价", "销售数量", "小计", "折扣率", "金额合计", "库存")tabDic(n) = Array(" Numeric(9,3) default 0", "122", "131", "") '小数字段Next nFor Each n In Array("销售日期", "进货日期")tabDic(n) = Array(" smalldatetime", "122", "7", "") '日期型字段Next nFor Each n In Array("状态", "排序")tabDic(n) = Array(" int default 0", "122", "3", "") '整数Next n'测试所有字段是否都已记录字段类型If App.LogMode = 0 Then’是否在VB IDE中运行,测试上面代码的完整性,减少遗漏For Each d InTblArrFor Each C In Split(tabDic(d), ",")If tabDic.Exists(C) = False ThenStopDebug.Print C, tabDic.Exists(C)End IfNext CNext dEnd IfFor Each n In TblArr’循环所有表名称,逐个赋值给变量nSet Rst = Cnn.OpenSchema(4, Array(Empty, Empty, n, Empty))’查找表n ,返回表结构属性给Rst 'adSchemaColumns' Rst.Filter = "TABLE_NAME='" & n & "'"’筛选If Rst.EOF Then'没有找到表FieStr = "("For Each b In Split(tabDic(n), ”,”)’返回表的所有字段,并逐个赋值给bFieStr = FieStr& b &tabDic(b)(0) & ","’b = 字段名,tabDic(b)(0) = 字段类型Next bFieStr = Mid(FieStr, 1, Len(FieStr) - 1) & ")"Rst.Open "Create Table " & n &FieStr’创建表Set Rst = Cnn.OpenSchema(4, Array(Empty, Empty, n, Empty))’重新读取GoToRedFieElse'找到表RedFie:For Each b In Split(tabDic(n), ",")Rst.Filter = "COLUMN_NAME = '" & b & "'"’查找字段是否存在' s = ""' Si = " "' For i = 0 ToRst.Fields.Count - 1' s = s &Rst(i).Name & ":" &Rst(i) & Mid(Si, LenB(StrConv(IIf(IsNull(Rst(i)), "", Rst(i)), vbFromUnicode)) + 1, 10) &vbTab' Next i' Debug.Print sIf Rst.EOF = True Then '为TRUE 说明当前n 表中没有字段bDebug.Print "准备插入字段" & bIf App.LogMode = 0 ThenStopRst.Open"alter table " &n& " add " &b &tabDic(b)(0)'插入一个字段Set Rst = Cnn.OpenSchema(4, Array(Empty, Empty, n, Empty))ElseIfRst("COLUMN_FLAGS") <>Int(tabDic(b)(1)) Or Rst("DATA_TYPE") <>Int(tabDic(b)(2)) Then’z 字段存在,但字段属性与要求的属性不符If App.LogMode = 0 ThenStopRst.Open"alter table " & n & " add " & b & "_tmp" &tabDic(b)(0)’创建1个临时字段If tabDic(b)(3) = "" Or tabDic(b)(3) = "0" Then’如果新字段无字符长度限制Rst.Open"update " & n & " set " & b & "_tmp = " & b’从需要更改的字段中读取数据到临时字段ElseRst.Open"update " & n & " set " & b & "_tmp = mid(" & b & ",1," &Int(tabDic(b)(3)) & ") "’从需要更改的字段中读取指定长度的数据到临时字段End IfRst.Open"alter table " & n & " drop column " & b ' 删除需要更改的字段Rst.Open"alter table " & n & " add " & b &tabDic(b)(0) ' ' 重新创建一个符合要求的字段Rst.Open "update " & n & " set " & b & " = " & b & "_tmp"’将临时字段中数据保存到符合要求的新字段中Rst.Open "alter table " & n & " drop column " & b & "_tmp "’删除临时字段Set Rst = Cnn.OpenSchema(4, Array(Empty, Empty, n, Empty))Debug.Print "更改字段", bEnd IfpColWidth(b) = 500’预设默认的列宽度NextEnd IfNextEnd Sub。
asp与本地access数据库设置篇

1,首先确认站点根目录下有专门的数据库存放目录,比如d:\newgate下面的database文件夹(有则Ok,无则新建)。
接着打开Microsoft Access DBMS,"文件"---“新建...”数据库,在弹出的对话框中选择存放路径并命名。
2,在新建的数据库中“使用设计器创建表”,弹出的“表1”中设计你的相关字段,注意各自的“数据类型”,还有一点很重要:字段ID,类型自动编号,并选择它定为主键。
3,设计完“表1”后,直接关闭该窗口,在弹出对话框中点击“是”保存“表1”命名为user。
此时一点需要提到:刚刚强调的设置字段id相关是必须的,否则在保存之后还会出现如下对话框,其效果还是设置类型是自动编号的关键字段。
4,这时候数据库表user已经建立完毕。
5,双击数据库表user,小添试一下,在弹出的user表中输入相关内容。
关闭保存。
至此对数据库、表、字段的建立保存工作完毕。
下面就开始动用DW操纵mdb文件了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
创建一张空表:
Sql="Create TABLE [表名]"
创建一张有字段的表:
Sql="Create TABLE [表名]([字段名1] MEMO NOT NULL, [字段名2] MEMO, [字段名3] COUNTER NOT NULL, [字段名4] DATETIME, [字段名5] TEXT(200), [字段名6] TEXT(200))
字段类型:
2 : "SmallInt", // 整型
3 : "Int", // 长整型
4 : "Real", // 单精度型
5 : "Float", // 双精度型
6 : "Money", // 货币
7 : "DateTime", // 日期时间
11 : "Bit", // 是否
13 : "TimeStamp",
17 : "TinyInt", // 字节
72 : "UniqueIdentifier", // 同步复制 ID
128 : "Binary",
129 : "Char",
130 : "NChar",
131 : "Decimal", // 小数
133 : "DateTime",
135 : "SmallDateTime",
200 : "VarChar",
201 : "Text",
202 : "VarChar", // 文本
203 : "Text", // 备注
204 : "Binary", // 二进制
205 : "Image" // OLE 对象
以下字段为无编码字段(NChar、NVarchar、NText型)
8,128,130,202,203,204,205
以下字段为按当前系统内码编码的字段(Asp中可用CodePage=936纠正为gb2312内码)
129,200,201
在现有的表中增加字段:
Sql="alter table [表名] add column [字段名] varchar(200)"
修改字段类型:
Sql="alter table [表名] Alter COLUMN 字段名] varchar(50)"
删除表:
Sql="Drop table [表名]"
删除字段:
sql="alter table [表名] drop [字段名]"
修改字段:Alter TABLE [表名] Alter COLUMN [字段名] 类型(大小) NULL
新建约束:Alter TABLE [表名] ADD CONSTRAINT 约束名 CHECK ([约束字段] <= '2007-1-1')
删除约束:Alter TABLE [表名] Drop CONSTRAINT 约束名
新建默认值:Alter TABLE [表名] ADD CONSTRAINT 默认值名 DEFAULT '' FOR [字段名] 删除默认值:Alter TABLE [表名] Drop CONSTRAINT 默认值名
=======================================
conn.open connstr
sql="alter table [tablename] add hehe char(20)"
conn.execute(sql)
response.write("添加成功")
ACCESS新建数据库和表还不简单,有了表字段初始化就更简单
=======================================
<%
session("tablen")="news"
'news是已存在的表名
session("fieldsn")="c"
'要添加的字段名
connectionstring="provider=microsoft.jet.oledb.4.0;data
source="&server.MapPath("data/qq.mdb")
set conn=server.createobject("adodb.connection")
conn.OPEN connectionstring
jhsql = " Alter Table "&session("tablen")&" add column "&session("fieldsn")&" real " conn.execute(jhsql)
%>
================================
生成数据表,添加字段,其中id字段为自动增加,测试通过~~
Sub GenAutoIncrementFld()
set cn=server.CreateObject("ADODB.Connection")
set clx=server.CreateObject("ADOX.Column")
set cat=server.CreateObject("ADOX.Catalog")
set tblnam=server.CreateObject("ADOX.Table")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\网站制作\asp操作mdb\db\test.mdb"
Set cat.ActiveConnection = cn
= "Test"
clx.ParentCatalog = cat
clx.Type = 3
= "Id"
clx.Properties("AutoIncrement") = true
tblnam.Columns.Append clx
tblnam.Columns.Append "DataField",130,20
cat.Tables.Append tblnam
Set clx = Nothing
Set cat = Nothing
cn.Close
Set cn = Nothing
End Sub
call GenAutoIncrementFld
===================================
字段类型对应数值
''---- DataTypeEnum Values ----
Const adEmpty = 0
Const adTinyInt = 16
Const adSmallInt = 2
Const adInteger = 3
Const adBigInt = 20
Const adUnsignedTinyInt = 17
Const adUnsignedSmallInt = 18
Const adUnsignedInt = 19
Const adUnsignedBigInt = 21
Const adSingle = 4
Const adDouble = 5
Const adCurrency = 6
Const adDecimal = 14
Const adNumeric = 131
Const adBoolean = 11
Const adError = 10
Const adUserDefined = 132 Const adVariant = 12
Const adIDispatch = 9
Const adIUnknown = 13
Const adGUID = 72
Const adDate = 7
Const adDBDate = 133
Const adDBTime = 134
Const adDBTimeStamp = 135 Const adBSTR = 8
Const adChar = 129
Const adVarChar = 200
Const adLongVarChar = 201 Const adWChar = 130
Const adVarWChar = 202 Const adLongVarWChar = 203 Const adBinary = 128
Const adVarBinary = 204 Const adLongVarBinary = 205 Const adChapter = 136
Const adFileTime = 64
Const adPropVariant = 138 Const adVarNumeric = 139 Const adArray = &H2000。