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

Форум: MS ACCESS

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

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

 
 

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

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

тема: вопрос синтаксису функций
 
 автор: s_nm   (06.12.2010 в 11:26)   личное сообщение
 
 

нужна функция , которая возвращает два значения.
подскажите синтаксис

  Ответить  
 
 автор: osmor   (06.12.2010 в 11:36)   личное сообщение
 
 

вариантов несколько
1. Передавать парметры функции как byRef - в этом случае их значения измененные в функции сохраняться
2. Создать Public переменные на уровне модуля и в функции изменять их значения потом можно получить значения этих переменных из других модулей.
3. Описать свой тип и описывать функцию как возвращающую данный тип см. help по type

  Ответить  
 
 автор: Анатолий (Киев)   (06.12.2010 в 11:46)   личное сообщение
 
 

А еще функция может вернуть массив в переменной Variant или объект Collection.

  Ответить  
 
 автор: Explorer   (06.12.2010 в 11:48)   личное сообщение
 
 

msgbox <Title>, <Promt>

  Ответить  
 
 автор: s_nm   (06.12.2010 в 12:13)   личное сообщение
 
 

очень интересно,если чуток по-проще объяснить,то получается:
1. функция возвратит количество переменных объявленных в скобках + 1 за ними ?
2. им. вв. работа с глобальными переменными?
3. то что Анатолий (киев) посоветовал как возврат массива данных ?

  Ответить  
 
 автор: Дядя Федор   (06.12.2010 в 13:00)   личное сообщение
 
 


Public Function f22(ByRef fx As Integer, ByRef fy As Integer) As Integer
 f22 = fx + fy
 fx = 10
 fy = 20
End Function

Public Sub tst22()
Dim x As Integer: Dim y As Integer
x = 1
y = 1
Debug.Print f22(x, y), x, y
'мы вернули аж три значения f22, x , y
' 2             10            20
End Sub

  Ответить  
 
 автор: Дядя Федор   (06.12.2010 в 13:05)   личное сообщение
 
 


Public Type xy
x As Integer
y As Integer
End Type

Public Function f222(ByRef zx As xy) As Integer
 f222 = zx.x + zx.y
 zx.x = 10
 zx.y = 20
End Function

Public Sub tst222()

Dim z As xy
z.x = 1
z.y = 1
Debug.Print f222(z), z.x, z.y
' 2             10            20
End Sub


Эх люблю такие примерчики.
или так

Public Function f222(ByRef zx As xy) As xy
 f222.x = 10
 f222.y = 20
 
End Function

Public Sub tst222()

Dim z As xy
z.x = 1
z.y = 1
z=f222(z)
Debug.Print z.x, z.y

'10            20
End Sub

  Ответить  
 
 автор: Explorer   (06.12.2010 в 13:03)   личное сообщение
 
 

REM>>

в школе подобный вопрос обычно задают в отношении логических функций
т.е. в методичке имеется в виду "только два значения" (True - False)

IsNumeric
IsDate
etc.

иначе сам вопрос не имеет смысла

  Ответить  
 
 автор: Дядя Федор   (06.12.2010 в 13:12)   личное сообщение
 
 

Пожалуй, соглашусь.

  Ответить  
 
 автор: kot_k_k   (06.12.2010 в 13:12)   личное сообщение
 
 


в школе подобный вопрос обычно задают в отношении логических функций
т.е. в методичке имеется в виду "только два значения" (True - False)



в реальной жизни логическая функция имеет еще третье состояние (значение по умолчанию) - ХЗ

  Ответить  
 
 автор: Дядя Федор   (06.12.2010 в 13:14)   личное сообщение
 
 

помниться в делфи любил типы...

  Ответить  
 
 автор: Дядя Федор   (06.12.2010 в 13:22)   личное сообщение
 
 

Да больше!
- почти правда
- почти ложь

  Ответить  
 
 автор: kot_k_k   (06.12.2010 в 13:25)   личное сообщение
 
 

это одно и то же состояние - ХЗ

как в 95-м квартале - ОСЬ ВАМ (с земным поклоном) - и не обидели и информацию донесли

  Ответить  
 
 автор: Дядя Федор   (06.12.2010 в 13:30)   личное сообщение
 
 

Ну нееет. почти правда это несовсем хз.
Это нечеткая переменная.
Истина(0.1,0.2,....,0.99)
Т.е. можно утверждать что это 0.1истинно или 0.9истинно.
Что соотв. 0.9ложь и 0.1ложь.

правда и в том что нет ничего четче нечеткой логики.
посему сам термин нечеткая логика дурацкий.
поэтому математики часто называет ее логикой Заде (Заде-это фамилия).

  Ответить  
 
 автор: s_nm   (06.12.2010 в 14:17)   личное сообщение
 
 

огромное спасибо. для моей надобности отлично подходит вариант через ByRef

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