Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обнулить значение, которое возврвщает функция
 
 автор: Shad   (08.11.2007 в 15:19)   личное сообщение
 
 

Проблема следующая. Есть таблица1 с полями: Номер, Дата, соответственно тип string и data. Есть запрос, который склеивает записи Номер и Дата из таблицы1 и заносит их через запятую в поле другой таблицы2 (т.е. Номер1 Дата1, Номер2 Дата2 и т.д. сколько записей в таблице1), с помощью функции:
Public Function UnionStr(Optional Номер, Optional Дата)
Static Union
Union = Union & Номер & Дата & " , "
UnionStr = Union
End Function
В запросе поле на добавление описывается так: Str: Last(UnionStr([Номер];[Дата]))
После того, как первый раз выполняешь запрос, в таблицу2 в первую строку заносится запись "Номер1 Дата1, ". После второго выполнения во вторую строку таблицы2 заносится уже "Номер1 Дата1, Номер1 Дата1 , ". Т.е. функция запоминает значение UnionStr с прошлого раза и приклеивает к нему еще одну, такую же, запись. Функция прописана в общем модуле. Как обнулить значение функции при ее повторном использовании, чтобы, если в таблице1 одна запись Номер1 и Дата1, то и после многократного использования запроса в таблицу2 заносилась одна и таже запись "Номер1 Дата1 ,"?

  Ответить  
 
 автор: osmor   (08.11.2007 в 21:58)   личное сообщение
 
 

Запоминает не функция а
Static Union
посмотрите
http://hiprog.com/index.php?option=com_content&task=view&id=334

  Ответить  
 
 автор: Shad   (09.11.2007 в 01:40)   личное сообщение
16 Кб.
 
 

Переменная Union обьявленая с помощью Static сохраняет (или возвращает) свое значение только пока ывполняется функция UnionStr. То есть, после того как я выполнил запрос, в функции пременная Union обнулилась, но на самом деле предыдущее значение где-то сохраняетя и когда я еще раз выполняю запрос к предыдущему значению приклеивается еще одно такое же и заносится в новую строку таблицы2.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList