powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / программно поставить сумму с разных листов экселя
95 сообщений из 95, показаны все 4 страниц
программно поставить сумму с разных листов экселя
    #38603685
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здравствуйте, в приведённом коде ладно последняя строка указывает на ошибку
но предпоследняя строка то в честь чего? - с чего в строковую переменную я не могу написать нужное??
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim Но As Long
    Dim Ст As String
    Dim Formula1 As String
    Dim Ном As Long
    Но = 2
    Ст = "A"
    Ном = 39
    Formula1 = "=(" & Ст & Ном - 1 & "+" & Worksheets(Но - 1) & "!" & Ст & Ном & ")"
    Worksheets(Но).Range(Ст & Ном).Formula = "=(" & Ст & Ном - 1 & "+" & Worksheets(Но - 1) & "!" & Ст & Ном & ")"
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38603731
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эндрю, с чего ты взял, что можешь записать лист в текстовую переменную?
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38603777
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, но я же это делаю в Экселе
да и ранее мне подсказывали
Код: vbnet
1.
Worksheets(1).Range("A6").Formula = "=" & Sheets(i).Name & "!A2+" & Sheets(j).Name & "!A8"


и как быть?
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38603853
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сравнить две эти строки между собой
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38603889
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
.Name - май нейм Эндрю, спасибо!!!!! пробую
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38604004
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофа, да уж одна голова хорошо, а две лучше
всё срослось
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38604820
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тема моя так, что можно и пофлудить, нужда заставила с Экселем работать
как-то мне г-н Скукотища давал пример супер запроса к таблице Эксель, увы потерял я ссылку на это, как искать хз
это вроде SQL запросы называются?
как искать уже готовые рабочие запросы - примеры для этих целей для знакомства, спасибо
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38604869
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот тебе готовый пример, ищи на форуме по аналогии
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Dim cn As Object, rs As Object
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ThisWorkbook.FullName + ";Extended Properties='Excel 8.0'"
rs.Open "select NUM, Sum(SUM) from [Лист2$] group by NUM order by Sum(SUM) DESC", cn, 3
Cells(1, 5).CopyFromRecordset rs
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing


Если вы используете для подключения OLE DB и параметр HDR=Yes, то обращаться к полям нужно по именам, оказавшимся в первой строке диапазона-источника. Можете выставить HDR=No, тогда имена полей будут F1, F2, F3 и т.д.
Не забывайте, что при использовании параметра IMEX=1 все данные преобразуются в текст!
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38604872
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только, не осилив за четыре года разницу между типами данных, осилить хотя бы элементарный запрос на SQL тебе точно не светит
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38605625
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что надо нашёл
10460736
выложу чтобы не забыть
сорри пока некогда
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38605961
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
куда там
4 года назад пробовал, работало
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
Option Explicit

Sub SmartCopy()

Const s_WkSheetFrom$ = "Лист1"      ' лист-источник
Const s_WkSheetTo$ = "Лист2"        ' лист-получатель
Const i_MaxCriteria% = 8            ' кол-во "критериев"
                        ' (!) при большом кол-ве критериев рискуем нарваться
                        ' на ограничение длины текста запроса

Dim oCnn As Object, oRst As Object  ' подключение и наборзаписей (ADO)
Dim sConnStr$                       ' строка соединения
Dim sSQL$                           ' текст запроса
Dim sFrom$                          ' auxiliarry var
Dim i%                              ' counter


' формирование текста запроса
sFrom = " FROM [" & s_WkSheetFrom & "$]"

sSQL = "SELECT [Дата], 'Данные1' as Критерий, [Данные1] as Показатель"
sSQL = sSQL & sFrom

For i = 2 To i_MaxCriteria
    sSQL = sSQL & " UNION ALL"
    sSQL = sSQL & " SELECT [Дата], 'Данные" & i & "', [Данные" & i & "]"
    sSQL = sSQL & sFrom
Next i

' строка подключения к файлу Excel
sConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Mode=Read;Data Source=" _
    & ThisWorkbook.FullName & ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=2'"

' создание объекта подключение, открытие подключения
Set oCnn = CreateObject("ADODB.Connection")
oCnn.Open sConnStr

' создание объекта наборзаписей как результат выполнения запроса в подключении
Set oRst = oCnn.Execute(sSQL)


With Worksheets(s_WkSheetTo)
    ' формирование заголовков столбцов на листе-получателе
    For i = 0 To oRst.Fields.Count - 1
        .Cells(1, i + 1).Value = oRst(i).Name
    Next i
    
    ' копирование данных из наборзаписей на лист-получатель
    .Range("A2").CopyFromRecordset oRst
End With

' закрытие и уничтожение объектов наборзаписей и подключение
oRst.Close: Set oRst = Nothing
oCnn.Close: Set oCnn = Nothing

End Sub


щас на строке Set oRst = oCnn.Execute(sSQL)
получаю ошибку, что за ересь?
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38605976
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
' формирование текста запроса
sFrom = " FROM [" & s_WkSheetFrom & "$]"

sSQL = "SELECT [Дата], 'Данные1' as Критерий, [Данные1] as Показатель"
sSQL = sSQL & sFrom

For i = 2 To i_MaxCriteria
sSQL = sSQL & " UNION ALL"
sSQL = sSQL & " SELECT [Дата], 'Данные" & i & "', [Данные" & i & "]"
sSQL = sSQL & sFrom
Next i
'Данные1' - почему не квадратные скобки?
Я бы написал CStr(i) вместо i, хотя это вряд ли критично.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38605977
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
' формирование текста запроса
sFrom = " FROM [" & s_WkSheetFrom & "$]"

sSQL = "SELECT [Дата], 'Данные1' as Критерий, [Данные1] as Показатель"
sSQL = sSQL & sFrom

For i = 2 To i_MaxCriteria
    sSQL = sSQL & " UNION ALL"
    sSQL = sSQL & " SELECT [Дата], 'Данные" & i & "', [Данные" & i & "]"
    sSQL = sSQL & sFrom
Next i


'Данные1' - почему не квадратные скобки?
Я бы написал CStr(i) вместо i, хотя это вряд ли критично.
В общем и целом дело в апострофах.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38605979
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv,
Спасибо, попробую, видите ли
эти Данные1 и четыре года назад были не в квадратных скобках и проходило
я же пробовал
что изменилось) хз
пысы
а Челябинск это в челябинской области? :)
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38605981
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я так понял в строке
Код: vbnet
1.
sSQL = "SELECT [Дата], 'Данные1' as Критерий, [Данные1] as Показатель"


надо писать
Код: vbnet
1.
sSQL = "SELECT [Дата], [Данные1] as Критерий, [Данные1] as Показатель"


увы и ах не помогло
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38605982
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если покажете хоть краешек данных, проблема решится быстрее.
p.s. Да.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38605984
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В цикле тоже.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38605989
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv,
цикл
Код: vbnet
1.
2.
3.
4.
5.
For i = 2 To i_MaxCriteria
    sSQL = sSQL & " UNION ALL"
    sSQL = sSQL & " SELECT [Дата], 'Данные" & i & "', [Данные" & i & "]"
    sSQL = sSQL & sFrom
Next i


ну нет слова Данные1 - предполагаю что ....
колдовать можно до утра
можете подправить?? чтобы не колдовать
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38605990
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
For i = 2 To i_MaxCriteria
sSQL = sSQL & " UNION ALL"
sSQL = sSQL & " SELECT [Дата], [Данные" & i & "], [Данные" & i & "]"
sSQL = sSQL & sFrom
Next i
Почему оба поля в запросе имеют одинаковое имя?
Не видя данные, трудно посоветовать наверняка.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38605991
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять забыл форматирование.
Код: vbnet
1.
2.
3.
4.
5.
For i = 2 To i_MaxCriteria
sSQL = sSQL & " UNION ALL"
sSQL = sSQL & " SELECT [Дата], [Данные" & i & "], [Данные" & i & "]"
sSQL = sSQL & sFrom
Next i


Почему оба поля в запросе имеют одинаковое имя?
Не видя данные, трудно посоветовать наверняка.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38605993
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv,
да нет у меня никаких данных я только знакомлюсь, 4 года пробовал, взлетело - офигел
щас не прёт
есть у Вас простейшие примеры уже в файле Экселя? приложьте пжл
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606000
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
'Этот код поместите в ОБЩИЙ модуль:
Public cn As ADODB.Connection
Public rs As ADODB.Recordset
Public pusto As Boolean
Dim errmsg As String
Dim adoerr As ADODB.Error

Public Sub ВыполнитьКоманду(ByVal cnstr As String, ByVal sqlquery As String, ByVal aq As Boolean)
Set cn = CreateObject("ADODB.Connection")
cn.Mode = adModeReadWrite
cn.Open cnstr
        If aq Then
            cn.Execute sqlquery
            cn.Close
            Set cn = Nothing
        Else
            Set rs = CreateObject("ADODB.Recordset")
            rs.CursorType = adOpenStatic
            rs.LockType = adLockBatchOptimistic
            Set rs = cn.Execute(sqlquery)
        End If
End Sub
Public Sub УничтожитьНаборЗаписей(ByVal cntn As Connection, ByVal rst As Recordset)
If Not rst Is Nothing Then
    If rst.State = adStateOpen Then
        rst.Close
    End If
    Set rst = Nothing
End If
If Not cntn Is Nothing Then
    If cntn.State = adStateOpen Then
        cntn.Close
    End If
    Set cntn = Nothing
End If
End Sub
Public Sub ПроверитьНаПустоту(ByVal cntn As Connection, ByVal rst As Recordset)
If rst.BOF = True And rst.EOF = True Then
    rst.Close
    Set rst = Nothing
    cntn.Close
    Set cntn = Nothing
    pusto = True
Else
    pusto = False
End If
End Sub
Public Sub ОбработатьОшибкуЗапроса(ByVal cntn As Connection, ByVal rst As Recordset)
If Not rst Is Nothing Then
    If rst.State = adStateOpen Then
        rst.Close
    End If
Set rst = Nothing
End If
errmsg = ""
If Not cntn Is Nothing Then
    For Each adoerr In cntn.Errors
        errmsg = errmsg & vbCr & "Номер ошибки: " & CStr(adoerr.Number)
        errmsg = errmsg & vbCr & "Описание ошибки: " & adoerr.Description
    Next
    cntn.Errors.Clear
    If cntn.State = adStateOpen Then
        cntn.Close
    End If
    Set cntn = Nothing
End If
If errmsg = "" Then
    errmsg = errmsg & vbCr & "Номер ошибки: " & CStr(Err.Number)
    errmsg = errmsg & vbCr & "Описание ошибки: " & Err.Description
End If
MsgBox errmsg, , "Произошла ошибка"
End Sub
Public Sub ОбработатьОшибкуКоманды(ByVal cntn As Connection)
errmsg = ""
If Not cntn Is Nothing Then
    For Each adoerr In cntn.Errors
        errmsg = errmsg & vbCr & "Номер ошибки: " & CStr(adoerr.Number)
        errmsg = errmsg & vbCr & "Описание ошибки: " & adoerr.Description
    Next
    cntn.Errors.Clear
    If cntn.State = adStateOpen Then
        cntn.Close
    End If
    Set cntn = Nothing
End If
If errmsg = "" Then
    errmsg = errmsg & vbCr & "Номер ошибки: " & CStr(Err.Number)
    errmsg = errmsg & vbCr & "Описание ошибки: " & Err.Description
End If
MsgBox errmsg
End Sub



Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
' Этот код повесьте на кнопку:
On error GoTo errline
Dim cns As String
'cns = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties='Excel 12.0 Macro;HDR=Yes'"
cns= "Provider=Microsoft.Jet.OLEDB.4.0;Mode=Read;Data Source=" _
    & ThisWorkbook.FullName & ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=2'"
Set cn = New ADODB.Connection
cn.Mode = adModeReadWrite
cn.Open cns
sqltext = "SELECT [Поле1],[Поле3] FROM [ Лист1$A1:C6]"
ВыполнитьКоманду cns, sqltext, False
set ws=Thisworkbook.Worksheets.Add
ws.name="РезультатЗапроса"
With Worksheets("РезультатЗапроса")
    ' формирование заголовков столбцов на листе-получателе
    For i = 0 To rs.Fields.Count - 1
        .Cells(1, i + 1).Value = rs.Fields(i).Name
    Next i    
    ' копирование данных из набора записей на лист-получатель
    .Cells(2,1).CopyFromRecordset rs
End With
УничтожитьНаборЗаписей cn, rs
Exit Sub

errline:
ОбработатьОшибкуЗапроса cn, rs
End Sub



Если у Вас Excel 2007, выберите первое значение cns и сохраните файл с расширением xlsm.
Если не будет работать - спрашивайте.
Читайте много про SQL.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606001
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл рисунок
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606002
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Убрал 3 лишние строки, касающиеся cn
' Этот код повесьте на кнопку:
On error GoTo errline
Dim cns As String
'cns = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties='Excel 12.0 Macro;HDR=Yes'"
cns= "Provider=Microsoft.Jet.OLEDB.4.0;Mode=Read;Data Source=" _
& ThisWorkbook.FullName & ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=2'"
sqltext = "SELECT [Поле1],[Поле3] FROM [ Лист1$A1:C6]"
ВыполнитьКоманду cns, sqltext, False
set ws=Thisworkbook.Worksheets.Add
ws.name="РезультатЗапроса"
With Worksheets("РезультатЗапроса")
' формирование заголовков столбцов на листе-получателе
For i = 0 To rs.Fields.Count - 1
.Cells(1, i + 1).Value = rs.Fields(i).Name
Next i
' копирование данных из набора записей на лист-получатель
.Cells(2,1).CopyFromRecordset rs
End With
УничтожитьНаборЗаписей cn, rs
Exit Sub

errline:
ОбработатьОшибкуЗапроса cn, rs
End Sub
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606003
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Убрал 3 лишние строки, касающиеся cn
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
' Этот код повесьте на кнопку:
On error GoTo errline
Dim cns As String
'cns = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties='Excel 12.0 Macro;HDR=Yes'"
cns= "Provider=Microsoft.Jet.OLEDB.4.0;Mode=Read;Data Source=" _
& ThisWorkbook.FullName & ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=2'"
sqltext = "SELECT [Поле1],[Поле3] FROM [ Лист1$A1:C6]"
ВыполнитьКоманду cns, sqltext, False
set ws=Thisworkbook.Worksheets.Add
ws.name="РезультатЗапроса"
With Worksheets("РезультатЗапроса")
' формирование заголовков столбцов на листе-получателе
For i = 0 To rs.Fields.Count - 1
.Cells(1, i + 1).Value = rs.Fields(i).Name
Next i 
' копирование данных из набора записей на лист-получатель
.Cells(2,1).CopyFromRecordset rs
End With
УничтожитьНаборЗаписей cn, rs
Exit Sub

errline:
ОбработатьОшибкуЗапроса cn, rs
End Sub
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606005
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv, извините есть это всё уже в файле офиса 2003?
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606036
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это работает в Excel 2003. Все дело в строке соединения (в коде - значение переменной cns). Для Excel 2007 нужна (желательна) другая строка - та, которая которая закомментирована.
Я привел этот код (к нему я пришел постепенно) для того, чтобы показать Вам направление в сторону обобщения.
Безусловно, он не является примером с большой буквы, но для меня очень полезен.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606046
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv,
щас Шокер придёт, ругаться будет за отсутствие
Option Explicit
и вставив его получим просьбу
sqltext = "SELECT [Поле1],[Поле3] FROM [ Лист1$A1:C6]"
объявить и как её объявлять?
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606050
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шокер придет и будет вопрошать, когда ты уже выучишь типы данных?
что сложного в объявлении этой переменной?
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606054
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Всё по кругу
в объявлении этой переменной нет проблем
но потом понеслось, выделяет: cn As ADODB.Connection
а тут я уже по нулям
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606055
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объявите, если боитесь Shocker.Pro'а: Dim sqltext as String. Ну, а если вставили Option Explicit, то обязательно!
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606056
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофав объявлении этой переменной нет проблем
но потом понеслось, выделяет: cn As ADODB.Connection
а тут я уже по нулям
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606057
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А библиотеку подключили? Microsoft ActiveX Data Object 2.x Library.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606060
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv, одна радость в том, что они по алфавиту находятся нет, то о чём вы говорите
начинающиеся с Data только
Data Object Wizard
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606062
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ищите и обрящете.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606066
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv, да дословно надо было смотреть Microsoft ActiveX Data Object 2.x Library
у меня старшая
Microsoft ActiveX Data Object 2.8 Library
ну теперь просит объявления Set ws = ThisWorkbook.Worksheets.Add
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606068
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверное надо посмотреть в справке или в F2, что возвращает Worksheets.Add и именно такого типа объявить переменную
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606069
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...если вставили Option Explicit, то обязательно!
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606071
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim ws As Worksheet
Dim i as Integer
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606075
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv,
Dim i as Integer - а что мы память жалеем?
я где-то читал, что лучше Long
да, бог с ним
Щас не спотыкается
мессага
недопустимое использование скобок с именем Лист1$A1:C6
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606084
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqltext = "SELECT [Поле1],[Поле3] FROM [ Лист1$A1:C6]"
Уберите пробел после первой скобки (случайно вставил).
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606088
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv, как я понял нужно
Код: vbnet
1.
sqltext = "SELECT [Поле1],[Поле3] FROM [Лист1$A1:C6]"


опять мессага - отсутствует значение для одного или нескольких требуемых параметров
то есть это гуд?
надо уже заполнять лист
в каком диапазоне? A1:C6?
что внести чтобы сознание пришло?
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606095
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqltext = "SELECT [Поле1],[Поле3] FROM [Лист1$A1:C6]"
Можно просто sqltext = "SELECT [Поле1],[Поле3] FROM [Лист1$]"
Я хотел показать, что можно специфицировать диапазон данных на листе.
И да, пора уже таблицу. Имена полей, конечно, будут Ваши. Соответственно измените текст запроса.
Следующий этап - писать текст запроса в Textbox'е на форме.
Следующий этап - и строку соединения выбирать из ComboBo'а на форме.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606098
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл добавить: символы [ и ] необязательны (во всяком случае, с английскими именами полей).
Если select name As Наименование детали, то ошибка. Нужно [Наименование детали].
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606102
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606105
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv, спасибо!!!
Следующий этап - писать текст запроса в Textbox'е на форме
как я понял это sqltext =?
Следующий этап - и строку соединения выбирать из ComboBo'а на форме
это где? и что даёт?
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606106
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так у Вас получилось выбрать данные и поместить их на лист?
sqltext=Trim(TextBox1.Text)
cns=Trim(ComboBox1.Text)
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606108
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы можете обращаться с запросами не только к таблицам Excel, но и, например, MS SQL Server. Значит, нужно иметь возможность
изменять строку соединения, не залезая каждый раз в код.
Можно их (строки) хранить в файле, например, Строки.txt и загружать их в ComboBox в начале работы.
В общем, я Вам завидую - столько нового впереди!
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606112
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаDim i as Integer - а что мы память жалеем? я где-то читал , что лучше LongzchvvВ общем, я Вам завидую - столько нового впереди!ага, например разобраться например, чем отличается string от object, integer от long - уже четвертый год не можем, а сколько еще не познанного. было бы желание познавать.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606114
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv,
спасибо идёт со скрипом, я правильно понял эту строку
Код: vbnet
1.
2.
'выбрать Поле1 и [Поле3] из диапазона [Лист1$A1:C6]
sqltext = "SELECT [Поле1],[Поле3] FROM [Лист1$A1:C6]"


поля можно писать
[Поле1] - [Поле3] ?
[Поле1] - [Поле3], [Поле5],[Поле7] ?
поля можно иметь в лоб по имени столбца, как они тогда правильно пишутся?
а если вывод нужен предварительно плюсонув поля между собой?
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606118
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь я могу только повторить - Читайте много про SQL.
Никто не даст нам избавленья - ни Бог, ни царь и ни герой.
Добьемся мы освобожденья своею собственной ГОЛОВОЙ.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606119
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv,
согласен
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606120
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл сказать. Я и сам отношусь к Shokcer.Pro почти как к божеству и уповаю на его помощь в исключительных для меня случаях.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606122
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv,
у него много поклонников...
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606123
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лесть - это грех, дети мои
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606124
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, Вы же знаете, я на многое пойду для достижения результата
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606211
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кто эти книги пишет..
ознакомился
когда вы собираетесь выбрать данные с определенным условием WHERE. Следующий запрос возвратит все столбцы со всех строк, где «column1» содержит значение «3»:
SELECT * FROM table_name WHERE column1=3;

спрашивается зачем все столбцы дёргать если нужно только «column1»??

Ересь?
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606238
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофакто эти книги пишет..тут проблема в читателе, а не в писателе

читай до просветления
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606240
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофа если нужно только «column1»это твои фантазии, в оригинале этого нет
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606286
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, ну в честь праздника приоткройте занавесу знаний - мне не доходит
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606289
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT * FROM table_name WHERE column1=3;

В результат запроса попадут только те строки, в которых значение поля column1=3

Читать, читать и еще раз читать. Просветление неизбежно!
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606292
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv,
я про то что коммент в книге к этому запросу такой
когда вы собираетесь выбрать данные с определенным условием WHERE. Следующий запрос возвратит все столбцы со всех строк, где «column1» содержит значение «3»

А мне кажется должно быть так
когда вы собираетесь выбрать данные с определенным условием WHERE. Следующий запрос возвратит с столбца «column1», со всех его строк, где этот столбец содержит значение «3»
разве нет?
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606300
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда было бы так:
SELECT column1 FROM table_name WHERE column1=3;
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606302
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаSELECT * FROM table_name WHERE column1=3;

спрашивается зачем все столбцы дёргать если нужно только «column1»??


и зачем?
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606306
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаесли нужно только «column1»??зачем тебе column1, если ты и так знаешь, что он равен 3. Именно он тебе и не нужен.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606307
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например, выбрать всех людей, возраст которых >=50 и <=60
При этом выбранные строки будут выглядеть так:
ФИО Адрес Образование Возраст
Ципихович Челябинская область Высшее-превысшее 41
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606308
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Челябинская область Высшее-превысшее 51
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606312
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProИменно он тебе и не нужен.
и как это стыкуется с * FROM table_name??
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606314
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* - все поля
FROM - из
table_name - указанной таблицы
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606318
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
* - все поля - всё тупость прерывается
жаль не найду где я вчера смотрел, но в свою тетрадку я записал

'можно получить все столбцы из таблицы, используя подстановочный знак «*»:
'SELECT * FROM table_name;

а надо было так

'можно получить все столбцы поля из таблицы, используя подстановочный знак «*»:
'SELECT * FROM table_name;

так?
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606319
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
слово столбцы хотел зачеркнуть, а оно подчеркнулось
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606323
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поле - это элемент строки.
Столбец - элемент таблицы.
Выбираем из таблицы - значит правильнее <столбцы>?
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606324
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv, понял, моя тетрадка - там всё по моему написано
останемся каждый при своём мнении
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606351
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
фамилияимяотчестводата рожденияадресстолбецстолбецполестолбецстолбецполестолбецстолбецстолбецполестолбец
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606371
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, я ж в Экселе, не поле а ячейка :)
да понял я уже
видите по чётным дням понимаю :)
Ну откройте тайну - в лоб в экселе по имени столбца экселя и по порядковому номеру строки поля именовать можно в SQL запросе, типа A1 - левое верхнее поле?
А то иначе нафиг эксель нужен, все его поля обзови по новому если они уже имеют название?
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606448
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в запросе - нет, но на выходе (в Recordset) можно отбирать поля как по имени, так и по индексу
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606482
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
жалко...
как выбрать столбцы я понял, а строки выбирать можно, как?
перед выводом в нужное место математические операции с выбранным можно сделать, как?
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606484
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может ты все-таки прочитаешь книжку, а не методом тыка будешь изучать?

катастрофаа строки выбирать можно, как?WHERE <условие>

катастрофаперед выводом в нужное место математические операции с выбранным можно сделать, как?SELECT <формула>
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606497
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Shocker.Pro,
если смотреть
15838966
столбец это например "дата рождения"
поле это например пересечение стобца "дата рождения" и строки
строк восемь их имена тупо 1-8?
то есть в левом нижнем углу где указано none это поле
"дата рождения" & 8
так?
спасибо
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606519
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в БД нет понятия номер строки (записи).
запрос к БД может вернуть строки (записи) в произвольном порядке (это зависит от СУБД и от того, как хранятся данные).
чтобы запрос возвращал данные в каком-то конкретном порядке, нужно указывать ORDER BY в запросе.

Поскольку понятия номера строки у запроса нет, им и не оперируют при работе с SQL-запросами.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606535
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
ВЕЩЬ
Составление и выполнение SQL запросов on-line
http://codingcraft.ru/php-samples/sql.php
смог я строку одну увидеть
SELECT XD_IID, XD_OID, S_NAME, S_POSITION, S_EXPERIENCE, S_CHIEF_ID, S_COMMENTS FROM D_STAFF WHERE XD_IID = 1 Выбор только отдельных строк таблицы
чует моё сердце что можно-нужно писать
XD_IID-S_COMMENTS
или
XD_IID:S_COMMENTS
читал, не нашёл, видимо мелким почерком пишут, как надо подскажите пжл
Шокер, переименуйте что-ли тему типа Ципихович Эндрю и SQL, знакомство
спасибо
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606550
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эндрю, прочтите уже хоть основы.
После SELECT указываются поля/столбцы(название и порядок). Именно эти поля/столбцы из всей таблицы и будут отобраны. Звездочка - все поля без разбора.
WHERE - определяет условие отбора строк. Если есть у Вас столбец с ID строки(допустим XD_IID) и Вы знаете точно какую вернуть - то и указываете:
WHERE XD_IID = 1.

Можно выводить определенное кол-во строк, начиная с указанной:
Код: sql
1.
2.
3.
SELECT * 
FROM 'D_STAFF' 
LIMIT 0 , 30


выведет 30 строк, начиная с первой.
Код: sql
1.
2.
3.
SELECT * 
FROM 'D_STAFF' 
LIMIT 40 , 10


Выведет 10 строк, начиная с 40-й.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606558
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Prist
Код: sql
1.
LIMIT 40 , 10

Стоит оговорить, что эта конструкция подходит ДАЛЕКО не для каждой СУБД и применять без ORDER BY ее неправильно
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606577
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
люди добрые, пжл поправку сделайте не БД? а Эксель
Код: vbnet
1.
2.
sqltext = "SELECT [Поле1],[Поле3] FROM [Лист1$A1:C6]" '- прёт, два столбца
sqltext = "SELECT [Поле1],[Поле2],[Поле3] FROM [Лист1$A1:C6] WHERE [Поле1] = Значение11"


хочу 1 строку, не прёт, подскажите как нужно?

Лист Экселя выглядит
Поле1 Поле2 Поле3
Знач11 Знач12 Знач13
Знач21 Знач22 Знач23
Знач31 Знач32 Знач33
Знач41 Знач42 Знач43
Знач51 Знач52 Знач53
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606685
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
sqltext = "SELECT [Поле1],[Поле2],[Поле3] FROM [Лист1$A1:C6] WHERE [Поле1] = ""Знач11"""
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606790
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Public Function quote(ByVal s As String) As String
quote = Chr(39) & s & Chr(39)
End Function

После чего:
sqltext = "SELECT [Поле1],[Поле2],[Поле3] FROM [Лист1$A1:C6] WHERE [Поле1] = quote("Знач11")
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606794
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо
и в чём разница между написаниями ""Знач11"" и quote("Знач11") как правильней писать и в случае quote("Знач11") помоему за скобками нужны кавычки ", нет?
а это [Поле1],[Поле2],[Поле3] не пишется типа [Поле1]-[Поле3] или [Поле1]:[Поле3]??
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606801
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В предложении SELECT имена столбцов перечисляются через запятую. Я не понимаю, почему Вам хочется обязательно по другому.
chr(39) - это апостроф '
chr(34) - это кавычка "
quote("Значение") написать проще, чем ...
Если var=Значение", тогда quote(var)
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38606845
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv,
>В предложении SELECT имена столбцов перечисляются через запятую. Я не понимаю, почему Вам хочется обязательно по другому
потому, что Вам же нравится обращение к Экселю A1:C6, но можно его писать и через запятую
Ясно, понедельник начался отлично...
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38607741
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38607835
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>куда там
>4 года назад пробовал, работало
речь об этом
15836219
так я нашёл тот файл 4 х летней давности и код работает
скажите на милость почему в этом файле оно работает?
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38609048
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофа>куда там
>4 года назад пробовал, работало
речь об этом
15836219
так я нашёл тот файл 4 х летней давности и код работает
скажите на милость почему в этом файле оно работает?

Указанный Вами код работает, потому что он составлен правильно семантически и ситаксически.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38609055
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidyкатастрофа>куда там
>4 года назад пробовал, работало
речь об этом
15836219
так я нашёл тот файл 4 х летней давности и код работает
скажите на милость почему в этом файле оно работает?

Указанный Вами код работает, потому что он составлен правильно семантически и ситаксически.

Прошу прощения, я конечно же имел в виду синтаксически. Возможно стоит убедиться, что файл с данными сохранен и структура данных соответствует запросу.
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38609287
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidy, так я же следом после этого выложенного кода писал
>щас на строке Set oRst = oCnn.Execute(sSQL)
>получаю ошибку, что за ересь?
может поэтому - библиотека Microsoft ActiveX Data Object 2.x Library должна быть подключена?
...
Рейтинг: 0 / 0
программно поставить сумму с разных листов экселя
    #38610511
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаiMrTidy, так я же следом после этого выложенного кода писал
>щас на строке Set oRst = oCnn.Execute(sSQL)
>получаю ошибку, что за ересь?
может поэтому - библиотека Microsoft ActiveX Data Object 2.x Library должна быть подключена?

1) Почему именно 2.x?
2) В коде используется CreateObject , ссылка не нужна.
3) Если бы какая-то ссылка была пропущена, то компилятор указал бы на неопределенный пользовательский тип.
4) Код в приложенном мною файле работает без ошибок?
5) Если Ваш вопрос заключается в том, почему в одном файле код работает без ошибок, а в другом аналогичный код не работает, то будет на много проще помочь, если оба файла будут доступны.
6) Каков текст сообщения об ошибке?

Как я успел заметить, на этом форуме крайне не приветствуется пренебрежительное отношение к русскому языку. Поэтому Вам лучше избавиться от таких слов как "щас". А ересь - это сознательное отклонение от общепринятого религиозного учения и к вопросам программирования имеет весьма опосредованное отношение.

По моему сугубо субъективному мнению идея топиков на форумах состоит не только в том, чтобы автор вопроса получил помощь, но и другие пользователи смогли легко и быстро найти ответы, поэтому тема топика должна наилучшим образом отображать суть проблемы, а обсуждение не выходить за рамки темы. В связи с этим вопрос: "Какое отношение Ваш последний вопрос имеет к первоначальной проблеме?" И еще один: "Тема топика соотносится с той проблемой, с которой Вы обратились изначально?"
...
Рейтинг: 0 / 0
95 сообщений из 95, показаны все 4 страниц
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / программно поставить сумму с разных листов экселя
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]