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