在VB模块中从Access窗体引用文本框输入

时间:2016-03-17 13:26:46

标签: vba ms-access access-vba

我目前正致力于访问创建数据库,该数据库将每月向我指定了一封电子邮件的所有人发送与他们相关的文件,并尝试引用用户将输入的文本框条目来自访问模块中的Access表单的日期。更具体地说,我试图从文本框中抓取文本并将其放入我尝试将每个文件保存到的文件路径中。

以下是我的代码中没有使用的示例,而不是喋喋不休:

    Dim timestamp as String
    Dim territory as String
    DoCmd.OpenForm "Sales Email"
    Forms![Sales Email]![FromDate].SetFocus

    territory = rs.fields(1)
    timestamp = Forms![Sales Email]![FromDate].Text

    DoCmd.OutputTo acOutputQuery, "TheNewQueryDef", acFormatXLS, "\\cletus\data\accounting\KRISTEN\Monthly Sales for " & territory & " " & timestamp & ".xls", False

具体来说,它告诉我:"运行时错误' 2302':Microsoft Office Access无法将输出数据保存到您选择的文件中"

附注:在我开始添加timestamp变量(我试图将表单文本框中输入的日期引用)添加到文件路径之前,它完全适用于我需要它。

任何输入都将非常感谢!对不起,如果我不清楚 - 在代码方面,我仍然是一个初学者。如果需要进一步澄清,请说明。

1 个答案:

答案 0 :(得分:2)

很可能您的timestamp字符串包含Windows文件名中非法的字符,
例如/:

如果是时间日期,请尝试以下方式:

timestamp = Format(Forms![Sales Email]![FromDate].Value, "yyyy-mm-dd hh-nn-ss")

这也有助于更好的分类。

注意:使用.Value代替.Text,您不需要此行:

Forms![Sales Email]![FromDate].SetFocus