| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2670 人关注过本帖
标题:Failure creating file
只看楼主 加入收藏
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
结帖率:85.71%
收藏
已结贴  问题点数:100 回复次数:7 
Failure creating file
请大家帮忙看看,为何会出现 error:Failure creating file
但有些电脑又不会出现这样的错误。
程序代码:
   Dim Conn As New ADODB.Connection
    Dim Cnn As New ADODB.Connection
    Dim Rst As New ADODB.Recordset
    Dim Rs As New ADODB.Recordset
    Set Conn = New ADODB.Connection
    Set Cnn = New ADODB.Connection
    Dim StrSql As String
   
    CommonDialog1.ShowOpen
    strFileName = CommonDialog1.FileName
    CommonDialog1.Filter = "Excel File|*.xls;*xlsx;*xlsm|"
    If CommonDialog1.FileName = "" Then Exit Sub

    Set Cnn = CreateObject("adodb.connection")
    Cnn.Open "Provider=Microsoft.Ace.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & strFileName
    
    Sql = "select * from [Sheet1$A:C]"
    Rs.Open Sql, Cnn, adOpenStatic

    With Conn
        .CursorLocation = adUseClient
        .CommandTimeout = 300
    End With
    Conn.Open _
            "Provider=SQLOLEDB.1;" & _
                                   "Persist Security Info=True;" & _
                                   "User ID=TestAccount;" & _
                                   "Password=@123456;" & _
                                   "Data Source=sql05;" & _
                                   "Initial Catalog=TEST"
  
    For i = 1 To Rs.RecordCount
        StrSql = ""
        If IsNull(Rs(2)) = True Then GoTo NextItem
        StrSql = "INSERT INTO [PrepPartList] (RawPart,PrePart,Demand) VALUES ('" & Rs(0) & "','" & Rs(1) & "','" & Rs(2) & "')"
        Conn.Execute StrSql
NextItem:
        Rs.MoveNext
    Next


[此贴子已经被作者于2017-4-11 17:18编辑过]

搜索更多相关主题的帖子: file color creating 
2017-04-11 17:16
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
收藏
得分:0 
我就是想将excel的数据插入到DB中
2017-04-11 17:23
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4938
专家分:30047
注 册:2008-10-15
收藏
得分:34 
    CommonDialog1.ShowOpen                                    打开对话框
    strFileName = CommonDialog1.FileName                      取选择后的文件名
    CommonDialog1.Filter = "Excel File|*.xls;*xlsx;*xlsm|"    已取了选择后的文件名,再加上文件类型要干嘛?
    If CommonDialog1.FileName = "" Then Exit Sub              如果没选文件名,则退出,这里有问题。

修改为
    CommonDialog1.FileName =""                                '默认不选取任何文件  
    CommonDialog1.Filter = "Excel File|*.xls;*xlsx;*xlsm|"    '设定文件类型
    CommonDialog1.ShowOpen                                    '打开对话框
    strFileName = CommonDialog1.FileName                      '取选择后的文件名
    If strFileName = "" Then Exit Sub                         '如果没选文件名,则退出

这样试试吧。
我测试你前面的代码,这个错误出现的条件:
1、第一次运行这段代码,然后选择某一个文件。不要退出程序
2、删掉选择了这个文件。
3、继续选择文件,但这次直接取消。
程序就报这个错误。

---------------
下次问问题时,能不能把出问题的行次和相关变量值一并说出来不,很多时候静态分析无法判断问题所在。

授人于鱼,不如授人于渔
早已停用QQ了
2017-04-11 17:40
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:34 
以下是引用风吹过b在2017-4-11 17:40:10的发言:

    CommonDialog1.ShowOpen                                    打开对话框
    strFileName = CommonDialog1.FileName                      取选择后的文件名
    CommonDialog1.Filter = "Excel File|*.xls;*xlsx;*xlsm|"    已取了选择后的文件名,再加上文件类型要干嘛?
    If CommonDialog1.FileName = "" Then Exit Sub              如果没选文件名,则退出,这里有问题。

修改为
    CommonDialog1.FileName =""                                '默认不选取任何文件  
    CommonDialog1.Filter = "Excel File|*.xls;*xlsx;*xlsm|"    '设定文件类型
    CommonDialog1.ShowOpen                                    '打开对话框
    strFileName = CommonDialog1.FileName                      '取选择后的文件名
    If strFileName = "" Then Exit Sub                         '如果没选文件名,则退出

这样试试吧。
我测试你前面的代码,这个错误出现的条件:
1、第一次运行这段代码,然后选择某一个文件。不要退出程序
2、删掉选择了这个文件。
3、继续选择文件,但这次直接取消。
程序就报这个错误。

---------------下次问问题时,能不能把出问题的行次和相关变量值一并说出来不,很多时候静态分析无法判断问题所在。

无实际判断,目测后面写入时出错。风版说得对,Lz可不可以如风版说出问题所在

无知
2017-04-12 00:10
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
收藏
得分:0 
回复 3楼 风吹过b
谢谢版主,对于下面读取Excel插入Server有没有更得办法?我在自己的电脑测试和执行EXE没有任何错误提示,但在少数电脑中会出现 Failure creating file 错误,我怀疑是ADO问题,但不知道怎么解决,因为在出错的电脑上我没法测试代码

[此贴子已经被作者于2017-4-12 11:52编辑过]

2017-04-12 11:47
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
收藏
得分:0 
回复 4楼 Artless
谢谢帮忙
2017-04-12 11:48
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:34 
   Cnn.Open "Provider=Microsoft.Ace.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & strFileName   这个语句是安装Excel2007以上版本的语句,没有安装2007以上版本的就会出错,出现“Failure creating file”错误。
估计你的问题可能就在这里,另外,定义变量或对象使用 New 关键字,就不需要再用 Set 语句重复声明,CommonDialog1 控件的顺序好像有的不对,Filter 应该在 ShowOpen 之前。
   Dim Conn As New ADODB.Connection
    Dim Cnn As New ADODB.Connection
    Dim Rst As New ADODB.Recordset
    Dim Rs As New ADODB.Recordset
    Dim StrSql As String
    Dim strFileName As String   '这个变量必须定义
    CommonDialog1.Filter = "Excel File|*.xls;*xlsx;*xlsm|"
    CommonDialog1.ShowOpen
    If CommonDialog1.FileName = "" Then Exit Sub
    strFileName = CommonDialog1.FileName

请不要选我!!!
2017-04-12 13:48
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:0 
以下是引用yuk_yu在2017-4-12 11:47:46的发言:

谢谢版主,对于下面读取Excel插入Server有没有更得办法?我在自己的电脑测试和执行EXE没有任何错误提示,但在少数电脑中会出现 Failure creating file 错误,我怀疑是ADO问题,但不知道怎么解决,因为在出错的电脑上我没法测试代码

打安装包

无知
2017-04-14 00:09
快速回复:Failure creating file
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020175 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved