Office中国论坛/Access中国论坛

标题: [求助]请高手看看 关于导入EXCEL [打印本页]

作者: chul72    时间: 2005-3-18 05:08
标题: [求助]请高手看看 关于导入EXCEL
在导入EXCEL时(追加记录),遇到源EXCEL表格字段与目标表结构不同时也会导入的情况,这样会造成数据不完整,如何判断EXCEL表的结构与目标表结构相同?如不相同作不导入处理.

另:在导入时我用

Private Sub cmd_Import_Click()

    On Error GoTo cmd_Import_err

        Dim rs As Object

        Set rs = Me.Recordset.Clone

        

        '设置CancelError为 True 时,无论何时选取“取消”按钮,均产生 32755 (cdlCancel) 号错误

        CommonDialog6.CancelError = True

        MsgBox "导入数据时只可使用与程序导出的电子表格结构相同的文件。" & Chr(13) & Chr(13) & Chr(13) & "注意! 目标表中已存在的记录将不被导入。", vbInformation, "Information"

        CommonDialog6.DialogTitle = "导入数据"

        '显示“另存为”对话框

        CommonDialog6.ShowOpen

        '导入数据到'表_对帐单'表中<追加>

        Dim FileName As String

        FileName = CommonDialog6.FileName

        DoCmd.SetWarnings False

        DoCmd.TransferSpreadsheet acImport, 8, "表_对帐单", FileName, True, ""

        DoCmd.SetWarnings True

        Me.Recordset.Requery

        cbo_条形码输入.Requery

        If rs.RecordCount = 0 Then

            cmd_Del.Enabled = False

            cmd_编辑.Enabled = False

            cmd_Export.Enabled = False

            cmd_addtoreport.Enabled = False

        Else

            cmd_Del.Enabled = True

            cmd_编辑.Enabled = True

            cmd_Export.Enabled = True

            cmd_addtoreport.Enabled = True

        End If

        If Chk_手工输入条形码.Value = True Then

            cbo_条形码输入.SetFocus

        Else

            txt_条形码扫入.SetFocus

        End If

        MsgBox "数据成功导入!", vbInformation, "导入"

cmd_Import_err:

    If err.Number = 32755 Then

        If Chk_手工输入条形码.Value = True Then

            cbo_条形码输入.SetFocus

        Else

            txt_条形码扫入.SetFocus

        End If

    ElseIf err.Number = 2391 Then

        'MsgBox err.Number

        MsgBox "在导入数据时发生错误,错误原因可能是:导入电子表格的数据格式与要求不符.", vbCritical, "导入数据错误!"

        Exit Sub   

    End If

End Sub

但我无法判断导入是否真的成功或在重复导入一个表时,这段代码也会提示导入成功,

我想在导入前先得到记录集的总数,在导入后在与之比较,来判断是否有数据导入,但比较麻烦,有其它更好的方法吗?

[此贴子已经被作者于2005-3-17 21:39:00编辑过]


作者: 方漠    时间: 2005-3-19 05:16
"我想在导入前先得到记录集的总数,在导入后在与之比较,来判断是否有数据导入,但比较麻烦,有其它更好的方法吗?"不麻烦呀,在导入前OPEN一个RecordSet,将其RecordCount保存到一个变量里,导入后(无论是否成功)再将此变量与当前的RecordCount相比即可。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3