|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#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 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#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 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Здесь я могу только повторить - Читайте много про SQL. Никто не даст нам избавленья - ни Бог, ни царь и ни герой. Добьемся мы освобожденья своею собственной ГОЛОВОЙ. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 15:51 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
zchvv, согласен ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 15:55 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Забыл сказать. Я и сам отношусь к Shokcer.Pro почти как к божеству и уповаю на его помощь в исключительных для меня случаях. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 15:58 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
zchvv, у него много поклонников... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 16:01 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Лесть - это грех, дети мои ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 16:02 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Shocker.Pro, Вы же знаете, я на многое пойду для достижения результата ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 16:03 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
кто эти книги пишет.. ознакомился когда вы собираетесь выбрать данные с определенным условием WHERE. Следующий запрос возвратит все столбцы со всех строк, где «column1» содержит значение «3»: SELECT * FROM table_name WHERE column1=3; спрашивается зачем все столбцы дёргать если нужно только «column1»?? Ересь? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 22:03 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
катастрофакто эти книги пишет..тут проблема в читателе, а не в писателе читай до просветления ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 23:21 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
катастрофа если нужно только «column1»это твои фантазии, в оригинале этого нет ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 23:22 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Shocker.Pro, ну в честь праздника приоткройте занавесу знаний - мне не доходит ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 07:20 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
SELECT * FROM table_name WHERE column1=3; В результат запроса попадут только те строки, в которых значение поля column1=3 Читать, читать и еще раз читать. Просветление неизбежно! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 07:32 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
zchvv, я про то что коммент в книге к этому запросу такой когда вы собираетесь выбрать данные с определенным условием WHERE. Следующий запрос возвратит все столбцы со всех строк, где «column1» содержит значение «3» А мне кажется должно быть так когда вы собираетесь выбрать данные с определенным условием WHERE. Следующий запрос возвратит с столбца «column1», со всех его строк, где этот столбец содержит значение «3» разве нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 08:29 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Тогда было бы так: SELECT column1 FROM table_name WHERE column1=3; ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 08:56 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
катастрофаSELECT * FROM table_name WHERE column1=3; спрашивается зачем все столбцы дёргать если нужно только «column1»?? и зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 09:01 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
катастрофаесли нужно только «column1»??зачем тебе column1, если ты и так знаешь, что он равен 3. Именно он тебе и не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 09:11 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Например, выбрать всех людей, возраст которых >=50 и <=60 При этом выбранные строки будут выглядеть так: ФИО Адрес Образование Возраст Ципихович Челябинская область Высшее-превысшее 41 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 09:13 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Ципихович Челябинская область Высшее-превысшее 51 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 09:14 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Shocker.ProИменно он тебе и не нужен. и как это стыкуется с * FROM table_name?? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 09:19 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
* - все поля FROM - из table_name - указанной таблицы ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 09:28 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Shocker.Pro, * - все поля - всё тупость прерывается жаль не найду где я вчера смотрел, но в свою тетрадку я записал 'можно получить все столбцы из таблицы, используя подстановочный знак «*»: 'SELECT * FROM table_name; а надо было так 'можно получить все столбцы поля из таблицы, используя подстановочный знак «*»: 'SELECT * FROM table_name; так? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 09:45 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
слово столбцы хотел зачеркнуть, а оно подчеркнулось ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 09:46 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Поле - это элемент строки. Столбец - элемент таблицы. Выбираем из таблицы - значит правильнее <столбцы>? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 09:57 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
zchvv, понял, моя тетрадка - там всё по моему написано останемся каждый при своём мнении ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 10:01 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
фамилияимяотчестводата рожденияадресстолбецстолбецполестолбецстолбецполестолбецстолбецстолбецполестолбец ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 11:29 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Shocker.Pro, я ж в Экселе, не поле а ячейка :) да понял я уже видите по чётным дням понимаю :) Ну откройте тайну - в лоб в экселе по имени столбца экселя и по порядковому номеру строки поля именовать можно в SQL запросе, типа A1 - левое верхнее поле? А то иначе нафиг эксель нужен, все его поля обзови по новому если они уже имеют название? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 12:03 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
в запросе - нет, но на выходе (в Recordset) можно отбирать поля как по имени, так и по индексу ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 14:31 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Shocker.Pro, жалко... как выбрать столбцы я понял, а строки выбирать можно, как? перед выводом в нужное место математические операции с выбранным можно сделать, как? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 15:16 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Может ты все-таки прочитаешь книжку, а не методом тыка будешь изучать? катастрофаа строки выбирать можно, как?WHERE <условие> катастрофаперед выводом в нужное место математические операции с выбранным можно сделать, как?SELECT <формула> ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 15:18 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Shocker.Pro, Shocker.Pro, если смотреть 15838966 столбец это например "дата рождения" поле это например пересечение стобца "дата рождения" и строки строк восемь их имена тупо 1-8? то есть в левом нижнем углу где указано none это поле "дата рождения" & 8 так? спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 15:47 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
в БД нет понятия номер строки (записи). запрос к БД может вернуть строки (записи) в произвольном порядке (это зависит от СУБД и от того, как хранятся данные). чтобы запрос возвращал данные в каком-то конкретном порядке, нужно указывать ORDER BY в запросе. Поскольку понятия номера строки у запроса нет, им и не оперируют при работе с SQL-запросами. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 16:31 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
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, знакомство спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 17:04 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Эндрю, прочтите уже хоть основы. После SELECT указываются поля/столбцы(название и порядок). Именно эти поля/столбцы из всей таблицы и будут отобраны. Звездочка - все поля без разбора. WHERE - определяет условие отбора строк. Если есть у Вас столбец с ID строки(допустим XD_IID) и Вы знаете точно какую вернуть - то и указываете: WHERE XD_IID = 1. Можно выводить определенное кол-во строк, начиная с указанной: Код: sql 1. 2. 3.
выведет 30 строк, начиная с первой. Код: sql 1. 2. 3.
Выведет 10 строк, начиная с 40-й. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 17:39 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
The_Prist Код: sql 1.
Стоит оговорить, что эта конструкция подходит ДАЛЕКО не для каждой СУБД и применять без ORDER BY ее неправильно ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 18:02 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
люди добрые, пжл поправку сделайте не БД? а Эксель Код: vbnet 1. 2.
хочу 1 строку, не прёт, подскажите как нужно? Лист Экселя выглядит Поле1 Поле2 Поле3 Знач11 Знач12 Знач13 Знач21 Знач22 Знач23 Знач31 Знач32 Знач33 Знач41 Знач42 Знач43 Знач51 Знач52 Знач53 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 18:34 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2014, 22:10 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
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") ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2014, 05:42 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
спасибо и в чём разница между написаниями ""Знач11"" и quote("Знач11") как правильней писать и в случае quote("Знач11") помоему за скобками нужны кавычки ", нет? а это [Поле1],[Поле2],[Поле3] не пишется типа [Поле1]-[Поле3] или [Поле1]:[Поле3]?? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2014, 05:55 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
В предложении SELECT имена столбцов перечисляются через запятую. Я не понимаю, почему Вам хочется обязательно по другому. chr(39) - это апостроф ' chr(34) - это кавычка " quote("Значение") написать проще, чем ... Если var=Значение", тогда quote(var) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2014, 06:31 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
zchvv, >В предложении SELECT имена столбцов перечисляются через запятую. Я не понимаю, почему Вам хочется обязательно по другому потому, что Вам же нравится обращение к Экселю A1:C6, но можно его писать и через запятую Ясно, понедельник начался отлично... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2014, 08:39 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2014, 22:46 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
>куда там >4 года назад пробовал, работало речь об этом 15836219 так я нашёл тот файл 4 х летней давности и код работает скажите на милость почему в этом файле оно работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2014, 05:36 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
катастрофа>куда там >4 года назад пробовал, работало речь об этом 15836219 так я нашёл тот файл 4 х летней давности и код работает скажите на милость почему в этом файле оно работает? Указанный Вами код работает, потому что он составлен правильно семантически и ситаксически. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2014, 21:52 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
iMrTidyкатастрофа>куда там >4 года назад пробовал, работало речь об этом 15836219 так я нашёл тот файл 4 х летней давности и код работает скажите на милость почему в этом файле оно работает? Указанный Вами код работает, потому что он составлен правильно семантически и ситаксически. Прошу прощения, я конечно же имел в виду синтаксически. Возможно стоит убедиться, что файл с данными сохранен и структура данных соответствует запросу. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2014, 22:02 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
iMrTidy, так я же следом после этого выложенного кода писал >щас на строке Set oRst = oCnn.Execute(sSQL) >получаю ошибку, что за ересь? может поэтому - библиотека Microsoft ActiveX Data Object 2.x Library должна быть подключена? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2014, 08:52 |
|
программно поставить сумму с разных листов экселя
|
|||
---|---|---|---|
#18+
катастрофаiMrTidy, так я же следом после этого выложенного кода писал >щас на строке Set oRst = oCnn.Execute(sSQL) >получаю ошибку, что за ересь? может поэтому - библиотека Microsoft ActiveX Data Object 2.x Library должна быть подключена? 1) Почему именно 2.x? 2) В коде используется CreateObject , ссылка не нужна. 3) Если бы какая-то ссылка была пропущена, то компилятор указал бы на неопределенный пользовательский тип. 4) Код в приложенном мною файле работает без ошибок? 5) Если Ваш вопрос заключается в том, почему в одном файле код работает без ошибок, а в другом аналогичный код не работает, то будет на много проще помочь, если оба файла будут доступны. 6) Каков текст сообщения об ошибке? Как я успел заметить, на этом форуме крайне не приветствуется пренебрежительное отношение к русскому языку. Поэтому Вам лучше избавиться от таких слов как "щас". А ересь - это сознательное отклонение от общепринятого религиозного учения и к вопросам программирования имеет весьма опосредованное отношение. По моему сугубо субъективному мнению идея топиков на форумах состоит не только в том, чтобы автор вопроса получил помощь, но и другие пользователи смогли легко и быстро найти ответы, поэтому тема топика должна наилучшим образом отображать суть проблемы, а обсуждение не выходить за рамки темы. В связи с этим вопрос: "Какое отношение Ваш последний вопрос имеет к первоначальной проблеме?" И еще один: "Тема топика соотносится с той проблемой, с которой Вы обратились изначально?" ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2014, 22:10 |
|
|
start [/forum/topic.php?all=1&fid=61&tid=2174118]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
96ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 206ms |
0 / 0 |