Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 27.08.2008, 16:38   #1
eda
Пользователь
 
Регистрация: 14.08.2008
Сообщений: 78
По умолчанию Format()

Помогите, пожалуйста! у меня даты вводятся в формате: dd.mm.yyyy. Мне нужно из записать в Mysql в формате yyyy-mm-dd. Проблема в том, что:
date_t = 27.08.2008
date_t = format(date_t, "yyyy-mm-dd")
и теперь date_t = 27.08.2008. Как можно это исправить?
eda вне форума
Старый 27.08.2008, 20:32   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Код:
date_t = "27.08.2008"
date_t = Format(date_t, "yyyy-mm-dd")
на выходе получим date_t = 2008-08-27
или я что-то не понял?
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума
Старый 27.08.2008, 21:40   #3
дмидми
Форумчанин
 
Аватар для дмидми
 
Регистрация: 06.03.2008
Сообщений: 352
Плохо Да что же это у вас с типами данных такая каша...

eda, где описание типа данных для переменной date_t?
Это переменная типа date, или типа string, "или где?"
Заодно уж раскройте страшную тайну: что именно Вы хотите исправить?

VictorM, в VBA константы типа date берутся не в кавычки, а в совсем другие символы (здесь уместно #08/27/2008#). Для преобразования в тип date из типа string всеми нежно любимый Билл Гейтс предусмотел функцию CDate.
дмидми вне форума
Старый 28.08.2008, 10:12   #4
eda
Пользователь
 
Регистрация: 14.08.2008
Сообщений: 78
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
Код:
date_t = "27.08.2008"
date_t = Format(date_t, "yyyy-mm-dd")
на выходе получим date_t = 2008-08-27
или я что-то не понял?
в том и проблема, что я получаю дату в том же формате, ничего не изменяется.
eda вне форума
Старый 28.08.2008, 10:13   #5
eda
Пользователь
 
Регистрация: 14.08.2008
Сообщений: 78
По умолчанию

Цитата:
Сообщение от дмидми Посмотреть сообщение
eda, где описание типа данных для переменной date_t?
Это переменная типа date, или типа string, "или где?"
Заодно уж раскройте страшную тайну: что именно Вы хотите исправить?
date_t типа Date.
eda вне форума
Старый 28.08.2008, 10:37   #6
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Код:
Sub дата_Date() 'так не получается
Dim date_t As Date
date_t = #8/27/2008#
date_t = Format(date_t, "yyyy-mm-dd")
MsgBox date_t
End Sub

Sub дата_String() 'а это работает
Dim date_t As String
date_t = "27.08.2008"
date_t = Format(date_t, "yyyy-mm-dd")
MsgBox date_t
End Sub
можно было бы написать так, если исходный тип даты - Date
Код:
Sub дата_Date() 
Dim date_t As Date
date_t = #8/27/2008#
date_tt = Year(date_t) & " - " & Month(date_t) & " - " & Day(date_t)
MsgBox date_tt
End Sub
но date_tt все равно будет String, а если сделать
date_tt = CDate(date_tt) то дата опять примет 27.08.2008
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 28.08.2008 в 11:19.
VictorM вне форума
Старый 28.08.2008, 11:21   #7
eda
Пользователь
 
Регистрация: 14.08.2008
Сообщений: 78
По умолчанию

VictorM, спасибо большое! но вот можно я еще озадачу? в MySQL, к примеру, дата 2008-08-11 записывается как 2011-08-20. Как это можно исправить?
eda вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка 'No argument for format "%s"'?? Lencom Общие вопросы Delphi 2 25.06.2008 13:16
Microsoft Tape Format svennick Свободное общение 0 20.05.2008 21:33
Format malevich Общие вопросы Delphi 5 31.12.2006 00:37