|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
Подскажите где ошибаюсь? Синим выделила, то что сама добавила. Без синего работает. Понимаю, что ошибка там где выделено синим, однако я новичек в этом. Помогите подправить. Option Explicit Sub AddReferences() '--------------------------------------------------------------------------------------- '--------------------------------------------------------------------------------------- On Error Resume Next 'Name: ADODB 'Description: Microsoft ActiveX Data Objects 2.8 Library ThisWorkbook.VBProject.References.AddFromFile ("C:\Program Files\Common Files\System\ado\msado15.dll") ThisWorkbook.VBProject.References.AddFromGuid GUID:="{2A75196C-D9EB-4129-B803-931327F72D5C}", Major:=2, Minor:=8 End Sub Function GetData(strPath As String, strField1 As String, strOperator1 As String, strCriterion1 As String, strField2 As String, strOperator2 As String, strCriterion2 As String, strField3 As String, strOperator3 As String, strCriterion3 As String) As Integer Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Set cnn = New ADODB.Connection Set rst = New ADODB.Recordset Dim strSQL As String cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & strPath & ";" & "Extended Properties=""Excel 9.0;HDR=Yes;IMEX=1""" ' и это не работает strSQL = "SELECT Count([" & strField1 & "]) FROM [Лист3$A3:L1000] WHERE [" & strField1 & "]" & strOperator1 & "'" & strCriterion1 & "'" and [" & strField2 & "]" & strOperator2 & "'" & strCriterion2 & "'" and [" & strField3 & "]" & strOperator3 & "'" & strCriterion3 & "'" rst.Open strSQL, cnn GetData = rst.Fields(0) rst.Close cnn.Close Set rst = Nothing Set cnn = Nothing End Function Sub test() Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Set cnn = New ADODB.Connection Set rst = New ADODB.Recordset Dim strSQL As String Dim strCriterion As String Dim strField As String Dim strRange As String Dim strPath As String Dim strOperator1 As String Dim strOperator2 As String Dim strOperator3 As String strOperator1 = "=" strOperator2 = ">" strOperator3 = ">" strPath = "c:\Gorokh\Report\Книга4.xls" Dim x As Integer strField1 = "segment вид UNIQA" strField2 = "Дата настання страхового випадку" strField3 = "Дата реєстрацiї страхового випадку" strCriterion1 = "Casco" strCriterion2 = 40179 strCriterion3 = 40179 strRange = "" cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & strPath & ";" & "Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""" strSQL = "SELECT * table Count([" & strField1 & "]) FROM [Лист3$A3:L1000] WHERE [" & strField1 & "]" & strOperator1 & "'" & strCriterion1 & "'" and [" & strField2 & "]" & strOperator2 & "'" & strCriterion2 & "'" and [" & strField3 & "]" & strOperator3 & "'" & strCriterion3 & "'" ' как написать запрос для того что бы отбирало количество по segment вид UNIQA, а также по Дата настання страхового випадку>1/1/2010 и Дата реєстрацiї страхового випадку>1/1/2010 одновременно? rst.Open strSQL, cnn x = rst.Fields(0) Debug.Print x rst.Close cnn.Close Set rst = Nothing Set cnn = Nothing End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 17:23 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
Выделенный синим текст, надеюсь, в одну строку в редакторе написан? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 17:25 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5.
результат отладки сюда выложите пжл ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 17:27 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
хотя можете не выкладывать у вас кавычек не хватает ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 17:28 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
Konst_One, Каких? Выделите цветом. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 17:31 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
VikVikVik, смотрите Debug.Print strSQL ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 17:33 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
VikVikVikKonst_One, Каких? Выделите цветом. Спасибо. вы что, издеваетесь. сами разбирайтесь в своём кривом sql-запросе. скопируйте его в редактор SQL , он вам подскажет ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 17:33 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
strSQL = "SELECT Count([" & strField1 & "]) FROM [Лист3$A3:L1000] WHERE [" & strField1 & "]" & strOperator1 & "'" & strCriterion1 & "'" And "[" & strField2 & "]" & strOperator2 & "'" & strCriterion2 & "'" And "[" & strField3 & "]" & strOperator3 & "'" & strCriterion3 & "'" в процедуре test пишет type mistakes ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 17:48 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
Konst_OneVikVikVikKonst_One, Каких? Выделите цветом. Спасибо. вы что, издеваетесь. сами разбирайтесь в своём кривом sql-запросе. скопируйте его в редактор SQL , он вам подскажет Да не издеваюсь.Новичек я в SQL. Прошу прощения. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 17:51 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
VikVikVik, Блин.. Да покажите Вы наконец итоговую строку после всех подстановок Debug.Print strSQL ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 17:52 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
Код: plaintext
сюда скопируйте пжл результат который вы получите в окне Immediate PS и пользуйтесь тегами SRC , когда код вставляете в сообщение ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 17:53 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
VikVikVik, AND - к SQL запросу относится? тогда почему оно снаружи кавычек, а не внутри. И вообще есть ли необходимость использовать переменные при построении этого запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 17:53 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
GwaVikVikVik, Блин.. Да покажите Вы наконец итоговую строку после всех подстановок Debug.Print strSQL У нее ошибка в синтаксисе, она не может показать строку. Строковые переменные пытается склеить логическим оператором AND ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 17:54 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
VikVikVik, Подскажите все таки где синтаксическая ошибка. Где-то встроке ниже... И вообще скажите сам запрос верный для трех критериев? Буду очень и очень благодарна. strSQL = "SELECT Count([" & strField1 & "]) FROM [Лист3$A3:L1000] WHERE [" & strField1 & "]" & strOperator1 & "'" & strCriterion1 & "'" and [" & strField2 & "]" & strOperator2 & "'" & strCriterion2 & "'" and [" & strField3 & "]" & strOperator3 & "'" & strCriterion3 & "'" Пишу в одну строку. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 18:12 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
Пишет Compile error: Expected: end of statement и при этом выделяет " & strOperator2 & " ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 18:18 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
VikVikVik, ну для начала замените and на & Хоть синтаксическая ошибка должна пропасть ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 18:20 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
VikVikVikПодскажите все таки где синтаксическая ошибка. Где-то встроке ниже... И вообще скажите сам запрос верный для трех критериев? Буду очень и очень благодарна. Блин, ну напиши ты уже сначала sql-запрос без переменных. Потом переменные будешь вставлять - ты в кавычках запуталась. Потом уже будем разбирать запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 18:23 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
VikVikVik, Заменила AND на && и убрала кавычки. Правда легче жить не стало. Так в чем же все таки вся соль? Простите, если задаю глупые вопросы. Спасибки. strSQL = "SELECT Count([" & strField1 & "]) FROM [Лист3$A3:L1000] WHERE ([" & strField1 & "]" & strOperator1 & "'" & strCriterion1 && [" & strField2 & "]" & strOperator2 & "'" & strCriterion2 && [" & strField3 & "]" & strOperator3 & "'" & strCriterion3 & "'") ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 18:33 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
GwaVikVikVik, Блин.. Да покажите Вы наконец итоговую строку после всех подстановок Debug.Print strSQLДа покажите Вы наконец ...чеГО хотите [CSV]....[[CSV] ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 18:36 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
GwaVikVikVik, ну для начала замените and на & Хоть синтаксическая ошибка должна пропасть а я читала, что надо менять на &&.... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 18:40 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
VikVikVikа я читала, что надо менять на &&.... ты сюда за советом пришла или нас учить. Еще раз - напиши сначала запрос БЕЗ ИСПОЛЬЗОВАНИЯ переменных, и всяких этих кавычек и амперсандов. Запрос заработает, потом их вставишь ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 18:43 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
ZezaM, Хочу что бы формировался запрос с тремя критериями и выгружался в Книгу3 с Книги 4. Критерии следующие: segment видUNIQA = "Casco" Дата настання страхового випадку >1/01/2010 Дата реєстрацiї страхового випадку> 1/01/2010 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 18:48 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
Shocker.Pro, так к сожелению тоже не работает :( strSQL= SELECT Count([" & strField1 & "]) FROM [Лист3$A3:L1000] WHERE (strField1="Casco" && strField2>40179 && strField3>40179 ) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 19:02 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
VikVikVikShocker.Pro, так к сожелению тоже не работает :( strSQL= SELECT Count([" & strField1 & "]) FROM [Лист3$A3:L1000] WHERE (strField1="Casco" && strField2>40179 && strField3>40179 ) верни And на место ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 19:12 |
|
SQL запрос помогите подправить
|
|||
---|---|---|---|
#18+
Shocker.ProVikVikVikShocker.Pro, так к сожелению тоже не работает :( strSQL= SELECT Count([" & strField1 & "]) FROM [Лист3$A3:L1000] WHERE (strField1="Casco" && strField2>40179 && strField3>40179 ) верни And на место И Casco сделай не в кавычках, а в апостофах ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2011, 19:13 |
|
|
start [/forum/topic.php?fid=60&msg=37248186&tid=2158738]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 154ms |
0 / 0 |