MS Access 2003/2007 VBA - 如何从记录集中获取日期字段并将dd-MMM-yyyy格式化为字符串?

时间:2010-06-24 17:18:10

标签: ms-access vba automation powerpoint office-automation

我有一些VB使用DAO来获取一些数据,一个字段是日期字段(如交易日期)。它不是日期/时间,只是简单的日期,如dd / mm / yyyy。

所以在访问表单上我知道如何做到这一点,但是现在我正在开发一些excel / ppt自动化。我用这个简单的例子DAO sql string,openrecordset来获取数据。

所以,让我们说有问题的数据只是rs!Date。

我将它移动到powerpoint:

Set oShape = oSlide.Shapes("S1_Date")
Set oTextRange = oShape.textFrame.TextRange

     oTextRange.Text = rs!Date

现在我遗漏了各种各样的东西,但这是将我在记录集中已经拥有的日期转移到ppt pres上的部分就好了,只有这种格式

dd/mm/yyyy

我真的只想知道如何简单地获得这个

"dd-MMM-yyyy"

作为我想要的输出字符串。

感谢 贾斯汀

3 个答案:

答案 0 :(得分:3)

也许:

oTextRange.Text = Format(rs![Date], "dd-MMM-yyyy")

我将字段名称括在方括号中,因为Date是一个保留字。但我认为在这种情况下不应该有任何区别。不过,请尽量避免使用字段,表格和其他对象名称的保留字。

答案 1 :(得分:1)

使用Format功能。

在调试窗口Msgbox Format (Now(), "dd-MMM'YYYY")中尝试此操作。

http://office.microsoft.com/en-ca/access-help/format-function-HA001228839.aspx

答案 2 :(得分:1)

好的,这是我第一次回答自己的问题,所以如果我不应该这样做......道歉。

我想我会展示我做过的事情,其他任何人都想知道

Set oShape = oSlide.Shapes("S1_Date")
Set oTextRange = oShape.TextFrame.TextRange

     oTextRange.Text = Format(rs!Date, "dd-MMM-yyyy")

就是这样。我很容易弄清楚自己。

编辑:哎呀....抱歉,当我发布这个时,没有其他答案!