![]() |
|
![]() ![]() ![]() |
|
ivanfr |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 1.4.2009 Репутация: нет Всего: нет |
Значит хочу реализовать следующее (Пока не реализовано хочу пошагово разобраться)
Помогите написать SQL – Запрос. Delphi/Ассеss Есть не большая БД в ней есть таблица(persona_stor) в которой несколько столбцов ФИО (fio_work), Дата увольнения (date_uvolnenie), Значение (znachenie). Читаю на форумах рекомендуют использовать SQL – запрос, тут у меня немного проблемно. Нужно, что бы из таблицы «persona_stor», столбца «date_uvolnenie» выбрал все даты, которые удовлетворяют критерию, с 20.08.2011 по 20.09.2011, вывел всех сотрудников, кто уволился в это период. Затем дабы избежать повторного выбора этих сотрудников их нужно исключить из поиска добавив (записать в таблицу), в столбец «znachenie», каждому из найденных сотрудников значение, например, -«обработано». При выборке SQL – Запросом в следующий раз он уже должен их исключать. 1) Для начала хочу просто разобраться с отбором всех сотрудников кто уволился с 20.08.2011 по 20.09.2011 Что пытаюсь сделать.
Почему то не работает вроде правильно делаю или нет?!. SELECT * -выбираю все поля FROM persona_stor - беру таблицу WHERE критерий отбора все даты которые Есть сотрудник и его дата увольнения, мне нужно чтобы Попов Ф.А. 11.07.2011 Иванов И.П. 20.08.2011 Сидоров С.В. 30.08.2011 Петров В.Ф. 01.09.2011 Это сообщение отредактировал(а) ivanfr - 20.9.2011, 13:02 |
|||
|
||||
AndreyIQ |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 5.2.2007 Репутация: 1 Всего: 8 |
|
||||
|
|||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Что за конструкция такая вообще? Access её явно не знает. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
ivanfr |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 1.4.2009 Репутация: нет Всего: нет |
Что то не с работало. А вот between :data_nach and :data_kon в коде так написал between :20.08.2011 and :20.09.2011
там нормально Ковычки. были. есть. |
||||
|
|||||
AndreyIQ |
|
||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 5.2.2007 Репутация: 1 Всего: 8 |
К сожалению с Access'ом не работаю, но в firebird нормально работает, и для access'а должно примерно так работать
|
||||||
|
|||||||
udly |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 25.3.2006 Репутация: нет Всего: 0 |
А если попробовать так:
|
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Посмотри в самом Access'е, в конструкторе запросов, как оформляется дата. Там всякие ##, т.е. не всё так просто. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
ivanfr |
|
||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 1.4.2009 Репутация: нет Всего: нет |
Вот так помогло, только >= знак в больше, поставил не правильно сейчас вроде корректно выводит то, что я и хотел.
Ну да ладно завтра займусь продолжением решение данного вопроса. Надеюсь на вашу помощь. Как работать с полученными данными? Он их же в ДБ грид помещает. Добавлено @ 13:51 А какой лучше надёжней,... вариант использовать? 1)
2)
Это сообщение отредактировал(а) ivanfr - 21.9.2011, 05:24 |
||||||||
|
|||||||||
AndreyIQ |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 5.2.2007 Репутация: 1 Всего: 8 |
Что имено не понятно?
Первый Это сообщение отредактировал(а) AndreyIQ - 20.9.2011, 13:56 |
||||
|
|||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
ivanfr |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 1.4.2009 Репутация: нет Всего: нет |
Ну он в смысле запрос. Я подключил DataSource к DataModule1.ADOQuery1. а DBGrid1 к DataSource, вот.
|
|||
|
||||
ivanfr |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 1.4.2009 Репутация: нет Всего: нет |
Нашёл кусок кода где на прямую после запроса в эксель импорт данных чуть- чуть переделал, но не получилось в чем моя ошибка? Конечный результат Хотел данные полученные SQL запросом поместить в массив. а затем записать в БД. Пока хочу разобраться только с занесением данных в массив.
Выдает ошибку след содержания Access violahion at address 004C6F24 in module ... Read of address 00000004 |
|||
|
||||
AndreyIQ |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 5.2.2007 Репутация: 1 Всего: 8 |
Как минимум не заметил, гда задается размер массива MassivRezultSQL. Я делал так |
||||
|
|||||
ivanfr |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 1.4.2009 Репутация: нет Всего: нет |
Кубическая СИЛА. Яж строку целую написать забыл SetLength(MassivRezultSQL,iRowsCount, iColumnsCount);
Это сообщение отредактировал(а) ivanfr - 21.9.2011, 09:02 |
|||
|
||||
ivanfr |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 1.4.2009 Репутация: нет Всего: нет |
Потестил, доработал, замечательно работает, читает данные в массив.
Спасибо за помощь. Осталось у полученных данных обновить значение столбца путем добавления в него данных. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |