Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Народ!!!Помогите плиизз!!!!Это касается VBA и A... Добавлено: 27.10.03 23:21  

Автор вопроса:  Aleksey | ICQ: 172703530 

У меня ситуация такая. Имеется поле в которое заносится дата Например: 22.10.2003 ! Имеется второе поле в котором должно формироваться число по дате,т.е. оно должно формироваться след.образом хх.хх.хх - 01 ! Только число должно быть без точек. первые хх-последние 2 цифры года, вторые хх-месяц, хх-день, -01 порядковый номер(если дата повторяется,то число должно увеличиваться на 1) Должно получиться следующее: 031022-01,если дата в поле повторяется,то должно быть так - 031022-02 и т.д.
Для наглядности:
ДАТА        |     Число
22.10.2003 | 031022-01
22.10.2003 | 031022-02
..........         |       ......-03
23.11.2003 | 031123-01
24.12.2003 | 031224-01
P.S. Число должно формироваться после ввода даты !!!

Короче,просто имеется поле ДАТА и имеется поле ПРИХОДНОЙ ОРДЕР !! Сперва вводится дата Например: 10.10.2003 Например при событии BeforeUpdate в поле ПРИХОДНОЙ ОРДЕР должно записаваться число,которое формируется от введённой даты Записаться оно должно следующим образом: 031010-01,если дата вводится повторно такаяже то в приходной ордер записывается следующее: 031010-02 и т.д. пока дата будет повторяться! Если же следующая дата идёт то просто счёт начинается с единицы Например: ДАТА - 22.12.2003 ПРИХОДНОЙ ОРДЕР - 031222-01

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Geo(c)



Вопросов: 0
Ответов: 2
 Профиль | | #1 Добавлено: 28.10.03 01:16

> Имеется поле в которое заносится дата.

Интересно, что люди всегда подразумевают, что совершенно ясно, где именно находится поле, в которое заносится дата. В таблице, форме того или иного вида, панели инструментов, или колхозе "Красный Богатырь"... :(

> 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

не проверял. Но смысл понятна, наверное...

Ответить

Номер ответа: 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

Geo (c) Помиги разобраться с главной строкой кода,пожалуйста. Дело в том,что она слегка не работает ! Я поменял 8 на 7 и вроде как всё заработа,но:

1. он записывает число в таком виде 0310101,а не 031010-01

2. после  введения 10 раз одной и тойже даты, аксесс пишет: "Изминения небыли успешно внесены из-за повторяющихся поле,тра ля ля и всё такое..."

А если я запускаю прогу с 8 а не 7,то он мне пишет: "несоответствие типов" и так же если изменю число на 6 или на 5 например.

Так я вот к чему,еслиб я понял как работает строка кода,где идёт наращивание на 1 и преобразрование числа в конечный вид,то я б мог это дело возможно исправить. Помогите !!!!

Ответить

Номер ответа: 5
Автор ответа:
 Geo(c)



Вопросов: 0
Ответов: 2
 Профиль | | #5 Добавлено: 30.10.03 14:56

s = format(me.МоеПолеДаты, "yymmdd-")

me.МоеВтороеПоле = s & _

format(cbyte(mid(nz(dMax("ПолеИсточникДанныхМоегоВторогоПоля", _

"ТаблицаИсточникДанныхМоейФормы", _

"ПолеИсточникДанныхМоегоВторогоПоля like """ & _

s & "*"""),"000000-00"),8))+1,"00")

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам