想用Ado 创建一个Access表,但运行时说"字段定义语法错误"
代码如下: Set NoiseDataCnn = New ADODB.Connection
NoiseDataCnn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\noisedata.mdb;Persist Security Info=False")
Set NoiseDataRst = New ADODB.Recordset
Set NoiseDataCmd = New ADODB.Command
Set NoiseDataRst.ActiveConnection = NoiseDataCnn
Set NoiseDataCmd.ActiveConnection = NoiseDataCnn
Dim NoiseDataCmdText As String
NoiseDataCmdText = "CREATE TABLE xyz ( DateTime adSingle , NoiseData adSingle)"
NoiseDataCmd.CommandText = NoiseDataCmdText
NoiseDataCmd.CommandType = adCmdText
NoiseDataCmd.Execute
代码如下: Set NoiseDataCnn = New ADODB.Connection
NoiseDataCnn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\noisedata.mdb;Persist Security Info=False")
Set NoiseDataRst = New ADODB.Recordset
Set NoiseDataCmd = New ADODB.Command
Set NoiseDataRst.ActiveConnection = NoiseDataCnn
Set NoiseDataCmd.ActiveConnection = NoiseDataCnn
Dim NoiseDataCmdText As String
NoiseDataCmdText = "CREATE TABLE xyz ( DateTime adSingle , NoiseData adSingle)"
NoiseDataCmd.CommandText = NoiseDataCmdText
NoiseDataCmd.CommandType = adCmdText
NoiseDataCmd.Execute
解决方案 »
- VB+SQL server 遇到的两个小问题,路过的大虾帮看看吧~~
- treeview问题
- winsock通过HTTP协议访问外网,在有网关的情况,怎么访问不了了????
- 请大家指导一下我有关DCOM的问题!
- 求助!如何读取文本文件中,指定位置起,指定长度的字符串,高手请进。。。。
- 唉,如果这个功能实现,我的正式处子之作就算比较完美了,望专家来看看
- 用b做程序,能不能控制windows98?
- Win98下为什么拦截不到从另一线程发过来的自定义消息
- 新人求老鸟 建议/提供 一些VB全方位学习 进阶资料
- 如何用程序控制杀掉指定的进程
- 关于TREE的问题,定义结点的层级,有这个功能吗
- 有关线程的问题??
请看 http://dev.csdn.net/develop/article/25/25542.shtm
我换了很多种数据类型都是这个错误 :adSingle,Single,adSmallInt,Integer,float,varchar
'工程->引用->Microsoft ADO Ext. 2.x for DLL and Security
Sub CreateKey()
'建立主键
Dim adPrimary As New ADOX.Key
Dim mCat As New ADOX.Catalog
mCat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb" & ";Persist Security Info=False"
adPrimary.Name = "AddPriKey"
adPrimary.Type = adKeyPrimary
adPrimary.Columns.Append "编号"
adPrimary.UpdateRule = adRICascade
mCat.Tables("OneTable").Keys.Append adPrimary
End SubSub CreateTableAndIndex() Dim mTbl As New Table
Dim mIdx As New ADOX.Index
Dim mCat As New ADOX.Catalog ' 打开目录。
mCat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb" & ";Persist Security Info=False" ' 定义表并将其追加到目录
mTbl.Name = "OneTable"
mTbl.Columns.Append "编号", adInteger, 1
mTbl.Columns.Append "帐号", adVarWChar
mTbl.Columns.Append "名称", adVarWChar
mTbl.Columns.Append "金额", adCurrency
mTbl.Columns.Append "代销", adDouble
mCat.Tables.Append mTbl
' 定义多列索引
mIdx.Name = "MultiColIdx"
mIdx.Columns.Append "编号" ' 将索引追加到表上
mTbl.Indexes.Append mIdxEnd SubPrivate Sub Command1_Click()
Call CreateTableAndIndex
Call CreateKey
End Sub
我将你的sql语句改成这样应该可以了CREATE TABLE xyz ( aaDateTime text(50) , NoiseData single)我在access用此语句建表成功。
NoiseDataCmdText = "CREATE TABLE xyz ( DateTime single, NoiseData single)"