大众计算机学习网

专门提供各种电脑教程

如何让Access一次性执行多条SQL语句

Admin | 2014-12-4 6:16:50 | 被阅次数 | 5844

  Access本身是不支持执行多条SQL语句的,因此,要想在Access中批量运行SQL语句是不可能的。但是我们借助VBA的功能来解决该问题。

  解决问题的根本在于:将SQL多条批量语句存放到某个*.SQL文件中,然后,通过VBA来调用该文件运行,这样就能解决问题了。以下的SQL文件为E:\Mysql.sql。

  Const ForReading = 1, ForWriting = 2, ForAppending = 3  
     
  Dim FileObj 
  Dim TextObj 
  Dim TmpPath As String 
  Dim strSQL As String 
  Dim row As Integer  
     
  row = 1 
  TmpPath = "E:\Mysql.sql" 
  Set FileObj = CreateObject("Scripting.FileSystemObject") 
  Set TextObj = FileObj.OpenTextFile(TmpPath, ForReading, True)  
 
  DoCmd.SetWarnings False         '关闭确认提示  
     
  Do While Not TextObj.AtEndOfLine 
        strSQL = TextObj.ReadLine   '读sql文件内容 
        DoCmd.RunSQL strSQL         '执行 SQL 查询 
        row = row + 1 
  Loop  
     
  DoCmd.SetWarnings True  
     
  MsgBox row  
     
  TextObj.Close