Добрый день! Есть много функций которые обращаются к внешней базе данных. Вот одна из них. Как данная функция должна выглядеть в новом reporterе типа excel
Public Function dengi(Isd, dopisd, ms) As String
'расчет расценки в зависимости от разряда, коефф. берется из таблицы mssql и умножается на Тшт
Dim p2, P3, P31, D
Dim tsh, KOEF
Dim DatConct As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim Rs1 As ADODB.Recordset
p2 = Isd.Fields(2)
P3 = Isd.Fields(3)
P31 = Isd.Fields(31)
Set DatConct = New ADODB.Connection
Set Rs = New ADODB.Recordset
Set Rs1 = New ADODB.Recordset
DatConct.Open "Provider=SQLOLEDB.1;Password=va11sy;Persist Security Info=True;User ID=sa;Initial Catalog=INDUSTRICS_ADDITIONAL;Data Source=TECHNOLOGICS"
tsh = 0
Rs.Open "SELECT P5 FROM TechnoParameters_RptSheet WHERE P2=" & p2 & "AND P3=" & P3 & "AND p4 = 'TCS_OB_TS'", Application.CurrentProject.Connection, adOpenDynamic, adLockOptimistic
If Not Rs.EOF Then
tsh = Rs.Fields(0)
End If
KOEF = 0
If Not IsNull(P31) Then
‘ обращение к внешней базе данных
Rs1.Open "SELECT TARIF_KOEF FROM CATEGORY WHERE CATEGORY_NOTE=" & P31, DatConct
If Not Rs1.EOF Then
KOEF = Rs1.Fields(0)
End If
End If
D = Round(KOEF * tsh + 0.000005, 3)
If D = 0 Then
dengi = ""
Else
dengi = CStr(D)
End If
End Function