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

Форум: MS ACCESS

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

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

 
 

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

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

тема: как добавить глоб переменную в поле в запрос на добавление записи
 
 автор: ser60   (13.10.2013 в 06:12)   личное сообщение
 
 

В запросе на добавление записи хотел добавить поле
Оператор: OperatorCodPassing(glngOperator)
акс добавляет квадратные скобки к аргументу, а потом переспрашивает ввод глобальной переменной
чего я не понимаю, помогите, спс

  Ответить  
 
 автор: Snipe   (13.10.2013 в 07:42)   личное сообщение
 
 

Как я понимаю OperatorCodPassing это функция
так пусть функция сама запрашивает глобальную переменную

тогда вызов будет например так
Оператор: OperatorCodPassing("",1)

а функция
Public function OperatorCodPassing(a as string, b as integer) as string
Select case b
case 1: a=glngOperator
end select

  Ответить  
 
 автор: ser60   (13.10.2013 в 09:19)   личное сообщение
 
 

Снайп, спс за ответ, но
1) как обойтись без стринга, ведь у меня длинное целое (можно даже интегер сделать)
2) функция использована, т.к. не удается в запрос передать глобальную переменную

  Ответить  
 
 автор: snipe   (13.10.2013 в 09:46)   личное сообщение
 
 

я написал для примера
то что в голову взбрело
поэтому переменные объявлены от балды
главное принцип
вторая переменная на тот случай если функция используется еще где-то и в данном случае играет роль индикатора
конструкцию Select можно заменить
просто на

Public function OperatorCodPassing(a as Long, b as integer) as Long
 if b=1 then a=nz(glngOperator,0)
.....
....
....
OperatorCodPassing=a
end function

вызов в запросе будет так
Оператор: OperatorCodPassing(0;1)

а если функция используется просто для присваивания значения то все просто

 Public function OperatorCodPassing() as Long
 OperatorCodPassing=nz(glngOperator,0)
end function

вызов в запросе
Оператор: OperatorCodPassing()

  Ответить  
 
 автор: ser60   (13.10.2013 в 10:12)   личное сообщение
 
 

акс пишет, что неверное число аргументов функции в выражении запроса 'OperatorCodPassing('.

  Ответить  
 
 автор: snipe   (13.10.2013 в 10:39)   личное сообщение
 
 

такая ошибка возникает
если число запрашиваемых функцией переменных и число передаваемых в функцию переменных не совпадает

проверить надо описание функции и вызов функции
Public function OperatorCodPassing(a as Long, b as integer) as Long
то что в скобках это переменные которые запрашивает функция - в данном случае их 2 (а и b)

соответственно в запросе в вызове функции в скобках должно быть 2 числа разделенных (в конструкторе) точкой с запятой
Оператор: OperatorCodPassing(0;1)

  Ответить  
 
 автор: ser60   (13.10.2013 в 15:12)   личное сообщение
 
 

чего я ступил, это банально, извините, ну конечно же. Не выспался.Спасибо, все нормально!

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