MS Access 2003/2007 VBA - Как я могу взять поле даты из набора записей и записать в формате dd-MMM-yyyy? - PullRequest
3 голосов
/ 24 июня 2010

У меня есть некоторый VB, который использует DAO для получения некоторых данных, одно поле является полем даты (как в дате транзакции).это не дата / время, просто дата, как дд / мм / гггг.

, поэтому в форме доступа я знаю, как это сделать, но сейчас я работаю над некоторой автоматизацией Excel / PPT.я использую что-то вроде этого простого примера строки DAO sql, openrecordset, чтобы получить данные.

Итак, допустим, что данные, о которых идет речь, просто rs! Date.

Я переместил их в powerpoint следующим образом:

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

     oTextRange.Text = rs!Date

сейчас я пропускаю все виды вещей, но это та часть, которая переносит эту дату, которая у меня уже есть в наборе записей, на пресс ppt просто отлично, только в этом формате

dd/mm/yyyy

и мне бы очень хотелось узнать, как просто получить эту

"dd-MMM-yyyy"

в качестве желаемой выходной строки.

спасибо Джастин

Ответы [ 3 ]

3 голосов
/ 24 июня 2010

Может быть:

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

Я заключил имя поля в квадратные скобки, потому что Date - зарезервированное слово.Но я не думаю, что это должно иметь значение в этом случае.Тем не менее, старайтесь избегать зарезервированных слов для вашего поля, таблицы и других имен объектов.

1 голос
/ 24 июня 2010

Хорошо, так что это первый раз, когда я отвечаю на свой вопрос, поэтому, если я не собираюсь этого делать ... извинения.

Я полагаю, я покажу то, что я сделал, в случае кого-либо ещехочет знать

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

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

и все.мне было достаточно легко разобраться в себе.

РЕДАКТИРОВАТЬ: Упс ... извините, у меня не было других ответов, когда я это опубликовал!

1 голос
/ 24 июня 2010

Используйте функцию Format.

Попробуйте это в окне отладки Msgbox Format (Now(), "dd-MMM'YYYY").

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

...