powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / программно поставить сумму с разных листов экселя
25 сообщений из 95, страница 2 из 4
программно поставить сумму с разных листов экселя
    #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
25 сообщений из 95, страница 2 из 4
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / программно поставить сумму с разных листов экселя
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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