如何用vb创建一个access表,其中要有备注型字段 和二进制字段
最佳答案
使用alter table语句。示例如下:
1)将表1的Field1字段改为日期型
docmd.runsql "ALTER TABLE 表1 ALTER Field1 Date"
2)将表1的文本字段Field2的字段文本长度为50
docmd.runsql "ALTER TABLE 表1 ALTER Field2 Text(50)"
alter table语句功能很强大,你可以搜下相关资料。
追问:
50 不够,最多要2000
其他回答
其它网友回答:
其它网友回答:
col5.Type = ADOX.DataTypeEnum.adLongVarBinary col5.Name = "OLD_FLD" tbl.Columns.Append col5, ADOX.DataTypeEnum.adLongVarBinary '增加一个数值型字段 Dim col3 As ADOX.Column Set col3 = New ADOX.Column col3.ParentCatalog = cat col3.Type = ADOX.DataTypeEnum.adDouble col3.Name = "ll" tbl.Columns.Append col3, ADOX.DataTypeEnum.adDouble Dim p As ADOX.Property For Each p In col3.Properties Debug.Print p.Name & ":" & p.Value & ":" & p.Type & ":" & p.Attributes Next '设置主键 tbl.Keys.Append "PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "id", "", "" cat.Tables.Append tbl MsgBox "数据库表:" + tbl.Name + "已经创建成功!" Set tbl = Nothing Set cat = Nothing Dim adocon As ADODB.Connection Set adocon = New ADODB.Connection adocon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\newdata.mdb;" & "Mode=Share Deny Read|Share Deny Write;Persist Security Info=False;Jet OLEDB:Database Password=" Set cat = New ADOX.Catalog Set cat.ActiveConnection = adocon For i = 0 To cat.Tables.Count - 1 Debug.Print cat.Tables(i).Name '取出表名 If cat.Tables(i).Name = "MyTable" Then For j = 0 To cat.Tables(i).Columns.Count - 1 Debug.Print cat.Tables(i).Columns(j) '取出列名 Debug.Print cat.Tables(i).Columns(j).Type '取出数据类型 For Each p In cat.Tables(i).Columns(j).Properties Debug.Print p.Type & p.Name & p.Attributes '取出列的属性 Next Next j End If Next i
其它网友回答:
其它网友回答:
cat.Tables.Item("MyTable").Columns("ll").Properties("Jet OLEDB:Allow Zero Length").Value = True '设置零长度正确 Set cat = Nothing adocon.Close Set adocon = Nothing End Sub Type 属性 指示 Parameter、Field 或 Property 对象的操作类型或数据类型。 设置和返回值 设置或返回下列 DataTypeEnum 值之一。相应的 OLE DB 类型标识符在下表的说明栏的括号中给出。有关 OLE DB 数据类型的详细信息,请参阅第 10 章和《OLE DB 程序员参考》的附录 A。 常量 说明 AdArray 与其他类型一起加入逻辑 OR 以指示该数据是那种类型的安全数组 (DBTYPE_ARRAY)。 AdBigInt 8 字节带符号的整数 (DBTYPE_I8)。 AdBinary 二进制值 (DBTYPE_BYTES)。 AdBoolean 布尔型值 (DBTYPE_BOOL)。 adByRef 与其他类型一起加入逻辑 OR 以指示该数据是其他类型数据的指针 (DBTYPE_BYREF)。 adBSTR 以空结尾的字符串 (Unicode) (DBTYPE_BSTR)。 adChar 字符串值 (DBTYPE_STR)。 adCurrency 货币值 (DBTYPE_CY)。货币数字的小数点位置固定、小数点右侧有四位数字。该值保存为 8 字节范围为 10,000 的带符号整型值。 adDate 日期值 (DBTYPE_DATE)。日期按双精度型数值来保存,数字全部表示从 1899 年 12 月 30 开始的日期数。小数部分是一天当中的片段时间。 adDBDate 日期值 (yyyymmdd) (DBTYPE_DBDATE)。 adDBTime 时间值 (hhmmss) (DBTYPE_DBTIME)。 adDBTimeStamp 时间戳(yyyymmddhhmmss 加 10 亿分之一的小数)(DBTYPE_DBTIMESTAMP). adDecimal 具有固定精度和范围的精确数字值 (DBTYPE_DECIMAL)。 adDouble 双精度浮点值 (DBTYPE_R8)。 adEmpty 未指定值 (DBTYPE_EMPTY)。 adError 32 - 位错误代码 (DBTYPE_ERROR)。 adGUID 全局唯一的标识符 (GUID) (DBTYPE_GUID)。 adIDispatch OLE 对象上 Idispatch 接口的指针 (DBTYPE_IDISPATCH)。
其它网友回答: