Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 10.02.2008
Сообщений: 25
1

Функция в SQL, ругается 'Undefined function 'func' in expression'.

06.07.2010, 22:20. Показов 1275. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
На урвне модуля описал функцию func(i1,i1i3) и пытаюсь ея сунуть в 'select func(field1,field2,field3) as expr FROM table'. А он ругается, что 'Undefined function 'func' in expression'.
Может чего присоветуете
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.07.2010, 22:20
Ответы с готовыми решениями:

Объединить несколько Expression<Func<T, bool>>
Добрый вечер форумчане. Подскажите пожалуйста, как имея два выражения, например ...

Expression<Func<T,bool>>: получить параметры и их значения
Допустим, имеется такой метод: public Task&lt;List&lt;TEntity&gt;&gt;...

FUN must be a function, a valid string expression, or an inline function object
Здраствуйте, нужна помощь. clear all; close all; Scr_data_C; Scr_data_L; fv = 10:10:10000;...

Функция выдает ошибку: "Return value of function 'Through' might be undefined"
Привет Всем! Вот написана функция : FUNCTION Through( k, m :INTEGER; N_f :WORD) :WORD; ...

7
0 / 0 / 0
Регистрация: 10.02.2008
Сообщений: 25
06.07.2010, 22:23  [ТС] 2
Ошибочка: функция - func(i1,i2,i3)
0
Gloom
07.07.2010, 11:09 3
А откуда сервер(или что там у тебя) знает про то, что ты у себя на уровне модуля написал?
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
07.07.2010, 13:02 4
Это ты про Акцесс что-ли рассказываешь?
0
0 / 0 / 0
Регистрация: 10.02.2008
Сообщений: 25
07.07.2010, 21:48  [ТС] 5
Извиняюсь, если некорректно спросил. Мне в SQL запросе надо использовать calculated field.

До сих пор работала функция iif:
SQL
1
SELECT iif(field1>0, field2*field3, field2/field3) AS expr FROM table1
где field1,field2,field3 поля таблицы table1

Нынче усложнились условия подсчёта значения выводимого поля expr и я решил использовать функцию
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Function func(Paimta, Kaina, Sumok) As Integer
 laikotarp = Date - CDate(Format(Paimta, "yyyy.mm.dd"))
 Select Case laikotarp
  Case 0, 1
   func = CCur(Kaina - Sumok)
  Case Else
   Select Case Kaina
    Case 5
     func = Kaina * (laikotarp - 1) - Sumok
    Case Else
     func = Kaina + 2 * (laikotarp - 1) - Sumok
   End Select
 End Select
End Function
По моим соображениям, если она описана на уровне модуля, то SELECT должен с ней считаться, как и с другими функциями mid, right, val ... Но этого не произошло

Не из SELECTа функция работает. VB её узнаёт, предлагает ввести переменные
0
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
08.07.2010, 12:46 6
если ты эту функцию описал в модуле VB (например: mymodule.bas) в своей программе, а соединяешься через ADO к внешнему источнику (например: MS SQL-Server), то у тебя ничего не выйдет. Так не работает и не будет работать.

В случае, если ты работаешь в среде MS Access, то можно создать public модуль и в нем создать public function. Затем скомпилировать все модули базы. В самом дизайнере запросов акцесса в создаваемом тобой запросе эту функцию можно будет использовать. Можно также сделать внешнюю базу MDE и подключить ее к базе, где ты проектируешь свой запрос, через reference. В этом случае также будет работать.
0
0 / 0 / 0
Регистрация: 10.02.2008
Сообщений: 25
08.07.2010, 17:20  [ТС] 7
Работаю в среде VB6 с базой .mdb Использую обычный объект Data
Visual Basic
1
2
Data.recordSource="SELECT FROM"
Data.refresh
0
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
08.07.2010, 18:05 8
из самого VB это сделать нельзя, я уже писал раньше
0
08.07.2010, 18:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.07.2010, 18:05
Помогаю со студенческими работами здесь

Функция выдает ошибку: "Return value of function might be undefined"
Привет Всем! Вот написана функция : function SearchAndReplace( RE1: TRichEdit; SearchText,...

Call to undefined function '_beginthreadex' in function main()
Здесь реализуется задача о 5-ти китайских философах, обедающих за столом #include&lt;windows.h&gt; ...

Expression syntax in function bh()
x=(d++ y+ + -2*c+777)/ 7; ошибку выдает после квадратных скобками ; подскажите что делать ?

Expression sytax in function main
Компилятор Borland Turbo C 2.01. При попытке компиляции выдает ошибку: 10 (строка): Expression...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru