MS Access 2003/2007 VBA - Как я могу принять дату поле из записи и строки формата DD-MMM-YYYY?
-
29-09-2019 - |
Вопрос
У меня есть VB, который использует DAO, чтобы схватить некоторые данные, одно поле, являющееся полем даты (как в дату транзакции). Это не дата / время, просто просто дата, как DD / MM / YYYY.
Так что в форме доступа я знаю, как это сделать, но сейчас я работаю над автоматией Excel / PPT. Я использую что-то вроде этого простого примера DAO SQL String, OpenRecordset, чтобы получить данные.
Итак, давайте скажем, что данные о вопросе просто RS! Дата.
Я перемещаю его в PowerPoint, так как:
Set oShape = oSlide.Shapes("S1_Date")
Set oTextRange = oShape.textFrame.TextRange
oTextRange.Text = rs!Date
Теперь я уезжаю на все виды вещей, но это часть, которая передает эту дату, что у меня уже есть в записей, на PPT PPT просто отлично, только в этом формате
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-ha001228839.aspx.
Хорошо, так это первый раз, когда я когда-либо отвечаю на свой вопрос, поэтому, если я не должен делать это .... Извинения.
Я полагаю, что я бы показать, что я делал, кто-то еще хочет знать
Set oShape = oSlide.Shapes("S1_Date")
Set oTextRange = oShape.TextFrame.TextRange
oTextRange.Text = Format(rs!Date, "dd-MMM-yyyy")
И это было. Мне было достаточно легко, чтобы понять себя.
Редактировать: Ой .... Извините не было других ответов, когда я разместил это!