|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
zchvv, извините есть это всё уже в файле офиса 2003? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 11:14 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Это работает в Excel 2003. Все дело в строке соединения (в коде - значение переменной cns). Для Excel 2007 нужна (желательна) другая строка - та, которая которая закомментирована. Я привел этот код (к нему я пришел постепенно) для того, чтобы показать Вам направление в сторону обобщения. Безусловно, он не является примером с большой буквы, но для меня очень полезен. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 12:45 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
zchvv, щас Шокер придёт, ругаться будет за отсутствие Option Explicit и вставив его получим просьбу sqltext = "SELECT [Поле1],[Поле3] FROM [ Лист1$A1:C6]" объявить и как её объявлять? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 12:56 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Шокер придет и будет вопрошать, когда ты уже выучишь типы данных? что сложного в объявлении этой переменной? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 13:01 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Shocker.Pro, Всё по кругу в объявлении этой переменной нет проблем но потом понеслось, выделяет: cn As ADODB.Connection а тут я уже по нулям ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 13:08 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Объявите, если боитесь Shocker.Pro'а: Dim sqltext as String. Ну, а если вставили Option Explicit, то обязательно! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 13:09 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
катастрофав объявлении этой переменной нет проблем но потом понеслось, выделяет: cn As ADODB.Connection а тут я уже по нулям ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 13:12 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
А библиотеку подключили? Microsoft ActiveX Data Object 2.x Library. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 13:12 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
zchvv, одна радость в том, что они по алфавиту находятся нет, то о чём вы говорите начинающиеся с Data только Data Object Wizard ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 13:16 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Ищите и обрящете. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 13:19 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
zchvv, да дословно надо было смотреть Microsoft ActiveX Data Object 2.x Library у меня старшая Microsoft ActiveX Data Object 2.8 Library ну теперь просит объявления Set ws = ThisWorkbook.Worksheets.Add ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 13:35 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
наверное надо посмотреть в справке или в F2, что возвращает Worksheets.Add и именно такого типа объявить переменную ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 13:38 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
...если вставили Option Explicit, то обязательно! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 13:38 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Dim ws As Worksheet Dim i as Integer ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 13:41 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
zchvv, Dim i as Integer - а что мы память жалеем? я где-то читал, что лучше Long да, бог с ним Щас не спотыкается мессага недопустимое использование скобок с именем Лист1$A1:C6 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 14:01 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
sqltext = "SELECT [Поле1],[Поле3] FROM [ Лист1$A1:C6]" Уберите пробел после первой скобки (случайно вставил). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 14:19 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
zchvv, как я понял нужно Код: vbnet 1.
опять мессага - отсутствует значение для одного или нескольких требуемых параметров то есть это гуд? надо уже заполнять лист в каком диапазоне? A1:C6? что внести чтобы сознание пришло? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 14:40 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
sqltext = "SELECT [Поле1],[Поле3] FROM [Лист1$A1:C6]" Можно просто sqltext = "SELECT [Поле1],[Поле3] FROM [Лист1$]" Я хотел показать, что можно специфицировать диапазон данных на листе. И да, пора уже таблицу. Имена полей, конечно, будут Ваши. Соответственно измените текст запроса. Следующий этап - писать текст запроса в Textbox'е на форме. Следующий этап - и строку соединения выбирать из ComboBo'а на форме. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 14:52 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Забыл добавить: символы [ и ] необязательны (во всяком случае, с английскими именами полей). Если select name As Наименование детали, то ошибка. Нужно [Наименование детали]. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 14:56 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 15:03 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
zchvv, спасибо!!! Следующий этап - писать текст запроса в Textbox'е на форме как я понял это sqltext =? Следующий этап - и строку соединения выбирать из ComboBo'а на форме это где? и что даёт? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 15:08 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Так у Вас получилось выбрать данные и поместить их на лист? sqltext=Trim(TextBox1.Text) cns=Trim(ComboBox1.Text) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 15:12 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Вы можете обращаться с запросами не только к таблицам Excel, но и, например, MS SQL Server. Значит, нужно иметь возможность изменять строку соединения, не залезая каждый раз в код. Можно их (строки) хранить в файле, например, Строки.txt и загружать их в ComboBox в начале работы. В общем, я Вам завидую - столько нового впереди! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 15:21 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
катастрофаDim i as Integer - а что мы память жалеем? я где-то читал , что лучше LongzchvvВ общем, я Вам завидую - столько нового впереди!ага, например разобраться например, чем отличается string от object, integer от long - уже четвертый год не можем, а сколько еще не познанного. было бы желание познавать. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 15:35 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
zchvv, спасибо идёт со скрипом, я правильно понял эту строку Код: vbnet 1. 2.
поля можно писать [Поле1] - [Поле3] ? [Поле1] - [Поле3], [Поле5],[Поле7] ? поля можно иметь в лоб по имени столбца, как они тогда правильно пишутся? а если вывод нужен предварительно плюсонув поля между собой? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 15:41 |
|
|
start [/forum/topic.php?fid=61&msg=38606050&tid=2174118]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 322ms |
total: | 490ms |
0 / 0 |