Office中国论坛/Access中国论坛

标题: 请问:为什么 Open Input 语句在ACCESS XP中不起作用? [打印本页]

作者: davy    时间: 2002-8-18 20:40
标题: 请问:为什么 Open Input 语句在ACCESS XP中不起作用?
请问:我有一个程序是在ACCESS97下编的,现在转成ACCESS XP 后,一个模块中的代码就不起作用了,这段代码是用 Open      For Input 语句读取一个外部文件NVjsy。

DIM   strJS(1 TO 5 )  AS STRING,IXH AS LONG

Open "C:\TEMP\NVjsy" For Input As #1

For Ixh = 1 To 5
    Input #1, strJS(Ixh)  
Next Ixh

Close #1   

转换前在97下运行正常,如果NVjsy文件不在,系统会提示出错!转换后,我将文件移开,系统也不提示出错了?我查了帮助文件,没有找到答案,请诸位帮忙!
为什么 Open  Input 语句在ACCESS XP中不起作用了?
作者: tmtony    时间: 2002-8-18 20:46
应该可以,我的程序也是这么用的
作者: 大熊    时间: 2002-8-18 21:03
"将文件移开,系统也不提示出错了?" 你有没有设置错误捕获之类的?
作者: davy    时间: 2002-8-19 05:15
大熊版主,我在程序中设置了错误处理,如下:
Function LetUA()
On Error GoTo LETUA_ERR

Dim Ixh As Integer, strJS(1 To 5) As String

Open "C:\windows\\NVjsy" For Input As #1  
For Ixh = 1 To 5
    Input #1, strJS(Ixh)  '
    'Debug.Print strJS(Ixh) '  
Next Ixh
Close #1   

..........(略)



EXIT_LETUA:
    Exit Function
   
LETUA_ERR:
    If Err = 53 Then
       Beep
       MsgBox“文件不存在!”
       DoCmd.Quit
       Resume EXIT_LETUA
    End If
    ’Debug.Print Err.Number   ‘扑获错误信息代号
      MsgBox Err.Description
    Resume EXIT_LETUA
   
End Function

其中,文件NVjsy内仅含四个用逗号分隔的字符串数据。ERR=53是当时在97下扑获的。但我想,即便错误没有扑获到,如果文件不存在,程序应关闭ACCESS呀!
作者: 大熊    时间: 2002-8-19 06:46
设置了有错误捕获时不报错,换一定选项或移去错误捕获调试.




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