Страница: 1 |
У меня ситуация такая. Имеется поле в которое заносится дата Например: 22.10.2003 ! Имеется второе поле в котором должно формироваться число по дате,т.е. оно должно формироваться след.образом хх.хх.хх - 01 ! Только число должно быть без точек. первые хх-последние 2 цифры года, вторые хх-месяц, хх-день, -01 порядковый номер(если дата повторяется,то число должно увеличиваться на 1) Должно получиться следующее: 031022-01,если дата в поле повторяется,то должно быть так - 031022-02 и т.д. Короче,просто имеется поле ДАТА и имеется поле ПРИХОДНОЙ ОРДЕР !! Сперва вводится дата Например: 10.10.2003 Например при событии BeforeUpdate в поле ПРИХОДНОЙ ОРДЕР должно записаваться число,которое формируется от введённой даты Записаться оно должно следующим образом: 031010-01,если дата вводится повторно такаяже то в приходной ордер записывается следующее: 031010-02 и т.д. пока дата будет повторяться! Если же следующая дата идёт то просто счёт начинается с единицы Например: ДАТА - 22.12.2003 ПРИХОДНОЙ ОРДЕР - 031222-01
> Имеется поле в которое заносится дата. Интересно, что люди всегда подразумевают, что совершенно ясно, где именно находится поле, в которое заносится дата. В таблице, форме того или иного вида, панели инструментов, или колхозе "Красный Богатырь"... > P.S. Число должно формироваться после ввода даты !!! > ... Например при событии BeforeUpdate в поле ... Нажимаем F1 и читаем: BeforeUpdate - блаблабла... до(!) обновления. Т.е. если по какой-либо причине не удалось изменить содержимое поля, то обработка события все равно выполниться... Ланда, это лирика. Вот вариант: Private sub МоеПолеДаты_AfterUpdate(...) dim s as strind if isnull(me.МоеПолеДаты) then MsgBox("Чего ввел-то?!") else s = format(me.МоеПолеДаты, "yymmdd") me.МоеВтороеПоле = s & (cbyte(mid(nz(dMax("ПолеИсточникДанныхМоегоВторогоПоля", _ "ТаблицаИсточникДанныхМоейФормы", _ "ПолеИсточникДанныхМоегоВторогоПоля like """ & _ s & "*"""),"000000-00"),8))+1) endif End sub не проверял. Но смысл понятна, наверное... Geo (c) Помиги разобраться с главной строкой кода,пожалуйста. Дело в том,что она слегка не работает ! Я поменял 8 на 7 и вроде как всё заработа,но: 1. он записывает число в таком виде 0310101,а не 031010-01 2. после введения 10 раз одной и тойже даты, аксесс пишет: "Изминения небыли успешно внесены из-за повторяющихся поле,тра ля ля и всё такое..." А если я запускаю прогу с 8 а не 7,то он мне пишет: "несоответствие типов" и так же если изменю число на 6 или на 5 например. Так я вот к чему,еслиб я понял как работает строка кода,где идёт наращивание на 1 и преобразрование числа в конечный вид,то я б мог это дело возможно исправить. Помогите !!!! s = format(me.МоеПолеДаты, "yymmdd-") me.МоеВтороеПоле = s & _ format(cbyte(mid(nz(dMax("ПолеИсточникДанныхМоегоВторогоПоля", _ "ТаблицаИсточникДанныхМоейФормы", _ "ПолеИсточникДанныхМоегоВторогоПоля like """ & _ s & "*"""),"000000-00"),8))+1,"00") Страница: 1 |
Вопрос: Народ!!!Помогите плиизз!!!!Это касается VBA и A...
Добавлено: 27.10.03 23:21
Автор вопроса: Aleksey | ICQ: 172703530
Для наглядности:
ДАТА | Число
22.10.2003 | 031022-01
22.10.2003 | 031022-02
.......... | ......-03
23.11.2003 | 031123-01
24.12.2003 | 031224-01
P.S. Число должно формироваться после ввода даты !!!
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
Geo(c)
Вопросов: 0
Ответов: 2
Профиль | | #1
Добавлено: 28.10.03 01:16
Номер ответа: 2
Автор ответа:
Aleksey
ICQ: 172703530
Вопросов: 9
Ответов: 4
Профиль | | #2
Добавлено: 28.10.03 20:05
Geo,если ты меня слышишь,отзавись !!!!
Номер ответа: 3
Автор ответа:
Aleksey
ICQ: 172703530
Вопросов: 9
Ответов: 4
Профиль | | #3
Добавлено: 28.10.03 20:34
Geo(c) если ты не против,то мне нуна с тобой поговорить,поблагодорить за помощь и всё такое !!! Если ты пользуешься Аськой,то вот мой номер: 172703530 или дай мне свой,я сам с тобой свяжусь !!! Или если не пользуешься Аськой,то скажи,как можно с тобой связаться,а то таким образом общаться, это совсем без мазы !!!
Номер ответа: 4
Автор ответа:
Aleksey
ICQ: 172703530
Вопросов: 9
Ответов: 4
Профиль | | #4
Добавлено: 30.10.03 09:28
Номер ответа: 5
Автор ответа:
Geo(c)
Вопросов: 0
Ответов: 2
Профиль | | #5
Добавлено: 30.10.03 14:56