Кикоз с выборкой

Программирование на Visual Basic for Applications
rinch333
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2007 (Ср) 5:43

Кикоз с выборкой

Сообщение rinch333 » 10.10.2007 (Ср) 6:11

бьюсь уже давно - кучу вариантов перепробовал - к конечному результату не пришел:
Такая проблема надо выбрать сотрудников своей конторы в базе Access - по событиям когда они не отметились при приходе на работу т.е. события нет-значит сотрудник не отметился надо отловить таких и выбрать в список по каждому сотруднику за каждый день месяца
КАК ЭТО СДЕЛАТЬ СКРИПТОМ очевидно с организацией цикла - одним sql-ем наверное не обойтись...
tabn - номер сотр
date_event
time_event
да!! и желательно обойти пароль на mdb-шнике - это второй траблз

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 10.10.2007 (Ср) 8:53

Переформулируй вопрос.
Lasciate ogni speranza, voi ch'entrate.

rinch333
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2007 (Ср) 5:43

Сообщение rinch333 » 10.10.2007 (Ср) 9:48

дано: база в access с паролем - одна таблица содержит сотрудников - другая события прихода на работу
Надо: выявить тех сотрудников и те даты когда они не отметились
простой sql - выдирает тока те события и только по тем сотрудникам когда они не отмечались в месяце вообще ни одного дня. как сделать такое в одном accesse чтобы отчет дергался простым сотрудником (секретарем ) не знающим пароля на базу??

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 10.10.2007 (Ср) 9:50

Покажи структуру базы (список таблиц и полей).
Lasciate ogni speranza, voi ch'entrate.

rinch333
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2007 (Ср) 5:43

Сообщение rinch333 » 10.10.2007 (Ср) 9:54

связка events и employ существует по ключевому полю tabn
в events - date_events, time_events,tabn
в employ - tabn, fio
вся структура - а как показать- скриншотик?? или описание со всякой бякой?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 10.10.2007 (Ср) 9:57

Если сотрудник не отметился -- значит в таблице events не будет строки с соответствующим tabn?
Тогда что-то подобное этому:
Код: Выделить всё
select * from employ where tabn not in (select tabn from events where date_events = #1/1/2007#)
Lasciate ogni speranza, voi ch'entrate.

rinch333
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2007 (Ср) 5:43

Сообщение rinch333 » 10.10.2007 (Ср) 10:00

а даты менять как ?? ведь отчет делается за месяц а не за день

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 10.10.2007 (Ср) 10:06

where date_event between #1/1/2007# and #1/31/2007#
Lasciate ogni speranza, voi ch'entrate.

rinch333
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2007 (Ср) 5:43

Сообщение rinch333 » 10.10.2007 (Ср) 10:12

Таким образом sql выбирает только тех, кто вообще не отмечался ни разу в месяце

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 10.10.2007 (Ср) 10:48

То есть тебе нужен отчет по дням, но за весь месяц?
Можешь циклом пройтись по дням (от 1 до 31), можешь группировку в запросе использовать. Не знаю, поймет ли Access, но что-то подобное:
Код: Выделить всё
select employ.date_event, employ.tabn
from employ left join events on (employ.tabn = events.tabm)
where events.tabn is null
group by employ.date_event, employ.tabn
Lasciate ogni speranza, voi ch'entrate.

rinch333
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2007 (Ср) 5:43

Сообщение rinch333 » 10.10.2007 (Ср) 11:12

йййй
У мя практиски один в один запрос с группировкой, я грю он выдергивает туфту, а циклом я не пробовал потому как чайник и ламер

Al Khamid
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 274
Зарегистрирован: 11.02.2004 (Ср) 10:00
Откуда: Москва, Ховрино

Сообщение Al Khamid » 11.10.2007 (Чт) 23:35

:wink:
Последний раз редактировалось Al Khamid 30.10.2007 (Вт) 17:11, всего редактировалось 1 раз.
"Время пришло..." ©

rinch333
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2007 (Ср) 5:43

Сообщение rinch333 » 12.10.2007 (Пт) 6:14

:D Вот то что надо!!! :D :D :D Вы меня поняли один в один!!

Al Khamid
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 274
Зарегистрирован: 11.02.2004 (Ср) 10:00
Откуда: Москва, Ховрино

Сообщение Al Khamid » 13.10.2007 (Сб) 12:24

Все мои посты - полный бред. Удалите меня из форума.
Последний раз редактировалось Al Khamid 07.11.2007 (Ср) 10:27, всего редактировалось 1 раз.
"Время пришло..." ©

rinch333
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2007 (Ср) 5:43

Сообщение rinch333 » 15.10.2007 (Пн) 8:12

к сожалению это не моя разработка - сам творец уволилси, а я должен продолжить а пока не разобралси я не могу грохнуть поле или объединить

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 15.10.2007 (Пн) 8:29

Al Khamid, иногда это бывает удобно. Допустим, когда надо выбирать запись исходя из только даты или только времени -- больший размер записи в БД это пустяк по сравнению с функцией к столбцу.
Lasciate ogni speranza, voi ch'entrate.

rinch333
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2007 (Ср) 5:43

Сообщение rinch333 » 16.10.2007 (Вт) 3:56

Al Khamid жду нюансы :)

rinch333
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2007 (Ср) 5:43

Сообщение rinch333 » 16.10.2007 (Вт) 8:29

не совсем догнал по оформлению - как настроить красные звездочки в нулевых ячейках??

rinch333
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2007 (Ср) 5:43

Сообщение rinch333 » 16.10.2007 (Вт) 10:35

Вроде все сделал тока без звездов :)

rinch333
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2007 (Ср) 5:43

Сообщение rinch333 » 16.10.2007 (Вт) 10:36

Забыл поблагодарить Спосибо Al Khamid

Al Khamid
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 274
Зарегистрирован: 11.02.2004 (Ср) 10:00
Откуда: Москва, Ховрино

Сообщение Al Khamid » 16.10.2007 (Вт) 11:15

:oops:
Последний раз редактировалось Al Khamid 30.10.2007 (Вт) 17:11, всего редактировалось 1 раз.
"Время пришло..." ©

Al Khamid
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 274
Зарегистрирован: 11.02.2004 (Ср) 10:00
Откуда: Москва, Ховрино

Сообщение Al Khamid » 16.10.2007 (Вт) 11:17

:?
Последний раз редактировалось Al Khamid 30.10.2007 (Вт) 17:09, всего редактировалось 1 раз.

rinch333
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2007 (Ср) 5:43

Сообщение rinch333 » 16.10.2007 (Вт) 11:52

1. Дык а что если дней 30 с запросом не париться да сам юзер пусть считает скока дней надо поставить в отчет?
ну а с негодяями я помучу что-нить придумаю :)
2. Ясно
пасип


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 83

    TopList