powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Select выборка по дате
14 сообщений из 14, страница 1 из 1
Select выборка по дате
    #36432833
valgruel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Основная текущая задача: нужно выполнить запрос по периоду даты (датаН), ДатаК

в БД дата хранится как dd/mm/yyyy, а мне нужен период без года, т.е. только dd/mm

в Access с помощью конструктора такой запрос получился и работает - т.е. при выборке выводит дату как dd/mm
автор ACCESS
SELECT sob.sobitie, Format$(CDate(Str([sob].[Data])),"dd\/mm") AS DatаBG
FROM sob;


а вот когда я его переношу в VB
автор
VB
st="SELECT sob.sobitie, Format$(CDate(Str([sob].[Data]))," dd\/mm ") AS DatаBG
FROM sob;"
Data1.RecordSource = st

не проходит синтаксис "dd\/mm" и DatаBG

Подскажите, как исправить?
...
Рейтинг: 0 / 0
Select выборка по дате
    #36432880
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Синтаксис должен быть таким

Код: plaintext
st="SELECT sob.sobitie, [sob].[Data] AS DatаBG FROM sob;"

А форматируйте полученную дату уже на стороне VB
...
Рейтинг: 0 / 0
Select выборка по дате
    #36433009
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, а какого типа поле у вас в БД?
Этот наворот совершенно непонятен
Format$(CDate(Str([sob].[Data])),"dd\/mm")
...
Рейтинг: 0 / 0
Select выборка по дате
    #36434720
valgruel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Добрый вечер!
Поле [Sob].[ Data ] имеет тип Дата/Время
Про "новорот Format$(CDate(txt_DataN),"mm\/dd\/yyyy")" - помнится, кто-то мне же его и советовал ...http://www.sql.ru/forum/actualthread.aspx?tid=729543 от 25 янв 10, 01:05 ...
И Очень хорошо работает, и в ACCESS'е тоже

Но мне бы хотелось, что бы сама выборка из БД уже шла в формате dd.mm (без года), так как записи отображаются в объекте MSFlexGrid, и пользователь их видит, а должен видеть уже без года

И еще меня смущает DatаBG - это имя выражения в конструкторе запросов ACCESS. VB же его "не знает", объявить как переменную - тоже ошибка...
...
Рейтинг: 0 / 0
Select выборка по дате
    #36434750
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не надо тут грязных намеков, я вам советовал, как отформатировать дату на стороне VB (и это был код для VB) таким образом, чтобы его понимал Access при выборке . При этом исходные данные у вас были текстового типа

Неужели, прежде чем применять предложенный вам код, вам не хочется в нем разобраться?

Здесь же вы пытаетесь заставить JET выполнить эти команды. Или вы ДЕЙСТВИТЕЛЬНО не понимаете, что то, что находится в кавычках, будет выполняться движком базы данных и не имеет к VB никакого отношения (для VB это всего лишь выражение)? Ну вы хотя бы разберитесь с помощью ЛЮБОГО учебника по программированию в базовых понятиях: Выражение, Переменная, Имя переменной, Значение переменной, Функция. Иначе как вы сможете вообще понять, о чем речь.

--------------------
По делу.
Если у вас тип данных в БД Дата/Время, то тут:
авторв БД дата хранится как dd/mm/yyyy
у вас пробел в понимании, ибо в базе данных дата хранится в виде восьмибайтового ЧИСЛА, в котором целая часть - это количество дней, прошедших от определенной даты, а дробная часть - время в виде соответствующей части суток (например ,5 - это полдень). Это важно для дальнейшего понимания того, что говорить о том, что в БД дата в виде dd/mm/yyyy - некорректно. В этом виде дату вам кто-то всего лишь ОТОБРАЖАЕТ, при этом формат отображения часто зависит от региональных настроек в панели управления.

Дальнейший ответ на ваш вопрос зависит от способа, каким вы пользуетесь для того, чтобы отображать данные в FlexGrid. Если вручную перебрасываете - одно, если используете связанный источник данных - другое.
...
Рейтинг: 0 / 0
Select выборка по дате
    #36434791
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
valgruelИ еще меня смущает DatаBG - это имя выражения в конструкторе запросов ACCESS. VB же его "не знает", объявить как переменную - тоже ошибка...

DatаBG - это имя поля в выборке на стороне Аксесса
в VB оно попадет как имя поля в наборе записей (Recordset)
Присвоить ЗНАЧЕНИЕ этого поля можно ЛЮБОЙ объявленной в VB переменной подходящего типа.
...
Рейтинг: 0 / 0
Select выборка по дате
    #36434795
valgruel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
намек как раз, наоборт, был дружеский и душевный, и еще раз спасибо - все заработало.
и спасиибо всем откликающимся, иногда ведь просто и реплика помогает...
...
Рейтинг: 0 / 0
Select выборка по дате
    #36434817
valgruel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

авторв БД дата хранится как dd/mm/yyyy
Это всего лишь имелось ввиду, что данное поле в таблице Access имеет тип дата/время

автор каким вы пользуетесь для того, чтобы отображать данные в FlexGrid. Если вручную перебрасываете - одно, если используете связанный источник данных - другое.

Есть объект Data
авторData1.DatabaseName = SelectFile

Data1.RecordSource = "SELECT ..."
Data1.Refresh

C ним связан MSFlexGrid способом установки свойства Source по умолчанию в Data1

по Data1.Refresh в MSFlexGrid выводятся данные из полей таблицы взависимости от отобранных Select'ом
Одно из полей таблицы sob - поле Data, и при
авторSELECT sob.sobitie, [sob].[Data] AS DatаBG FROM sob;"
оно в MSFlexGrid будет таким же как в таблице sob (с годом), и пользователь это будет видеть, а не должен...
...
Рейтинг: 0 / 0
Select выборка по дате
    #36434847
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно.
Я уже не очень помню, какие возможности по форматированию представляет JET, попробуйте Format без $:

Код: plaintext
st="SELECT sob.sobitie, Format([sob].[Data],"dd-mm") AS DatаBG FROM sob;"

Ну а DataBG - это имя поля, которое вам надо связывать с Flex-ом
...
Рейтинг: 0 / 0
Select выборка по дате
    #36434863
valgruel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

попробую.

авторНу а DataBG - это имя поля, которое вам надо связывать с Flex-ом
я столбцы MSFlexGrid ни с чем не связываю. Они автоматически (?) меняются после select. и если в Select - другие поля, то и в MSFlexGrid становятся другие.

А нужно как-то связывать специально?
...
Рейтинг: 0 / 0
Select выборка по дате
    #36434874
valgruel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

не, не проходит. Ошибка синтаксическая там же, на dd
...
Рейтинг: 0 / 0
Select выборка по дате
    #36434925
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
valgruelShocker.Pro,

не, не проходит. Ошибка синтаксическая там же, на dd

Ой, ну, разумеется
Код: plaintext
st="SELECT sob.sobitie, Format([sob].[Data],""dd-mm"") AS DatаBG FROM sob;"
вы не поправляли за мной кавычки?
...
Рейтинг: 0 / 0
Select выборка по дате
    #36434931
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
valgruelА нужно как-то связывать специально?

А не знаю, я не люблю работу с DataBound, предпочитаю вручную.
Вам просто чем-то не нравилось DatаBG, вот я и пытаюсь выяснить чем.
...
Рейтинг: 0 / 0
Select выборка по дате
    #36434966
valgruel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
О! Синтаксическая ошибка исчезла.
А вот с датой - пока не пойму, что происходит - она исчезла совсем. Разбираюсь. Спа
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Select выборка по дате
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]