当前位置:编程学习 > VB >>

accsee 2000 vba 数据导入excel 提示错误 字段溢出

直接发代码

Function FSN050(FileName As String, SYSKBN As Integer) As Integer

    Dim VBFileDialog        As struct_VBFileDialog
    Dim iOpenFileDialog     As Integer
    Dim sFilter             As String
    Dim iParentWnd          As Long

    iOpenFileDialog = False

    sFilter = "Excel 5.0ブック (*.XLS)|*.XLS|すべてのファイル(*.*)|*.*||"

    iParentWnd = Screen.ActiveForm.hWnd

    Call VBFileDialogVBFileDialog(VBFileDialog, iOpenFileDialog, sFilter, iParentWnd) 
    ’ 运行到这步跳转

   Sub VBFileDialogVBFileDialog(VBFileDialog As struct_VBFileDialog, iOpenFileDialog As Integer, sFilter As   String, iParentWnd As Long)

    
    Dim ofn As struct_OPENFILENAME
    
    If iOpenFileDialog = True Then
        VBFileDialog.iOpenFileDialog = True
    Else
        VBFileDialog.iOpenFileDialog = False
    End If
    
    VBFileDialog.m_ofn = ofn
    

    VBFileDialog.m_ofn.lStructSize = Len(VBFileDialog.m_ofn)
    
  
    VBFileDialog.m_ofn.hWndOwner = iParentWnd   ’运行到这跳转   

fput_exceldata_err:
    MsgBox Error$   ’到这 提示字段溢出
On Error GoTo 0
    DoCmd.Hourglass False
    fput_exceldata = False
Exit Function


VBFileDialog.m_ofn   ofn 这俩值查的时候 是类型不一致
VBFileDialog.m_ofn.lStructSize=0       Len(VBFileDialog.m_ofn) =  72    
iParentWnd = 8388892     VBFileDialog.m_ofn.hWndOwner = 0 

求高手解答,急急急
  
     --------------------编程问答-------------------- 列出几个疑点,仅供参考:
1、变量ofn声明之后,没有给它赋值,怎么又把它赋给VBFileDialog.m_ofn了呢?个人觉得这个赋值语句没必要。
2、fput_exceldata_err:部分应该是程序发生异常时的处理代码,按现在的代码来看,就算程序正常执行,
   也会执行到这段代码,正确的方法应该在这段代码前面加上【exit sub】吧。
3、sub的最初部分是不是少了【on error goto fput_exceldata_err】的代码呢?
4、VBFileDialog.m_ofn ofn 这俩值查的时候 是类型不一致
   答:看看这两个变量的定义是不是都是:struct_OPENFILENAME
补充:VB ,  VBA
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,