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

Форум: MS ACCESS

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

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

 
 

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

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

тема: И ñíîâà ïðî èñïîëüçîâàíèе ôóíêöèè
 
 автор: user12345   (07.05.2011 в 21:00)   личное сообщение
50 Кб.
 
 

Написал функцию которая сама по себе работает хорошо (функция TurnCr которая сумирует кредитовый оборот соответствуюшего счета по определенномы промежутку, можете смотреть в модуле)
Вопрос вот в чем.
Я хочю чтобы пользователь сам определил параметры функции которая должен вывести в excel оборот любого счета.
Когда я в VB прямо пишу функцию, то она работает нормально. Мне нужно чтобы функция была в ТАБЛИЦЕ чтобы пользователь смог сам корректировать параметры, но никак не могу решить эту проблему. Функция возврапшяет саму себя а не итог ??????????
Буду блогадарен за помощь.

  Ответить  
 
 автор: user12345   (07.05.2011 в 21:04)   личное сообщение
 
 

Извеняюсь за тему, написал 'проблема с использованием функции.' не знаю почему получились эти символы

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

а не могли бы вы здесь привести текст функции. ИЛи приложить ее так текст.

  Ответить  
 
 автор: user12345   (09.05.2011 в 13:04)   личное сообщение
 
 

Функция в прикрепленном файле.

  Ответить  
 
 автор: osmor   (10.05.2011 в 08:20)   личное сообщение
 
 

это я понял. но посмотреть ее я не могу. нет у меня access

  Ответить  
 
 автор: user12345   (10.05.2011 в 10:18)   личное сообщение
 
 

функция
Public Function TurnCr(ACC As String, STDATE, ENDDATE) As Double
Dim ACC1 As String, DDTE As String, DDTE2 As String, KUT As String, TURN As Double
DDTE = Format$(STDATE, "DD/MM/YYYY")
DDTE2 = Format$(ENDDATE, "DD/MM/YYYY")

If DLookup("ACCKUT", "ACC", "ACC = '" & [ACC] & "'") <> "" Then ACC1 = DLookup("ACCKUT", "ACC", "ACC = '" & [ACC] & "'") & "*" Else ACC1 = ""

On Error GoTo Err_TURNCR

Dim rstTURNCR As DAO.Recordset

Set rstTURNCR = CurrentDb.OpenRecordset("SELECT Sum(ACCTurn.AccSumm) AS SumOfAccSumm FROM Doc1 INNER JOIN (ACCTurn INNER JOIN ACC ON ACCTurn.AccCr = ACC.ACC) ON Doc1.DID = ACCTurn.ADID WHERE (((Doc1.Date)Between # " & DDTE & " # And # " & DDTE2 & " #) AND ((ACC.ACCKUT) like '" & ACC1 & "'))")

If IsNumeric(rstTURNCR!SumOfAccSumm) Then TURN = rstTURNCR!SumOfAccSumm Else TURN = 0

TurnCr = Round(TURN, 2)

rstTURNCR.Close
Set rstTURNCR = Nothing

Exit_TURNCR:
Exit Function
Err_TURNCR:
TurnCr = 0
Resume Exit_TURNCR
End Function

Заполнение шаблона ексел

Private Sub Command33_Click()
Dim Date1 As Date, Date2 As Date
Date1 = Format$(ot, "DD/MM/YYYY")
Date2 = Format$(dot, "DD/MM/YYYY")

tok = SqlLookUp("select function from TABFunction where Row=" & 1)
fileXLT = CurrentProject.Path & "\HASH2.xls"

Set ExcelApplication = CreateObject("Excel.Application")
With ExcelApplication
.Workbooks.Open fileXLT
.Visible = True
End With
Set ExcelWorksheet = ExcelApplication.Sheets(1)
ExcelApplication.Cells(1, 2).Value = DLookup("[function]", "TABFunction", "[Row] = 1") '-функция с параметрами сохранена в таблице и с помощю dlookup хочу вывести и заполнить ексел как в строке (1), но выводит и заполняет текст функции а не его итог
ExcelApplication.Cells(2, 2).Value = TurnCr("6111", Date1, Date2) '----------------(1)----------функция работает нормально
End Sub

  Ответить  
 
 автор: osmor   (10.05.2011 в 10:59)   личное сообщение
 
 

ExcelApplication.Cells(1, 2).FormulaR1C1 = "=" & DLookup("[function]", "TABFunction", "[Row] = 1")

  Ответить  
 
 автор: user12345   (10.05.2011 в 11:56)   личное сообщение
 
 

Функция TurnCr описана в аксесе.
Мне нужно вывести в ексел не саму функцию а его итог.

  Ответить  
 
 автор: osmor   (10.05.2011 в 16:13)   личное сообщение
 
 

теоретически можно использовать Eval
Практически я им никогда не пользовался
а такой вопрос, функция всегда одна меняются только аргументы?

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

Если бы функция была одна то можно было бы в таблице сохранять только параметры, но к сожалению функций 5 и количество параметров у каждого разные.

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