VB2005中把Excel的数据导入Access表取消选择文件操作
发布时间:2011-06-23 14:44:29 文章来源:www.iduyao.cn 采编人员:星星草
VB2005中把Excel的数据导入Access表取消选择文件操作求助
在VB2005中使用下面的语句把Excel中的数据导入到Access中,正常选择Excel文件导入没有问题,但在打开的选择文件窗口中如果选择取消,则系统提示对象错误,意思是没有要导入的文件。请教各位高手,应在下面语句的什么位置上添加什么语句,可以解决已打开选择导入文件窗口后又取消时出现错误提示问题。多谢各位。
Me.OpenFileDialog1.Filter = "Excle文件(*.xls)|*.xls"
If Me.OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
'TextBox11.Text = Me.OpenFileDialog1.FileName
Label11.Text = Me.OpenFileDialog1.FileName
Dim myDataset As New DataSet
Dim ExcelConnStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & Label11.Text & "';Extended
Properties=Excel 8.0;"
Dim myDataAdapter As New OleDb.OleDbDataAdapter("SELECT * FROM [Sheet1$]", ExcelConnStr)
Me.Cursor = Cursors.WaitCursor
Try
myDataAdapter.Fill(myDataset)
DataGridView2.DataSource = myDataset.Tables(0)
Catch ex As Exception
MsgBox(ex.Message)
Me.Cursor = Cursors.Default
Exit Sub
End Try
End If
------解决方案--------------------
Label11.Text = Me.OpenFileDialog1.FileName
只要对这个文件名称作个判断就可以了,如果点了取消,这个 Me.OpenFileDialog1.FileName 就是""空值,所以
if Me.OpenFileDialog1.FileName ="" 的时候 直接exit sub
建议把代码写成 if Me.OpenFileDialog1.FileName <> "" then 写成这种不等于空的判断,有好处,
把你要执行的关键代码全包进这个if里面,当用户点"取消"的时候,根本不会执行的.
------解决方案--------------------
我贴一段我的代码,你看看,我刚才细想了一下,好象不对,我还是把自己用的代码给你,你自己研究吧,
文件名要自己"令"它为空!
Dim strFile As String
Try
If SplitContainer5.Panel1Collapsed = False Then
With SaveFileDialog1
.FileName = " "
.Filter = "Excel文件(*.xls)|*.xls "
.FilterIndex = 1
End With
Else
With SaveFileDialog1
.FileName = " "
.Filter = "Jpeg文件(*.jpg)|*.jpg "
.FilterIndex = 1
End With
End If
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.Cancel Then
strFile = ""
Else
strFile = SaveFileDialog1.FileName
End If
If strFile <> "" Then
Application.DoEvents()
If SplitContainer5.Panel1Collapsed = False Then '导出表格
If C4.Rows.Count = 0 Then
MessageBox.Show("没有记录可以导出", "没有可以导出的项目", MessageBoxButtons.OK, MessageBoxIcon.Information)
Exit Sub
End If
C4.SaveGrid(strFile, FileFormatEnum.Excel, FileFlags.SaveMergedRanges Or FileFlags.IncludeFixedCells)
Dim xlApp As Excel.Application = New Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
'Set xlApp = Excel.Application
xlApp = CreateObject("excel.application") '不能用上一句,否则excel退不干净
xlApp.Visible = False
xlBook = xlApp.Workbooks.Open(strFile)
xlSheet = xlBook.Worksheets("sheet1")
With xlSheet
.Range(.Cells(1, 1), .Cells(1, C4.Cols.Count)).Font.Name = "微软雅黑"
'设标题为黑体字
'.Range(.Cells(1, 1), .Cells(1, C1.Rows.Count + 2)).Font.Bold = True
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
关于VB.net中的验证控件
小弟正在开发一个C/S结构程序,有几个界面有较多的textbox,是关于用户数据输入的,现在想做验证,听说有验证控...
-
多表查询问题
我有三个表,一个表为基本表,一个是代码表,一个是出差表
表一 编号,姓名 ,职别
001 李三 101
...
-
DATAGRIDVIEW无法删除未提交的新行?
再DATAGRIDVIEW录入时,想删除最后自动新增的一行,提示无法删除未提交的新行
Private Sub Dat...
-
迷茫了几天,求各位高手指教一下!下面是我的代码!
<!--#include file="webconfig.asp"-->
<%
Dim SortID
SortID=Trim(FLib.SafeSql(R...
-
vb.net 断开和连接网络连接 修改代码
在vb.net中实现断开和连接网络连接的代码,我在网上找了一段代码
Option Explicit On
'首...
-
DataGridView直接导出EXCEL
如何直接读取DataGridView中的数据,并导出成Excel可以直接读取的文件
记住,我不要通过DataTable。
希...
-
求教:如何在vb.net下做一些好看的界面,整一些好看的效果,改变控件,让控件变得好看点?
有没有点例子?有没有点直接可以做控件的软件?
---...
-
在VB中,对SQL数据库进行增删改语句怎么写呢?
小弟做课程设计,遇到了一点小麻烦,卡在了这里,不知道在VB中怎么写对SQL数据库的增删改...
-
文本框中的数字精确到小数点后两位
请问如何让文本框输入数字后精确到小数点后两位,如:当输入112时,显示为112.00
------解决方案--...
-
VB.NET2008如何利用SendMessage修改按钮的Text?
为了测试 Windows API ,试图点Button用SendMessage修改该按钮的Text,竟然没成功,请教...