北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
Tbl.Columns.Item(I).Properties.Item(4).Value = False 这一句代码有问题。
整个程序代码:
Option Explicit Private Sub Command1_Click() Dim Cat As ADOX.Catalog Set Cat = New ADOX.Catalog Dim Path$ Path$ = "D:\" Dim sFile$ sFile$ = Path$ & "newdata.mdb" If Len(Dir(sFile$)) <> 0 Then Kill sFile$ '在当前目录下建立名为newdata的Access数据库 Cat.Create ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sFile$ & ";") Dim Tbl As ADOX.Table Set Tbl = New ADOX.Table Tbl.ParentCatalog = Cat Tbl.Name = "测试数据库" '增加字段 Tbl.Columns.Append "统一编号", adDouble, 50 Tbl.Columns.Append "日期", ADOX.DataTypeEnum.adInteger, 50 Tbl.Columns.Append "序号", ADOX.DataTypeEnum.adWChar, 50 Tbl.Columns.Append "语文(一月)", ADOX.DataTypeEnum.adDouble, 50 Tbl.Columns.Append "数学(一月)", ADOX.DataTypeEnum.adDouble, 50 Tbl.Columns.Append "语文(二月)", ADOX.DataTypeEnum.adDouble, 50 Tbl.Columns.Append "数学(二月)", ADOX.DataTypeEnum.adDouble, 50 Tbl.Keys.Append "PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "统一编号", "", "" '设置主键 Cat.Tables.Append Tbl Dim I As Integer For I = 1 To 2 Tbl.Columns.Item(I).Properties("Jet OLEDB:Allow Zero Length") = False Tbl.Columns.Item(I).Properties.Item(4).Value = False Next Set Tbl = Nothing Set Cat = Nothing MsgBox "数据库表:已经创建成功!" '------------------------------------------------------------------------------------------------- Dim Cn As New ADODB.Connection Set Cn = New ADODB.Connection Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sFile$ & ";" Dim RS As New ADODB.Recordset Set RS = New ADODB.Recordset RS.Open "select * from 测试数据库", Cn, 1, 3 RS.AddNew RS.Fields("日期") = "20130111" RS.Fields("统一编号") = "20130111" RS.Fields("序号") = "20130111" RS.Update End Sub总之,我的字段要求可以为空。