怎样用SQL语句在ACCESS数据库中建新表?Public MyCon As New ADODB.Connection
Public MyRs As New ADODB.Recordset用的这种方法连的数据库请问该怎么做?谢谢
Public MyRs As New ADODB.Recordset用的这种方法连的数据库请问该怎么做?谢谢
解决方案 »
- Microstation VBA dwg 到 dgn 的转换
- VB程序打包:需含注册码(根据机器码来验证)、升级程序及网址。
- 0分帖子~~~
- 关于将EXCEL文件导入到SQL SERVER中的问题
- 急:水晶报表中条形码的打印问题...
- 有没有在屏幕上滚动显示文字的软件
- 急!!!各位老大救命呀(高分)!!!!!!!!!!!!!!!
- 求一试管控件, 里面的药水高度可随时控制
- 我想将一个多维数组的其中一行传递给一个变量,怎么写才可以--超easy
- 请问在Msflexgrid中如何用鼠标右键选定单元格?
- VB中用ADODB连接的数据库,怎么对表进行操作啊
- 请问怎么在VB中实现不同应用程序间的消息传递?
'菜单“工程”-->"引用"-->"Microsoft ActiveX Data Objects 2.7 Library"
'Microsoft ADO Ext.2.7 for DDL ado Security
Dim cat As ADOX.Catalog
Set cat = New ADOX.Catalog
cat.Create ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path & "\newdata.mdb" + ";")
MsgBox "数据库已经创建成功!"
Dim tbl As ADOX.Table
Set tbl = New ADOX.Table
tbl.ParentCatalog = cat
tbl.Name = "MyTable"'增加一个自动增长的字段
Dim col As ADOX.Column
Set col = New ADOX.Column
col.ParentCatalog = cat
col.Type = ADOX.DataTypeEnum.adInteger ' // 必须先设置字段类型
col.Name = "id"
col.Properties("Jet OLEDB:Allow Zero Length").Value = False
col.Properties("AutoIncrement").Value = True
tbl.Columns.Append col, ADOX.DataTypeEnum.adInteger, 0'增加一个文本字段
Dim col2 As ADOX.Column
Set col2 = New ADOX.Column
col2.ParentCatalog = cat
col2.Name = "Description"
col2.Properties("Jet OLEDB:Allow Zero Length").Value = False
tbl.Columns.Append col2, ADOX.DataTypeEnum.adVarChar, 25'增加一个货币型字段
Dim col4 As ADOX.Column
Set col4 = New ADOX.Column
col4.ParentCatalog = cat
col4.Type = ADOX.DataTypeEnum.adCurrency
col4.Name = "xx"
tbl.Columns.Append col4, ADOX.DataTypeEnum.adCurrency'增加一个OLE字段
Dim col5 As ADOX.Column
Set col5 = New ADOX.Column
col5.ParentCatalog = cat
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 = NothingDim 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 icat.Tables.Item("MyTable").Columns("ll").Properties("Jet OLEDB:Allow Zero Length").Value = True '设置零长度正确
'For i = 0 To cat.Tables.Count - 1 '修改表名,暂不行,测试没通过
' If cat.Tables(i).Name = "MyTable" Then
' cat.Tables.Item(1).Name = "NewMyTable"
' End If
'Next i
Set cat = Nothing
adocon.Close
Set adocon = Nothing
End Sub
MyCon.execute "Create Table 表名(字段...)"
Private Sub Command1_Click()
Dim cn As New ADODB.Connection
cn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\temp.mdb;Persist Security Info=False"
cn.Open
cn.Execute "CREATE TABLE [aaa]([学生姓名]Text(20),[年龄]Integer,[成绩]Double)"
cn.Close
End Sub
'删表
Private Sub Command2_Click()
Dim cn As New ADODB.Connection
cn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\temp.mdb;Persist Security Info=False"
cn.Open
cn.Execute "DROP TABLE [aaa]"
cn.Close
End Sub