我应该使用什么控件将长消息打印到访问VBA 2007中的窗口

时间:2016-05-20 20:13:39

标签: vba ms-access access-vba ms-access-2007

我正在写入访问2007(VBA)中的测试代码,该代码将测试数据并报告任何记录是否有问题。 它可以通过使用外部数据检查数据来实现,因此我没有使用任何访问报告工具。

这是一个内部工具,仅供我使用,因此用户界面并不重要。

我正在做的是编写一个读取记录集和外部数据的VBA代码并检查记录集。

我可以这样做,但我需要一种在UI上打印的方法。像这样的东西:

  

记录号码10无效:原因XXXX

     

记录15无效:原因YYYY

我在考虑使用多行文本框在屏幕上输出,但我有几个问题:

  1. 我找不到任何方法将文本框设为多行文本框。没有多行属性我可以输出换行符。
  2. 如果记录集的大小很大并且存在很多错误,我会收到大小为pro text proprty的错误。
  3. 我应该使用什么控制?我在考虑使用标签控件,但我不确定它是否可行。

2 个答案:

答案 0 :(得分:0)

VBA中的UserForm控件具有MultiLine属性,您可以将其设置为True

另一个属性是EnterKeyBehavior,需要设置为True以允许换行。

或者是,您可以使用Label控件来实现相同的功能,如果您愿意,甚至可以将其格式化为TextBox。

但是如果长串数据,我会考虑将其直接输出到OpenFor OutputFor Append的文件。

答案 1 :(得分:0)

最简单的方法是使用Debug.Print(输出转到立即窗口 - > Ctrl + g)。

足够大的Access文本框始终具有多行功能,没有特殊属性。只需将vbCrLf附加到每一行即可创建换行符。

Me.txtLog = Me.txtLog & strError & vbCrLf

但是对于非常长的文本输出,日志文件是最佳选择。

编写文本文件:使用FileSystemObject或旧式Open语句。