Office中国论坛/Access中国论坛

标题: 请教:是不是在ACCESS中条件句不能套在循环句外???如何解决! [打印本页]

作者: 我要飞    时间: 2002-7-3 03:16
标题: 请教:是不是在ACCESS中条件句不能套在循环句外???如何解决!

_click()
if me.a=true then
for b=1 to c
...
next b
else:
for d= 1 to e
...
next d
end if

此句不运行!,请帮忙看一看问题在哪里?
作者: cattjiu    时间: 2002-7-3 17:59
可以啊,是不是else后面的:要去掉?
作者: 我要飞    时间: 2002-7-3 18:39
“:”去掉也不行???
作者: cattjiu    时间: 2002-7-3 19:07
把完整程序贴上来。。。。
作者: 我要飞    时间: 2002-7-3 21:56
无论是否在else后加“:”,此块都不运行???
Private Sub Form_Load()
DoCmd.SetWarnings off
Dim y, cnt As Integer
Dim a, b, diry As String
cnt = 0
diry = Dir("c:\my documents\ali\b*.xls", vbArchive)
Do Until Len(diry) = 0
  diry = Dir
  cnt = cnt + 1
Loop
Me.filescnt.Caption = "目录中有 " & cnt & " 个化妆品原料文件可供导入。"
Me.class.Caption = "不匹配列表"
End Sub



Private Sub prin_Click()
If Me.chk1.Value = False Then
If Me.class.Caption = "不匹配列表" Then
DoCmd.OpenReport "ab1", acViewNormal
Else:
DoCmd.OpenReport "proh", acViewNormal
End If
Else:
[I][B] For y = 1 To cnt
a = " b" & y & "不匹配表"
b = "c:\my documents\ali\b" & y & ".xls"
MsgBox Chr(13) & "   准备打印 " & a & Space(3), vbOKOnly, "打印"
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "b", b, True
DoCmd.RunMacro "td"
Next y[/B][/I]
End If

End Sub



[此贴子已经被作者于2002-7-3 13:56:06编辑过]


作者: cattjiu    时间: 2002-7-3 22:14
变量cnt:
1. Public 语句
      

在模块级别中使用,用于声明公用变量和分配存储空间。

语法

Public [WithEvents] varname[([subscripts])] [As [New] type] [,[WithEvents] varname[([subscripts])] [As [New] type]] .
2. Dim 语句

说明

在模块级别中用 Dim 声明的变量,对该模块中的所有过程都是可用的。在过程级别中声明的变量,只在过程内是可用的。


作者: 我要飞    时间: 2002-7-3 22:30
你是说要把“cnt”设为全局变量吗?
还不行!,真是邪门儿了???
作者: cattjiu    时间: 2002-7-3 22:38
加入测试结果如下,看是否条件错误还是变量问题.
1.Dim y, cnt As Integer'在这里申明
Private Sub Form_Load()
2.
...
Else
msgbox cnt'测试cnt变量的值
For y = 1 To cnt





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