VB6.0 读取Excel文件并返还数据集RecordSet

本文介绍了一种使用VBA从Excel文件(.xls/.xlsx)中读取数据并返回记录集的方法。通过动态连接建立与Excel文件的连接,并可根据指定字段、筛选条件及排序方式获取数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

读取Excel文件并返还数据集RecordSet

该方法适用于.xls,.xlsx类型的文件

 

读取Excel文件的Function:

 1 '取得数据集
 2 Function getRecordSetForExcels(sFilePath As String, _
 3                                 sTableName As String, _
 4                                 Optional sField As String, _
 5                                 Optional strWhere As String, _
 6                                 Optional sOrderBy As String) As ADODB.Recordset
 7 On Error GoTo errHand:
 8     Dim conn As New ADODB.Connection
 9     Dim rs As New ADODB.Recordset
10     Dim sSQL As String
11     If UCase(strType) = UCase(".xls") Then
12         conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sFilePath & ";Extended Properties='Excel 8.0;HDR=yes;imex=1';Persist Security Info=False"
13     Else
14         conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & sFilePath & ";Extended Properties='Excel 8.0;HDR=yes;imex=1';Persist Security Info=False"
15     End If
16     sSQL = "SELECT " & IIf(sField = "", "*", sField) & " FROM " & "[" & sTableName & "]"
17     If Trim(strWhere) <> "" Then _
18        sSQL = sSQL & " WHERE " & strWhere
19        
20     If Trim(sOrderBy) <> "" Then _
21     sSQL = sSQL & " Order BY " & sOrderBy
22     rs.Open sSQL, conn, adOpenStatic, adLockReadOnly
23     Set getRecordSetForExcels_1 = rs
24 
25 Exit Function
26 errHand:
27 If Err.Number = -2147467259 Then
28     rs.Open sSQL, conn, adOpenStatic, adLockReadOnly
29     Set getRecordSetForExcels_1 = rs
30 Else
31     MsgErr Err.Description
32 End If
33 End Function

 

调用该方法:

1 Dim rsData As ADODB.Recordset 'Excel中的所有的数据
2 dim s_PolicyHoler as string
3 Set rsData = getRecordSetForExcels(txtFileName.Text, sSheetName & "$", "[投保人名字] AS [PolicyHoler]" & _
4         " ,[保单号] AS [CCICPolicynumber],[客户号] AS [AIAIND]" & _
5         " ,[投保人ID] AS [HolerID]")
6 
7 If rsData.RecordCount > 0 Then
8     s_PolicyHoler = rsData("PolicyHoler") & ""
9 end if

 

转载于:https://www.cnblogs.com/AnneHan/p/5052051.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值