传递给MsgBox只有一些变量

时间:2014-10-21 16:11:09

标签: vba ms-access access-vba

我有一个简单的访问模块,用于检查指定文件夹上是否已存在某个文件,如果该文件不存在,则将其归属于该文件。到现在为止还挺好。我想知道如果MessageBox上只能传递丢失的文件名。

例如:

If Len(FilePath & FileName) = 0 Then
  FileName = 1
Else
  FileName = 0
If Len(FilePath & FileName2) = 0 Then
  FileName2 = 1
Else
  FileName2 = 0
If Len(FilePath & FileName3) = 0 Then
  FileName3 = 1
Else
  FileName3 = 0
End If
End If
End If

MsgBox "The Following files are missing:" & vbNewLine....

这就是我被困住的地方。我希望在上面的短语之后只传递分配了1的FileNames,就像在SQL中我们应用了“Where Like 1”子句一样。

感谢您的帮助, 维克托•

1 个答案:

答案 0 :(得分:0)

当您的MsgBox代码出现时,您的" FileName"变量值已丢失并设置为1或0,因此您不能在该时间点,即哪些文件是" 1",即使您此时再次测试它们。 / p>

相反,您可以在listOfFiles语句中添加一个新变量,我们称之为if,如:

If Len(FilePath & FileName) = 0 Then
    FileName = 1
    listOfFiles = listOfFiles & vbCRLF & FileName
Else
    FileName = 0
    If Len(FilePath & FileName2) = 0 Then
        FileName2 = 1
        listOfFiles = listOfFiles & vbCRLF & FileName2
    Else
        FileName2 = 0
        If Len(FilePath & FileName3) = 0 Then
          FileName3 = 1
          listOfFiles = listOfFiles & vbCRLF & FileName3
        Else
          FileName3 = 0
        End If
    End If
End If

MsgBox "The Following files are missing:" & listOfFiles