想必大家都很喜欢用Word打字用Excel进行计算和规划用PowerPoint作幻灯片进行展示…但是这只用到了Office系列产品的很少的一部分功能据调查绝大部分用户只用到了Office产品的%的功能很少有人注意到Visual Basic for Application实际上熟悉掌握VBA的功能可以使你的工作事半功倍尤其对会计金融等专业来说作出一套好的宏几乎可以作到一劳永逸!最近AutoCAD中也加入了VBA的功能这不能不说这是一个趋势!
VBA的功能决不只是让病毒制造者用来制造麻烦的VBA能被用来制造病毒的同时也正说明了其功能的强大与易用!利用ADO对象可以很方便的进行数据库操作!下面就是一个简单的数据交换的例子
由于ADO对象不直接支持MySQL所以必须先安装MyODBC 后者也是一个免费产品在上有下载安装好了MyODBC 就可以在ODBC数据源管理中配置一个数据源名称把它指向你想连接的MySQL数据库代码如下
Sub connectMySQL()
通过MyODBC去连接MySQL数据库并将Microsoft SQL Server
的数据转进mysql中
Dim sConnect As String sSql As String i As Long
Dim cnMSSQL As New ADODBConnection
Dim cnMySQL As New ADODBConnection
声明并创建对象 连接
Dim rs As New ADODBRecordset 声明并创建对象 记录集
Dim cm As New ADODBCommand 声明并创建对象 命令
sConnect = dsn=mysql 指定MySQL的数据源名称
cnMySQLOpen sConnect 连接到 mysql
sConnect=Provider=SQLOLEDB;Persist Security Info=False;User ID=sa;pwd=;Initial Catalog=softdown;Data Source=ntserver
连接到 ms sql server
cnMSSQLOpen sConnect
sSql = create table softinfo (softNum smallintsoftname varchar()softdesc blob & _
softpath varchar()softleng varchar()softclass varchar()softsugest tinyint() & _
softdown smallint()) 创建新的MySQL数据表语句
sSql = select * from softinfo order by softnum
rsOpen sSql cnMSSQL
While Not rsEOF
sSql = insert into softinfo values ( & Trim(rs()Value) & & Trim(rs()Value) & _
& Trim(rs()Value) & & Trim(rs()Value) & & Trim(rs()Value) & _
& Trim(rs()Value) & & Trim(rs()Value) & & Trim(rs()Value) & )
cmActiveConnection = cnMySQL
cmCommandType = adCmdText
cmCommandText = sSql
cmExecute
rsMoveNext
Wend
rsClose
Set rs = Nothing
cnMySQLClose
Set cnMySQL = Nothing
cnMSSQLClose
Set cnMSSQL = Nothing
End Sub