Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26113
Рейтинг: 2126
#871: 2011-12-17 17:53:57 ЛС | профиль | цитата
Tad, а функция mod есть в движке Тогда мне не нужен был бы Case
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#872: 2011-12-17 18:18:43 ЛС | профиль | цитата
Где-то тут Alexbootch выкладывал модуль математики. Там вроде есть.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#873: 2011-12-17 18:41:40 ЛС | профиль | цитата
Tad писал(а):
Где-то тут Alexbootch выкладывал модуль математики. Там вроде есть.

Это уже слишком, проще уж подцепить IC с переназначаемой функцией
карма: 22

0
Ответов: 952
Рейтинг: 4
#874: 2012-01-05 12:21:50 ЛС | профиль | цитата
Прям беда какая то. Не могу справится вроде как с простым запросом.
SELECT max(nomerz)+1 FROM base WHERE dataz > date('2011-12-30');
------------ Дoбавленo в 12.20:
nomerz - INTEGER, dataz - TEXT
Таким макаром хочу что бы каждый новый год нумерация заявок шла с 1.
------------ Дoбавленo в 12.21:
1 заявку в году я ввожу вручную, присваиваю ей номер 1.
В последующем при открытии формы добавления заявки в поле номер заявки должен подставляться номер на основе этого запроса.
------------ Дoбавленo в 12.21:
Но что-то не хочет работать
карма: 0

0
Ответов: 3349
Рейтинг: 233
#875: 2012-01-05 12:32:56 ЛС | профиль | цитата
user_asm писал(а):
SELECT max(nomerz)+1 FROM base WHERE dataz > date('2011-12-30');

карма: 1

0
Ответов: 952
Рейтинг: 4
#876: 2012-01-05 12:35:51 ЛС | профиль | цитата
dataz хранится в формате YYYY-MM-DD
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#877: 2012-01-05 12:35:55 ЛС | профиль | цитата

SELECT max(nomerz)+1 FROM base WHERE date(dataz) > date('2011-12-31');
Не надо сравнивать текст с датой.
Учи матчасть.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
Голосовали:user_asm
Ответов: 952
Рейтинг: 4
#878: 2012-01-05 13:37:19 ЛС | профиль | цитата
Ivann,
Выделенное тобой - выбор максимального значения nomerz и прибавления к нему 1. Т.е. получаем следующий номер заявки.
------------ Дoбавленo в 12.49:
Tad,
Так тоже не работает. Выдает максимальный номер из всей БД +1
------------ Дoбавленo в 13.09:
Вот так работает
SELECT (select max(nomerz)) +1 FROM base WHERE date(dataz) > date('2011-12-31');
------------ Дoбавленo в 13.10:
Но выдает 2 числа.
Одно самое большое в БД +1, второе правильное т.е. 2
------------ Дoбавленo в 13.12:
Может перевести поле dataz в какой другой формат? Вопрос в какой
------------ Дoбавленo в 13.37:
Не, dataz ни во что не переведешь.
Перебрав каждый кусок я понял что именно часть сравнения <\> некорректно обрабатывается. Вопрос как это выполнить корректно.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#879: 2012-01-05 14:20:16 ЛС | профиль | цитата
а так

SELECT max(nomerz)+1 FROM base WHERE substr(dataz,1,4) = '2012';
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
Голосовали:user_asm
Ответов: 952
Рейтинг: 4
#880: 2012-01-05 15:15:10 ЛС | профиль | цитата
Тоже не выходит. Берет старый максимум.
------------ Дoбавленo в 14.52:
Выходит. Последнее отрабатывает на 5+
------------ Дoбавленo в 14.54:
Хоть ты пи*ди этих работников. Вместо 27 декабря на записи 928 стоит 27 ЯНВАРЯ.
------------ Дoбавленo в 15.15:
Теперь надо как-то проверку придумывать ...., что бы хотя бы год совпадал ...
карма: 0

0
Ответов: 8921
Рейтинг: 823
#881: 2012-01-05 17:03:56 ЛС | профиль | цитата
user_asm, ошибка, конечно, работницы, а вина -- программиста и бить надо его Нечего заставлять бедную девочку прыгать то и дело с клавиатуры на мышку и обратно!
карма: 19

0
Ответов: 952
Рейтинг: 4
#882: 2012-01-05 21:56:20 ЛС | профиль | цитата
[offtop]Насчет девочки ты как в воду глядел.[/offtop]
------------ Дoбавленo в 21.56:
К сожалению не все так просто. И тупо присваивать текущую дату нельзя ни в коем разе.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#883: 2012-01-06 00:46:21 ЛС | профиль | цитата
user_asm писал(а):
К сожалению не все так просто.

Абсурд №1. Присваивать № заявке при записи в БД, когда к этому номеру всё привязано.
Абсурд №2. Записывать дату в формате 2011/12/25, когда SQLite проще всего понимает 2011-12-25 .(Между прочим, тебе об этом говорили).
Абсурд №3. Держать четыре колонки под исполнителей. А если их будет 7? Ответ "Не будет" - не принимается.
Абсурд №4. "Действия по заявке". "Отправлено письмо". Когда ? Поступило решение "Заключить договор". Когда? Куда писать в БД? Затереть "Отправлено письмо"? Было письмо отправлено или нет - информация потеряна. Бред.
Абсурд №5. То же для "Ход работ" (читай "Абсурд №4).
и т.д.
Получается БД абсурдов.

Про проверку верности вводимых данных, как видно, ты вообще не думал.
А если хорошо подумать с карандашом и бумагой, то глядишь что-то и получится.
user_asm писал(а):
И тупо присваивать
именно тупо ничего присваивать не надо.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1328
Рейтинг: 69
#884: 2012-01-08 20:20:19 ЛС | профиль | цитата
Помню был пример быстрой загрузки списка строк в бд, помоему nesco схема, ни у себя ни на форуме, найти не могу, может кто знает как или где искать?
карма: 2

0
Ответов: 16884
Рейтинг: 1239
#885: 2012-01-09 01:03:59 ЛС | профиль | цитата
1. Что значит "быстрая загрузка" ?
2. В каком виде исходный "список строк" ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)