EXCEL使用VBA宏生成SQL语句
EXCEL(VBA)连接MSSQL查询数据
EXCEL(VBA)连接MSSQL查询数据
两种方法:
1、通过建立ODBC,例如下面的名为“SQL_SERVER”,再调用该ODBC进行连接
Dim qt As QueryTable
' 定义一个查询表
sqlstring = "select * from aad"
'定义一句SQL的查询语言内容到sqlstring里去, 以备调用.
connstring = "ODBC;DSN=SQL_Server;UID=sa;PWD=;Database=db_demo"
'定义连接的方式到connstring里去, 以备调用. 说的是, 采用ODBC方式连接, ODBC的名字是SQL_Server, 用户名是sa, 密码是空, 连接AIS20060414142400库.
With ActiveSheet.QueryTables.Add(Connection:=connstring, Destination:=Range("A1"),sql:=sqlstring)
'选择当前工作表中的B1单元格做为起始的地方, 开始连接数据库, 按条件查询, 并返回数据.
.Refresh
'刷新
End With
'数据查询结束, 则循环结束
2、直接与SQL服务器建立连接(有三种表示方式)
'不用DIM定义
Set Conn = CreateObject("adodb.connection")
Conn.Open "Driver=SQL Server;SERVER=erptest;Database=db_demo;uid=sa;pwd="
在Excel的VBA中使用SQL语句
Sub 筛选() Dim cn As New ADODB.Connection Dim sql As String 'cn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullName cn.Open "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties=Excel 8.0;Data Source=" & ThisWorkbook.Path & "\SG Master List SO Outanding 090520_ZY.xls" sql = "select * from [Master$] where left(ItemCode,6) <> U_Cat1 & U_Cat2 & '-' & right(U_Cat3,2) Sheets("Sheet2").[A4].CopyFromRecordset cn.Execute(sql) cn.Close Set cn = Nothing End Sub
ExcelVBAADOSQL入门教程021:ADO常用连接字符串
ExcelVBAADOSQL入门教程021:ADO常用连接字符串
大家好,好久不见,我们今天开始讲述ADO。
在很久以前的第2章,我们说明了ADO的概念以及为什么学习ADO;同时也介绍了如何在VBA中引用ADO类库、创建同Excel文件的连接,并分享了一个使用ADO执行SQL语言的小套路等;
打个响指,对面的女孩看过来……就像我们所熟悉的Workbook 对象一样,大对象ADO内部也有多个小对象,不过我们经常用到的只有两个;一个是Connection,另一个是Recordset。Connection,顾名思义,是到数据库的连接,管理应用程序和数据库之间的通信;Recordset,又称记录集,是用来获得数据,存放和处理SQL语句的查询结果……另外,我们可能会在系列教程的末尾稍微提下ADO的Command对象,它的主要作用是用来处理带参数值的或重复执行的查询。
……
先来看下Connection对象。它的语法如下:
connection.Open ConnectionString, UserID,Password, Options
语法各参数的含义我们第2章时讲过了,这里不再重述。嗯,我是真懒,实在没办法把第2章的内容复制粘贴过来,所以建议你先看完第2章的前3节内容再继续向下阅读。
踹一脚,对面的男孩看过来……第2章时,我们说过,虽然Connection对象对于不同的数据库或文件会有不同的连接字符串,但常用的数据库或文件的连接字符串均是固定的。
下面是常用数据库或文件的连接字符串。
1,Access数据库
Excel宏编程进阶通过VBA实现数据导入与导出
Excel宏编程进阶通过VBA实现数据导入与
导出
Excel作为常用的电子表格软件,为我们处理数据提供了极大的便利。而通过VBA编写宏,更是可以进一步加强Excel的功能,使其能够实现自动化的数据导入和导出。本文将介绍如何利用VBA编程,实现Excel宏在数据导入和导出方面的进阶应用。
(正文部分)
数据导入是Excel中常见的操作,而通过VBA编写宏可以极大地简化这一过程。一般情况下,我们需要从外部数据源(如数据库、文本文件等)将数据导入到Excel中。在VBA中,可以使用ADO (ActiveX Data Objects)对象来连接外部数据源,并通过SQL语句实现数据的选择和导入。
首先,我们需要在VBA编辑器中将ADO库添加到引用中。在“工具”菜单下选择“引用”,勾选“Microsoft ActiveX Data Objects Library”,点击确定。
接下来,在VBA编辑器中的代码窗口中编写宏的代码。首先,我们需要创建一个ADODB.Connection对象,用于连接到外部数据源。可以通过指定连接字符串来连接到相应的数据源。
例如,如果要连接到一个名为“DataWarehouse”的Access数据库,可以使用以下代码:
```vba
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\DataWarehouse.accdb;"
EXCEL利用VBA进行数据库操作
EXCEL利用VBA进行数据库操作
一、简介
数据库是指存储数据、信息的系统。Microsoft Excel是一款功能强
大的表格计算软件,同时也可以作为一种数据库系统,可以以非常有效的
方式存储、组织及分析数据。VBA(Visual Basic for Applications)是Microsoft Excel中的脚本语言,它是一种可以实现用户宏的功能性平台,用户可以使用它来编写宏程序,比如修改一些单元格的数据,读取一些文件,发送邮件等。VBA可以用来创建、管理并进行数据库操作,而使用
VBA来操作Excel来实现数据库操作,可以让用户更加方便快捷地管理数据。
2.查询数据:使用VBA可以查询数据,获取特定要求的数据。用户可
以使用各种SQL语句来进行查询,比如使用WHERE关键字进行筛选,使用ORDERBY关键字对查询结果排序等。
3.更新数据:用户可以使用VBA来更新一些数据,修改字段属性或进
行其他更新操作。
4.插入数据:使用VBA可以从外部文件或其他数据源插入数据,也可
以逐条新增数据。
5.删除数据:使用VBA可以通过特定条件删除一些记录。
三、使用技巧
如何利用VBA实现Excel与SQL Server数据库的数据交互
如何利用VBA实现Excel与SQL
Server数据库的数据交互
VBA (Visual Basic for Applications) 是一种用于自动化任务和处
理数据的编程语言,广泛应用于Microsoft Office套件中,包括Excel。通过VBA,我们可以将Excel与SQL Server数据库进行数
据交互,实现数据的导入、导出、更新和查询等操作。
这篇文章将介绍如何利用VBA实现Excel与SQL Server数据
库的数据交互。我们将分为以下几个部分来讨论和实现这个目标:
1. 连接到SQL Server数据库:首先,我们需要建立与SQL Server数据库的连接来进行数据交互。在Excel中,可以使用ADODB(ActiveX Data Objects Database)对象来实现这一点。我
们需要使用正确的连接字符串来连接到SQL Server,并选择适当
的数据库。
2. 查询数据:一旦连接成功,我们可以使用SQL语句来查询数据库中的数据。在VBA中,可以使用ADODB.Recordset对象来
执行查询,并将结果保存到Excel中的工作表中。我们需要编写合适的SQL查询语句来选取所需的数据。
3. 导入数据:如果我们需要将Excel中的数据导入到SQL Server数据库中,可以使用ADO对象的Execute方法来执行
INSERT语句。我们可以使用Excel的数据范围或遍历工作表中的
单元格,然后将数据插入到数据库中。
4. 更新数据:通过使用UPDATE语句,我们可以在数据库中
更新现有数据。在VBA中,可以使用ADO对象的Execute方法
分享ExcelVBA中SQL查询模块代码
分享ExcelVBA中SQL查询模块代码
分享Excel VBA中SQL查询模块代码
更多
最近一直在写VBA,因为涉及到的统计比较多,且资料量也比较大,所以比较喜欢用ADO+SQL的方法,但这样就在程序中多次出现定义对象--连接数据库--执行查询--输出结果这个过程,所以干脆整理出来,做一个模块,这样以后随时可以调用,且应用起来比较方便,不会被一大堆的代码搞晕。
模块名称为queryinfo,参数ssql为SQL语句,biaoming为结果输出的表名称,weizhi为输出表位置的左上角单元格。
引用示例:
Call queryinfo("SELECT field1,field2 FROM [sheet1$]","sheet2","A2")
表示查询表1中的第一、第二字段的数据输出到表2,在表2中从A2单元格开始写入数据。
模块代码:
Sub queryinfo(ssql As String, biaoming As String, weizhi As String)
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.Jet.Oledb.4.0;" & _
"Extended Properties=Excel 8.0;" & _
"Data Source=" & ThisWorkbook.Path & "\" &
If conn.State = adStateOpen Then
Sheets(biaoming).Range(weizhi).CopyFromRecordset conn.Execute(ssql)
使用VBA连接SQL数据库获取数据
使用VBA连接SQL数据库获取数据
VBA是Visual Basic for Applications的缩写,它是Microsoft Office套件内的一种编程语言。通过VBA,我们可以在Microsoft Excel、Access等软件中编写代码来进行数据操作和处理。
在VBA中,我们可以使用ADO(ActiveX Data Objects)来连接SQL
数据库并获取数据。ADO是Microsoft的一组COM组件,提供了访问多种
数据库的接口和功能。下面是使用VBA连接SQL数据库获取数据的步骤:
1.引入ADO库:
2.创建连接对象:
在代码中,首先要创建一个ADODB.Connection对象,用于表示与
SQL数据库的连接。可以使用如下代码创建连接对象:
```vba
Dim conn As New ADODB.Connection
```
3.打开连接:
使用连接对象的Open方法打开与数据库的连接。需要提供连接字符串,指定数据库的位置、用户名、密码等信息。具体连接字符串的格式取
决于使用的数据库类型和驱动程序。以下是一个连接MySQL数据库的示例
代码:
```vba
Dim conn As New ADODB.Connection
Dim connStr As String
conn.Open connStr
```
4.创建命令对象:
```vba
cmd.ActiveConnection = conn
```
5.执行SQL查询:
指定要执行的SQL查询,并使用命令对象的Execute方法执行该查询。以下是一个查询表数据的示例代码:
excel vba sql语句示例
excel vba sql语句示例
Excel VBA中SQL语句示例-以中括号为主题
在Excel VBA中,SQL(Structured Query Language)是一种用于管理关系数据库的语言。它允许用户从数据库中检索数据,更新和删除数据,并与数据库进行交互。中括号[]在SQL语句中用于标识数据表或字段名称。本文将介绍几个常用的Excel VBA中使用SQL语句并涉及中括号的示例。
1.查询数据表中所有字段
使用SELECT语句可以从数据表中选择一条或多条记录。要选择所有字段,可以使用“*”或字段列表。使用“*”选取所有字段非常方便,但不建议在大型数据表中使用。以下是一个示例,它使用“*”选取数据表中的所有字段。
Sub SelectAllFields()
'Define variables
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strQuery As String
'Open connection to the database
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\User\Documents\Database.accdb;Persist Security Info=False;"
cn.Open
'Create SQL query to select all fields from the data table
ExcelVBA编程与外部数据连接如何利用VBA与外部数据源进行数据交互
ExcelVBA编程与外部数据连接如何利用VBA与外部数据源进行数据交互Excel VBA编程与外部数据连接如何利用VBA与外部数据源进行数据交互
Excel是一款功能强大且广泛应用的电子表格软件,它提供了许多工具和功能,使用户能够对数据进行有效处理和分析。而Excel VBA (Visual Basic for Applications)编程则是利用Excel内置的VBA语言进行自动化处理和定制功能的方法。除了利用Excel本身的数据,VBA 编程还可以与外部数据源进行连接,实现更丰富的数据交互。本文将介绍如何利用VBA与外部数据源进行数据交互的方法。
一、连接外部数据源
在Excel VBA中,可以通过ADO(ActiveX Data Objects)对象库连接外部数据源。ADO是一种Microsoft开发的数据访问技术,可以用于连接各种类型的数据库,并通过SQL语句来操作数据。连接外部数据源的过程包括以下几个步骤:
1. 引用ADO对象库:首先需要在VBA中引用ADO对象库,以便使用ADO提供的功能和对象。在VBA编辑器中点击“工具”-“引用”,勾选“Microsoft ActiveX Data Objects x.x Library”(x.x为版本号)。
2. 创建连接对象:使用ADO对象库提供的Connection对象,可以创建用于与外部数据源建立连接的连接对象。可以指定连接的类型
(如Access数据库、SQL Server等)和连接字符串(包含连接的详细
信息)。
3. 打开连接:通过连接对象的Open方法,可以打开与外部数据源
VBA调用SQL查询的方法与示例
VBA调用SQL查询的方法与示例
VBA(Visual Basic for Applications)是一种广泛应用于Microsoft Office软件中的宏语言,它可以使用户通过编写代码来自动化执行各种任务。在Excel、Access等应用程序中,VBA可以与SQL(Structured Query Language)数据库查询语言相结合,实现对数据库的操作和管理。本文将介绍VBA调用SQL查询的方法与示例,并提供相关代码供读者参考。
1. 连接到数据库
在VBA中调用SQL查询之前,我们需要先连接到数据库。VBA中连接数据库的方法有许多种,这里我们以连接到Microsoft Access数据库为例进行说明。
首先,我们需要在VBA代码中添加对Microsoft ActiveX Data Objects(ADO)库的引用。在VBA编辑器中,选择“工具”>“引用”,然后选中“Microsoft ActiveX Data Objects x.x Library”。
接下来,我们可以使用ADO连接字符串来连接到数据库。例如,对于Microsoft Access数据库,连接字符串的格式为:
```
Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=C:\path\to\database.accdb;
```
我们可以将连接字符串保存在一个变量中,并使用
`ADODB.Connection`对象来进行连接。
示例代码:
```VBA
Dim conn As Object
VBA与SQL语句的结合与应用实例
VBA与SQL语句的结合与应用实例
在现代信息化时代,数据处理已经成为各个行业中不可或缺的一环。在处理大
量数据时,使用Excel和SQL数据库是非常常见的选择。而结合VBA(Visual Basic for Applications)和SQL语句,可以将两者的优势发挥到极致,提高数据处
理的效率和准确性。本文将通过一些实例来展示VBA与SQL语句的结合与应用。
案例一:数据导入与清洗
假设我们有一个存储了客户订单的Excel表格,我们需要将其中的数据导入到SQL数据库中进行进一步处理。这时,我们可以使用VBA编写一个宏来实现自动
将Excel中的数据导入到数据库表中。
首先,我们需要在Excel中添加一个按钮,通过宏来触发数据导入的操作。然后,我们可以使用VBA代码来连接到数据库,并执行相应的SQL语句将数据导入。示例代码如下:
```vba
Sub ImportDataToSQL()
Dim conn As Object
Dim rs As Object
Dim strSQL As String
Dim rng As Range
Dim cell As Range
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = "Provider=<provider>; Data Source=<data_source>; Initial Catalog=<catalog>; User ID=<user_id>; Password=<password>"
VBA实现Excel的数据库查询与连接
VBA实现Excel的数据库查询与连接
在日常工作中,我们经常会遇到需要查询和连接数据库的情况。在Excel中,通过使用VBA编程语言,我们可以轻松地实现与数据库的交互,包括数据库的查询与连接。本文将介绍如何使用VBA实现Excel的数据库查询与连接。
首先,我们需要在Excel中启用Microsoft ActiveX Data Objects库(简称ADO 库)。ADO库是一个可用于连接和操作各种类型的数据库的COM组件。我们可以通过以下步骤启用ADO库:
1. 打开Excel,并点击工具栏上的“开发工具”选项卡。
2. 在“控件”组中,点击“工具”按钮,然后选择“引用”。
3. 在弹出的对话框中,找到并勾选“Microsoft ActiveX Data Objects x.x库”(其中x.x表示版本号),然后点击“确定”。
现在,我们已经成功启用了ADO库,接下来就是编写VBA代码来实现数据库查询与连接。
首先,我们需要创建一个ADODB.Connection对象来建立与数据库的连接。下面是一个示例代码,演示了如何连接到一个名为"MyDatabase"的数据库:
```vba
Dim conn As New ADODB.Connection
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=C:\Path\To\MyDatabase.accdb"
conn.Open
```
在上面的代码中,我们首先创建了一个ADODB.Connection对象,并将连接串指定为一个Access数据库文件(.accdb)。请注意,这个示例使用的是Microsoft ACE OLEDB 12.0驱动程序,如果你使用的是其他类型的数据库,你需要相应地更改连接字符串。
Excel中使用SQL进行跨工作簿的数据合并
Excel中使用SQL进行跨工作簿的数据合
并
概念
在Excel中,使用结构化查询语言(SQL)进行跨工作簿的数据合并是一种高效的数据处理方法。通过SQL语句,我们可以从不同的工作簿中提取和整合数据,以实现数据分析和报告的目的。
功能
使用SQL进行跨工作簿的数据合并主要有以下功能:
连接不同工作簿中的表:通过连接操作,将不同工作簿中的数据表合并为一个结果集。
筛选和排序数据:根据特定的筛选条件,从结果集中选择需要的数据,并进行排序。
聚合数据:将多个行的数据组合成单个行,例如使用SUM、AVG、MAX等函数对数值进行聚合。
数据转换:通过使用SQL的转换函数,对数据进行处理和转换。
语法
在Excel中,可以使用Visual Basic for Applications (VBA)宏来运行SQL语句。以下是在Excel中执行SQL语句的基本步骤:
1.打开Excel文件,并打开需要执行SQL语句的工作表。
2.在“开发者”选项卡中,点击“Visual Basic”按钮,打开VBA编辑器。
3.在VBA编辑器中,点击“插入”->“模块”,创建一个新的模块。
4.在模块中输入SQL语句,并使用适当的语法进行数据操作。
5.运行SQL语句,通过调用DAO对象模型来执行SQL查询。
案例
案例1:对于两个工作簿中相同结构表格的简单数据合并(不去除重复)
如果两个工作簿中的数据结构完全一致,并且你希望进行简单的合并而不是去除
重复项,你可以使用UNION ALL操作符来合并数据。
以下是一个示例的VBA代码,用于合并两个工作簿中的数据:
Excel使用VBA宏生成SQL语句
有时候需要将Excel文件中的数据导入到数据库中,常用的做法是使用程序读取Excel,然后存入数据库;这里换一个方法,用Excel生成SQL语句,然后用这些SQL语句来更新数据库。
本文主要说明Excel如何使用VB宏构造需要的SQL语句,并生成文件。
2、如何添加按钮:
依次打开:视图–工具栏–控件工具箱,选择“命令按钮”,自己画一个就行了;
依次打开:右键–属性,可以修改名称、样式等。
具体操作可以上网找找。
3、如何使用VB宏:
依次打开:工具–宏–安全性,看看你的Excel是否允许使用“宏”。
然后打开:工具–宏–Visual Basic 编辑器,双击左侧的“Sheet1”,然后在右侧的代码区域粘贴如下代码:
'最大行数
Const MAX_NUM_ROW = 5000
'导出文件路径所在单元格
Const PATH_OUTPUT_ROW = 3
Const PATH_OUTPUT_COL = 3
'定义列常量
Const NAME_COL = 1
Const GENDER_COL = 2
Const PHONE_COL = 3
Const EMAIL_COL = 4
'读取数据开始行数
Const START_ROW = 5
'定义数据实体类
Private Type Tmplt
NAME As String
GENDER As String
PHONE As String
EMAIL As String
End Type
'行数变量
Dim noOfTmplts As Integer
'数据实体类数组
Dim TmpltArray(MAX_NUM_ROW) As Tmplt
ExcelVBAADOSQL入门教程001:认识SQLInExcel
3.
后⾯这句话似乎很难理解,举例来说,倘若我们需要获取上图所⽰表格(
arr = Sheet1.[a1].CurrentRegion
ReDim brr(1 To UBound(arr), 1 To UBound(arr, 2))
For i = 1 To UBound(arr)
If arr(i, 2) >= 80 Then
k = k 1
brr(k, 1) = arr(i, 1)
brr(k, 2) = arr(i, 2)
End If
Next
[d:f].ClearContents
[d1].Resize(k, 2) = brr
End Sub
你需要通过VBA编程告诉计算机每⼀步怎么⾛,数据从哪⾥来,从哪⾥开始遍历,⾏列是多少,符合条件的数据装⼊哪⾥,怎么装等等……
⽽如果⽤声明式SQL语⾔呢?只要告诉计算机我要什么就可以了。
SELECT 姓名,成绩 FROM [Sheet1$] WHERE 成绩>=80
我要Sheet1表(FROM [Sheet1$])……成绩⼤于等于80(WHERE 成绩>=80)……姓名和成绩的数据(SELECT 姓名,成绩)。
只要结果,不问过程。
就酱紫的声明式霸道总裁范。
4.
为什么要学习SQL In Excel(Excel⽀持的SQL语⾔)呢?
换⾔之,相⽐于Excel其它功能,例如函数、VBA、POWER PIVOT等,SQL有何优势?
⾸先,必须严肃脸说明的是,对于普通Excel使⽤者⽽⾔,VBA、SQL以及以后提及的ADO并不是⾮学不可的,⾮学不可的是基础操作、函数、透视表、图表……
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
有时候需要将Excel文件中的数据导入到数据库中,常用的做法是使用程序读取Excel,然后存入数据库;这里换一个方法,用Excel生成SQL语句,然后用这些SQL语句来更新数据库。
本文主要说明Excel如何使用VB宏构造需要的SQL语句,并生成文件。
2、如何添加按钮:
依次打开:视图–工具栏–控件工具箱,选择“命令按钮”,自己画一个就行了;
依次打开:右键–属性,可以修改名称、样式等。
具体操作可以上网找找。
3、如何使用VB宏:
依次打开:工具–宏–安全性,看看你的Excel是否允许使用“宏”。
然后打开:工具–宏–Visual Basic编辑器,双击左侧的“Sheet1”,然后在右侧的代码区域粘贴如下代码:
'最大行数
Const MAX_NUM_ROW=5000
'导出文件路径所在单元格
Const PATH_OUTPUT_ROW=3
Const PATH_OUTPUT_COL=3
'定义列常量
Const NAME_COL=1
Const GENDER_COL=2
Const PHONE_COL=3
Const EMAIL_COL=4
'读取数据开始行数
Const START_ROW=5
'定义数据实体类
Private Type Tmplt
NAME As String
GENDER As String
PHONE As String
EMAIL As String
End Type
'行数变量
Dim noOfTmplts As Integer
'数据实体类数组
Dim TmpltArray(MAX_NUM_ROW)As Tmplt
'点击按钮触发事件
Private Sub CommandButton1_Click()
generateSQL
End Sub
'生成SQL
Private Sub generateSQL()
makedir
initData
writeToFile
End Sub
'构建文件输出路径
Private Sub makedir()
On Error Resume Next
MkDir Sheet1.Cells(PATH_OUTPUT_ROW,PATH_OUTPUT_COL)
End Sub
'读取Excel数据,填充实体类数组
Private Sub initData()
Erase TmpltArray
noOfTmplts=0
Dim j As Integer
'循环读取Excel数据行
For j=START_ROW To MAX_NUM_ROW
TmpltArray(noOfTmplts).NAME=Sheet1.Cells(j,NAME_COL) TmpltArray(noOfTmplts).GENDER=Sheet1.Cells(j,GENDER_COL) TmpltArray(noOfTmplts).PHONE=Sheet1.Cells(j,PHONE_COL) TmpltArray(noOfTmplts).EMAIL=Sheet1.Cells(j,EMAIL_COL) noOfTmplts=noOfTmplts+1
Next
End Sub
'读取实体类数组,生成SQL并写入文件
Private Sub writeToFile()
Dim lvOutputPath As String
'输出文件路径
lvOutputPath=Sheet1.Cells(PATH_OUTPUT_ROW,PATH_OUTPUT_COL) If lvOutputPath=""Then
MsgBox"没有找到输出文件路径!"
Exit Sub
End If
fileNum=FreeFile
'打开输出文件
Open lvOutputPath For Output As fileNum
Dim lvUserSql As String
Dim nameStr As String
Dim genderStr As String
Dim phoneStr As String
Dim emailStr As String
'循环生成SQL
For j=0To noOfTmplts-1
nameStr=TmpltArray(j).NAME
genderStr=TmpltArray(j).GENDER
phoneStr=TmpltArray(j).PHONE
emailStr=TmpltArray(j).EMAIL
If nameStr<>""Then
lvUserSql="Insert into Students(name,gender,phone,email)values('"&nameStr&"','"& genderStr&"','"&phoneStr&"','"&emailStr&"');"
Print#fileNum,lvUserSql
End If
Next
Close fileNum
MsgBox"文件生成完成!"
Exit Sub
Err_Open_File:
Close lvFileNum
If Err.Number=76Then
'路径未找到
MsgBox Err.Description
Exit Sub
Else
MsgBox Err.Description
Exit Sub
End If
End Sub
OK,这样就可以了!点击你的按钮,看看生成文件了吗?
如果按钮还是编辑状态,关了再打开就行了。