|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
здравствуйте, в приведённом коде ладно последняя строка указывает на ошибку но предпоследняя строка то в честь чего? - с чего в строковую переменную я не могу написать нужное?? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2014, 07:27 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Эндрю, с чего ты взял, что можешь записать лист в текстовую переменную? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2014, 09:16 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Shocker.Pro, но я же это делаю в Экселе да и ранее мне подсказывали Код: vbnet 1.
и как быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2014, 09:48 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
сравнить две эти строки между собой ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2014, 10:22 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Shocker.Pro, .Name - май нейм Эндрю, спасибо!!!!! пробую ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2014, 10:36 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
катастрофа, да уж одна голова хорошо, а две лучше всё срослось ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2014, 11:45 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
тема моя так, что можно и пофлудить, нужда заставила с Экселем работать как-то мне г-н Скукотища давал пример супер запроса к таблице Эксель, увы потерял я ссылку на это, как искать хз это вроде SQL запросы называются? как искать уже готовые рабочие запросы - примеры для этих целей для знакомства, спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2014, 20:35 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
вот тебе готовый пример, ищи на форуме по аналогии Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
Если вы используете для подключения OLE DB и параметр HDR=Yes, то обращаться к полям нужно по именам, оказавшимся в первой строке диапазона-источника. Можете выставить HDR=No, тогда имена полей будут F1, F2, F3 и т.д. Не забывайте, что при использовании параметра IMEX=1 все данные преобразуются в текст! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2014, 21:57 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Только, не осилив за четыре года разницу между типами данных, осилить хотя бы элементарный запрос на SQL тебе точно не светит ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2014, 21:58 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2014, 15:58 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
куда там 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.
щас на строке Set oRst = oCnn.Execute(sSQL) получаю ошибку, что за ересь? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 06:24 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
' формирование текста запроса 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, хотя это вряд ли критично. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 09:42 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Прошу прощения. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
'Данные1' - почему не квадратные скобки? Я бы написал CStr(i) вместо i, хотя это вряд ли критично. В общем и целом дело в апострофах. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 09:45 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
zchvv, Спасибо, попробую, видите ли эти Данные1 и четыре года назад были не в квадратных скобках и проходило я же пробовал что изменилось) хз пысы а Челябинск это в челябинской области? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 09:49 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
я так понял в строке Код: vbnet 1.
надо писать Код: vbnet 1.
увы и ах не помогло ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 09:56 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Если покажете хоть краешек данных, проблема решится быстрее. p.s. Да. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 10:01 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
В цикле тоже. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 10:01 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
zchvv, цикл Код: vbnet 1. 2. 3. 4. 5.
ну нет слова Данные1 - предполагаю что .... колдовать можно до утра можете подправить?? чтобы не колдовать ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 10:08 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
For i = 2 To i_MaxCriteria sSQL = sSQL & " UNION ALL" sSQL = sSQL & " SELECT [Дата], [Данные" & i & "], [Данные" & i & "]" sSQL = sSQL & sFrom Next i Почему оба поля в запросе имеют одинаковое имя? Не видя данные, трудно посоветовать наверняка. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 10:13 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Опять забыл форматирование. Код: vbnet 1. 2. 3. 4. 5.
Почему оба поля в запросе имеют одинаковое имя? Не видя данные, трудно посоветовать наверняка. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 10:15 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
zchvv, да нет у меня никаких данных я только знакомлюсь, 4 года пробовал, взлетело - офигел щас не прёт есть у Вас простейшие примеры уже в файле Экселя? приложьте пжл ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 10:17 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Код: 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.
Код: 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.
Если у Вас Excel 2007, выберите первое значение cns и сохраните файл с расширением xlsm. Если не будет работать - спрашивайте. Читайте много про SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 11:04 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Забыл рисунок ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 11:06 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Убрал 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 11:10 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Убрал 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 11:13 |
|
|
start [/forum/topic.php?fid=61&msg=38603853&tid=2174118]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 312ms |
total: | 464ms |
0 / 0 |