|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 jary_yuan 于 2012-2-23 18:09 编辑
我想在用VBA新建一个Acess数据库文件,并在新建的文件里面创建一章表。
在一个过程里容易实现,代码如下(07才能运行)
- Sub CrTaAcc()
- Dim Ca As ADOX.Catalog, Cnt As ADODB.Connection, Sql As String, Name As String
- Name = "NewCreate.mdb"
- Sql = "create table SalesDem(SalesCode integer,SalesDecr varchar,Quantity float)"
- Set Ca = New ADOX.Catalog
- Ca.Create "Provider=Microsoft.Jet.Oledb.4.0;" & _
- "Data Source=" & ThisWorkbook.Path & "" & Name
- Set Cnt = New ADODB.Connection
- Cnt.ConnectionString = Ca.ActiveConnection
- Cnt.Open
- If Cnt.State = adStateOpen Then
- Cnt.Execute Sql
- MsgBox "The DB " & Name & " is created successfully in " & ThisWorkbook.Path
- Else
- MsgBox "Something is wrong Check it !"
- End If
- End Sub
复制代码
现在我想通过过程调用来实现以上步骤。第一个过程用来打开与数据库的连接,第二个过程通过调用第一个过程打开数据库,然后写入数据。
第一个过程如下:
- Sub Cn2Acc()
- Dim Cnt As ADODB.Connection, Sql As String
- Set Cnt = New ADODB.Connection
- Cnt.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;" & _
- "Data Source=F:\MyOffs\MyAcc\Access 2010 Essential Training\Exercise Files\Chapter 13\ForCnt.mdb"
- Cnt.Open
- If Cnt.State = adStateOpen Then
- MsgBox "Connect Successfully"
- ' Cnt.Close
- Else
- MsgBox "Try again !"
- End If
- 'Set Cnt = Nothing
- End Sub
复制代码
在第二个过程引用第一个过程以后,如何获得已经打开的数据库的操作权?
- Sub CreTab()
- Dim Sql As String
- Sql = "create table SalesDem(SalesCode integer,SalesDecr varchar,Quantity float)"
- Cn2Acc
- '执行到这里的时候应该已经打开了数据库文件ForCnt.mdb的连接,怎样来获得当前已经打开的数据库的操作权呢?
- '接下来应该怎样执行 Sql
- '?.Excute Sql
- End Sub
复制代码
|
|