Показать сообщение отдельно
  #3  
Старый 18.01.2012, 13:18
fen fen вне форума
Прохожий
 
Регистрация: 23.01.2008
Сообщения: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от icWasya
Смею предположить, что TZapis-ето таблица MAIN.
А теперь спросите себя, что вернёт Ваш запрос, если в таблице MAIN есть несколько записей с искомым 'us_id'? А Вы проверяете только первую.
Вам скорее всего нужно сделать два запроса - один к таблице USERS на предмет того, что сотрудник с такой карточкой есть в базе, и второй, к таблице MAIN, с поиском по двум полям - US_ID и PR_DATE.
Если в результате второго запроса что-то нашли - сообщаем об этом,
если получили пустую таблицу - добавляем отметку о приходе.

благодарю за подсказку. правильные запросы пока не смог составить и сделал временно запрос через сортировку ORDER BY
условие проверяет последнюю запись прихода с текущей датой, если не равно, то добавляет запись в таблицу. Программа работает, но теоретически, если случайно системную дату изменят на заднее число, то записи будут дублироваться. Хотя практически, если следить за системной датой, то такого произойти не должно.
Код HTML:
QSverka.SQL.Text:='SELECT users.id,users.us_k_code,main.pr_date,main.us_id '+ 'FROM users,main '+ 'WHERE (users.id=main.us_id) and (users.us_k_code=:us_k) '+ 'ORDER BY main.pr_date DESC';

Наверно правильнее было проверять не по последней записи, а по всем записям. Нужна Ваша помощь, чтобы сформировать запрос на проверку по всем датам прихода пользователя
Ответить с цитированием