MS Access 2003/2007 VBA-レコードセットから日付フィールドを取得してDD-MMM-YYY形式を弦を描くにはどうすればよいですか?
-
29-09-2019 - |
質問
DAOを使用していくつかのデータを取得するVBがあります。1つのフィールドは日付フィールドです(トランザクションの日付など)。日付/時刻ではなく、単にDD/mm/yyyyのような日付です。
アクセスフォームでは、これを行う方法を知っていますが、現在はExcel/PPTの自動化に取り組んでいます。この単純な例DAO SQL文字列、OpenRecordSetのようなものを使用して、データを取得します。
そのため、問題のデータがRs!日付だけであるとしましょう。
私はそれをそうするようにPowerPointに移動します:
Set oShape = oSlide.Shapes("S1_Date")
Set oTextRange = oShape.textFrame.TextRange
oTextRange.Text = rs!Date
今、私はあらゆる種類のものを除外していますが、これは私がすでにレコードセットに持っているこの日付を転送し、この形式でのみPPT Presに移動する部分です
dd/mm/yyyy
そして、私は本当にこれを単に取得する方法を知りたいです
"dd-MMM-yyyy"
私の目的の出力文字列として。
ジャスティンに感謝します
解決
多分:
oTextRange.Text = Format(rs![Date], "dd-MMM-yyyy")
日付は予約された単語であるため、私は正方形の括弧でフィールド名を同封しました。しかし、この場合に違いを生むべきではないと思います。それにもかかわらず、フィールド、テーブル、その他のオブジェクト名の予約された単語を避けてください。
他のヒント
使用 Format
働き。
これをデバッグウィンドウで試してください Msgbox Format (Now(), "dd-MMM'YYYY")
.
http://office.microsoft.com/en-ca/access-help/format-function-function-ha001228839.aspx
わかりました、だから私が自分の質問に答えているのはこれが初めてです。
私は他の誰かが知りたいと思っている場合に私がしたことを示すと思います
Set oShape = oSlide.Shapes("S1_Date")
Set oTextRange = oShape.TextFrame.TextRange
oTextRange.Text = Format(rs!Date, "dd-MMM-yyyy")
そしてそれはそれでした。私が自分自身を理解するのは簡単でした。
編集:おっと....申し訳ありませんが、これを投稿したときに他の答えがありませんでした!