【问题标题】:MS Access 2003/2007 VBA - How can I take a date field from a recordset and string the dd-MMM-yyyy format?MS Access 2003/2007 VBA - 如何从记录集中获取日期字段并字符串 dd-MMM-yyyy 格式?
【发布时间】:2011-03-07 22:31:27
【问题描述】:

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

我知道如何在访问表单上执行此操作,但现在我正在处理一些 excel/ppt 自动化。我使用类似这个简单的示例 DAO sql 字符串,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"

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

谢谢 贾斯汀

【问题讨论】:

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


    【解决方案1】:

    使用Format 函数。

    在调试窗口中试试这个Msgbox Format (Now(), "dd-MMM'YYYY")

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

    【讨论】:

      【解决方案2】:

      也许:

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

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

      【讨论】:

        【解决方案3】:

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

        我想我会展示我所做的,以防其他人想知道

        Set oShape = oSlide.Shapes("S1_Date")
        Set oTextRange = oShape.TextFrame.TextRange
        
             oTextRange.Text = Format(rs!Date, "dd-MMM-yyyy")
        

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

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

        【讨论】:

        • AFAIK,回答您自己的问题是完全合法的。如果您发布问题的明显意图是立即回答问题以夸大您的总分,人们可能会抱怨。显然情况并非如此。
        猜你喜欢
        • 1970-01-01
        • 2018-04-30
        • 1970-01-01
        • 1970-01-01
        • 2021-10-06
        • 1970-01-01
        • 2017-09-05
        • 1970-01-01
        • 2020-04-06
        相关资源
        最近更新 更多