Я написал инструмент счета в Excel/VBA.Вызываемый объект отключен от своих клиентов - VBA-SQL Query
Я получаю сообщение об ошибке при попытке запустить код (в Excel) ниже, и я не знаю почему?
Ошибка связи: вызванный объект отключился от своих клиентов.
usfOKNAR01.txtfakt4.Value - это поле со списком, из которого я беру идентификатор счета-фактуры.
---- Код VBA для запуска запроса из базы данных Access.
Public Sub faktury2()
SQL = ""
SQL = Array("SELECT * FROM [pokaz_Raty] WHERE ID = " & usfOKNAR01.txtfakt4.Value & ";", _
"SELECT DISTINCT(tbINCOME.[Faktura_ID]), tbRATY.[Faktura_ID] FROM tbRATY INNER JOIN tbINCOME ON tbRATY.[Faktura_ID] = tbINCOME.Identyfikator;")
For i = 0 To 1
Set rs = New ADODB.Recordset
rs.Open SQL(i), db, adOpenStatic, adLockReadOnly 'here the error mesage jumps.
GoTo dalej2
Next i
Exit Sub
dalej2:
Select Case i
Case 0
With usfOKNAR01.MultiPage1.Pages(9).lb4
.Clear
.ColumnCount = rs.Fields.Count
'NAGLOWKI
w = 0
For z = 0 To rs.Fields.Count - 1
.AddItem
.List(w, z) = rs.Fields(z).Name
Next z
w = 1
Do
.AddItem
For z = 0 To rs.Fields.Count - 1
If IsNull(rs.Fields(z)) = True Or rs.Fields(z).Value = 0 Then
.List(w, z) = "Brak danych!"
Else
.List(w, z) = rs.Fields(z).Value
End If
Next z
w = w + 1
rs.MoveNext
Loop Until rs.EOF
End With
Case 1
With usfOKNAR01.txtfakt4
.ColumnCount = rs.Fields.Count
.Clear
w = 0
rs.MoveFirst
Do
If IsNull(rs.Fields(0)) Then
.AddItem ""
Else
.AddItem
.List(w, 0) = rs.Fields(1).Value
.List(w, 1) = rs.Fields(0).Value
End If
rs.MoveNext
w = w + 1
Loop Until rs.EOF
End With
End Select
В Access У меня есть запрос называется pokaz_Raty
SQL код выглядит следующим образом:
SELECT tbRATY.Faktura_ID AS ID, tbKLIENT.KLIENT AS KLIENT, tbINCOME.Faktura_ID AS [NR-FAKT], tbINCOME.kwota_brutto AS [KWOTA BRUTTO], tbRATY.Kwota AS WPŁACONO, [tbINCOME].[kwota_brutto]-[tbRATY].[Narastajaco] AS [DO ZAPŁATY], tbRATY.Data
FROM tbKLIENT INNER JOIN (tbINCOME INNER JOIN (SELECT *, (SELECT Sum(KWOTA) FROM tbRATY t WHERE t.Faktura_ID=tbRATY.Faktura_ID AND t.Identyfikator<=tbRATY.Identyfikator)As Narastajaco FROM tbRATY) AS tbRATY ON tbINCOME.Identyfikator = tbRATY.Faktura_ID) ON tbKLIENT.Identyfikator = tbINCOME.klient
ORDER BY tbRATY.Data;
Может somebothy смотреть на него муравей помочь мне с моим вопросом?
Спасибо!
Спасибо, что сделали эту работу! смайлик healp :) – MIREK