能否给VB中操作ACCESS的数据导入导出命令的模块,源代码。谢谢

lioner9944 2004-12-16 03:22:28
由于程序无法实现。特求
...全文
273 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingyt 2004-12-28
  • 打赏
  • 举报
回复
我也有类似的问题,关注一下。同病相怜呀!
lioner9944 2004-12-16
  • 打赏
  • 举报
回复
以前用的是:
'EXCEL导入ACCESS模块声明
'调用ExportExportExcelSheetToAccess"sSheetName", "sExcelPath", "AccessTable", "sAccessDBPath"
'还要引用Microsoft DAO3.6 Objects Library


Private Sub ExportExcelSheetToAccess(sSheetName As String, sExcelPath As String, sAccessTable As String, sAccessDBPath As String)
Dim db As Database
Dim rs As Recordset

Set db = OpenDatabase(App.Path & sExcelPath, True, False, "Excel 8.0")
'Call db.Execute("select * into [;database=" & App.Path & sAccessDBPath & "]." & sAccessTable & " from [" & sSheetName & "$] ")
Call db.Execute("Delete * from [;database=" & App.Path & sAccessDBPath & "]." & sAccessTable & " ")
Call db.Execute("Insert Into [;database=" & App.Path & sAccessDBPath & "]." & sAccessTable & " Select * FROM [" & sSheetName & "$]")
End Sub

只是当EXCEL中某列中有一些数据与其他数据类型不一致,所以导致导入后,不一致的数据的单元格为空。

导出用的是:
'ACCESS导出到EXCEL模块声明__sheet(i)
'调用ExportAccessToExcelSheet "sSheetName", "sExcelPath", "AccessTable", "sAccessDBPath"
'i=i+1
'还要引用microsoft Excel 11.0 Object Library和microsoft ActiveX Data Objects 2.0 Library
'每次只能保证更新第一张SHEET,而且不能导入ACCESS中TABLE的FIELDNAME
'且ACCESS和EXCEL文件必须实现存在。


Public Sub ExportAccessToExcelSheet(sSheetName As String, sExcelPath As String, sAccessTable As String, sAccessDBPath As String)
Dim Conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim ExcelApp As New Excel.Application
Dim WorkBookObj As Workbook
Dim SheetObj As Worksheet

'数据库路径为程序路径
Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & sAccessDBPath
Conn.Open
rs.Open "Select * From " & sAccessTable, Conn, adOpenKeyset, adLockOptimistic, adCmdText
'==========================================================================

'Excel路径为程序路径
Set WorkBookObj = ExcelApp.Workbooks.Open(App.Path & sExcelPath)
Set SheetObj = WorkBookObj.Worksheets(i)
'========================================
SheetObj.Range("A1").CopyFromRecordset rs
SheetObj.Name = sSheetName


Set SheetObj = Nothing
WorkBookObj.Save
WorkBookObj.Close
Set WorkBookObj = Nothing
ExcelApp.Quit
Set ExcelApp = Nothing
rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
End Sub

但是不如手动导出好用,因为无法导出ACCESS中TABLE的列名

所以特求各位,看是否有能直接调用ACCESS该功能的模块,
或是有更好的办法,不胜感激。。_^^_
cosio 2004-12-16
  • 打赏
  • 举报
回复
把你的程序贴出来了!
**VB+ACCESS自动组卷系统** **资源介绍:** 本资源为一款基于VBACCESS数据库开发的自动组卷系统。该系统集成了试题管理、试卷生成、试卷输出等功能,可广泛应用于各类考试和测试场景。系统采用模块化设计,具有良好的可扩展性和可定制性,方便用户进行二次开发和定制。 **核心功能:** 1. **试题管理**:支持多种题型(如单选题、多选题、填空题等),可对试题进行添加、修改、删除等操作。同时提供试题的导入导出功能,方便批量处理试题数据。 2. **试卷生成**:根据预设的组卷规则和参数,系统可自动生成符合要求的试卷。支持随机抽题、按比例抽题等多种组卷方式,确保试卷的科学性和公正性。 3. **试卷输出**:生成的试卷可输出为Word、PDF等格式,方便用户进行打印和分发。同时系统还提供了试卷预览功能,方便用户在输出前对试卷进行检查和修改。 **技术特点:** 1. **采用VB编程语言**:VB是一种易学易用的编程语言,适合初学者和开发者快速上手。同时,VB具有丰富的库函数和强大的数据处理能力,能够满足自动组卷系统的开发需求。 2. **使用ACCESS数据库**:ACCESS是一种轻量级的数据库管理系统,具有体积小、速度快、易操作等优点。本系统利用ACCESS数据库存储试题数据和试卷信息,保证了数据的稳定性和安全性。 3. **模块化设计**:系统采用模块化设计思想,将各个功能模块独立出来,方便后续的维护和升级。同时,模块化设计也降低了系统的耦合度,提高了代码的可重用性和可维护性。 4. **二次开发定制**:为了满足不同用户的个性化需求,本系统提供了丰富的API接口和开发文档,方便用户进行二次开发和定制。用户可以根据自身需求对系统功能进行扩展和优化,实现个性化的自动组卷功能。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧