powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос данных
12 сообщений из 12, страница 1 из 1
Запрос данных
    #39190728
Alex Pancho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос, наверное, ближе к МС-Скл, перенесите, если не туда:

Есть таблица вида:
PersonalID(таб номер)-pDay(Дата)-pTime(время)-событие-ФИО
Для каждого сотрудника должно быть два события на дату: 1 - вход и 0 - выход.
Как выбрать данные по сотрудникам для которых на один день есть только событие "вход" или только событие "выход"?
...
Рейтинг: 0 / 0
Запрос данных
    #39190730
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
SELECT .... WHERE (Вход OR Выход) AND NOT (Вход AND Выход)
...
Рейтинг: 0 / 0
Запрос данных
    #39190736
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
SELECT PersonalID, pDay, ФИО
FROM Таблица
GROUP BY PersonalID, pDay, ФИО
having Count(*) mod 2=1
...
Рейтинг: 0 / 0
Запрос данных
    #39190738
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle
Код: sql
1.
SELECT .... WHERE (Вход OR Выход) AND NOT (Вход AND Выход)

Да. Это неправильно.
Не два события в одной записи, а на каждое событие одна запись.
...
Рейтинг: 0 / 0
Запрос данных
    #39190774
Alex Pancho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_world,
Спасибо, это магия :)
...
Рейтинг: 0 / 0
Запрос данных
    #39190779
Alex Pancho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А еще вопрос: как побороть делиметер (разделитель в *.csv)? Есть вероятность что в БД будут импортить данные из разных стран. будут разные разделители, надо, чтоб нигде не ругалось
Нагуглил на эту тему просто тьму материала, хочу спросить какой самый простой и кошерный путь:
1) Использовать что-то экзотическое в schemas.ini
2) менять параметры в реестре
3) использовать ";"
4) ???
...
Рейтинг: 0 / 0
Запрос данных
    #39191416
Вы не нагуглили главного - в Аксе для импорта из текстовых файлов (а также экспорта и связывания) используются спецификации собственного разлива.
На западе используется разделитель полей ",", десятичный разделитель "." ну и возможен другой формат даты.
Возьмите такой файл и импортируйте его вручную. При этом вам будет предложено настроить спецификацию. Сохраните ее под каким-то именем и указывайте при выполнении TransferText при необходимости.
Определить, что в файле, можно прочитав и проанализировав из него строку с данными. Это несложно сделать средствами VBA.
...
Рейтинг: 0 / 0
Запрос данных
    #39191469
Alex Pancho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев ),

Спасибо, я примерно так и сделал - только я точно знаю структуру файла и создаю схема-ини.
Код вывода и новый вопрос тут: http://www.sql.ru/forum/1205153/vyvod-v-fayl-v-utf-8
...
Рейтинг: 0 / 0
Запрос данных
    #39192473
Alex Panchoя точно знаю структуру файла Т.е. вы перед импортом точно знаете, какой разделитель полей в файле? Ну так добавьте в функцию SchemaIniCreate 2-й аргумент, от которого зависит "Format = Delimited( ; )".

Кстати, можно обойтись и без удаления/создания связанной таблицы, открывая Recordset непосредственно на запросе к файлу типа:
SELECT * FROM [Имя Файла.csv] IN 'C:\Папка' [Text;FMT=Delimited;HDR=NO;]
...
Рейтинг: 0 / 0
Запрос данных
    #39245394
Alex Pancho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_world
Код: sql
1.
2.
3.
4.
SELECT PersonalID, pDay, ФИО
FROM Таблица
GROUP BY PersonalID, pDay, ФИО
having Count(*) mod 2=1



Не работает, если человек работает ночью, т.е. приходит в день 01 а уходит в день 02....
Как сделать учёт для такого случая?
...
Рейтинг: 0 / 0
Запрос данных
    #39245421
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex Pancho,

согласна -- график сутки через трое --весьма распространен
...
Рейтинг: 0 / 0
Запрос данных
    #39245794
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex PanchoВопрос, наверное, ближе к МС-Скл, перенесите, если не туда:

Есть таблица вида:
PersonalID(таб номер)-pDay(Дата)-pTime(время)-событие-ФИО
Для каждого сотрудника должно быть два события на дату: 1 - вход и 0 - выход.
Как выбрать данные по сотрудникам для которых на один день есть только событие "вход" или только событие "выход"?
вопрос не простой, человек может за день войти и выйти несколько раз , а в системе учета отразится только первый вход и последний выход... считать ли эти события только входом и только выходом при этом? ... по большому счету, не хватает данных - продолжительность рабочей смены каждого сотрудника...но и это не спасет , бывают случаи , когда люди задерживаются на работе дольше положенного, в этих случаях вроде бы есть вход и выход , а по алгоритму с учетом продолжительности рабочей смены эти события придется считать как входом без выхода и выходом без входа... как сказал мне человек, занимающийся системами безопасности и , в частности , системами контроля доступа - в системе должны фиксироваться ВСЕ события, не должно быть лазеек их обхода, иначе это не система контроля доступа ,а "дыра" и сплошная головная боль...
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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