powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL запрос помогите подправить
28 сообщений из 28, показаны все 2 страниц
SQL запрос помогите подправить
    #37248015
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите где ошибаюсь? Синим выделила, то что сама добавила. Без синего работает. Понимаю, что ошибка там где выделено синим, однако я новичек в этом. Помогите подправить.

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
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248024
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выделенный синим текст, надеюсь, в одну строку в редакторе написан?
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248030
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
...
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 & "'"


Debug.Print strSQL 

результат отладки сюда выложите пжл
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248037
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя можете не выкладывать у вас кавычек не хватает
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248050
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

Каких? Выделите цветом. Спасибо.
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248059
Gwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VikVikVik,
смотрите
Debug.Print strSQL
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248061
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VikVikVikKonst_One,

Каких? Выделите цветом. Спасибо.

вы что, издеваетесь. сами разбирайтесь в своём кривом sql-запросе. скопируйте его в редактор SQL , он вам подскажет
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248099
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
strSQL = "SELECT Count([" & strField1 & "]) FROM [Лист3$A3:L1000] WHERE [" & strField1 & "]" & strOperator1 & "'" & strCriterion1 & "'" And "[" & strField2 & "]" & strOperator2 & "'" & strCriterion2 & "'" And "[" & strField3 & "]" & strOperator3 & "'" & strCriterion3 & "'"


в процедуре test пишет type mistakes
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248108
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_OneVikVikVikKonst_One,

Каких? Выделите цветом. Спасибо.

вы что, издеваетесь. сами разбирайтесь в своём кривом sql-запросе. скопируйте его в редактор SQL , он вам подскажет
Да не издеваюсь.Новичек я в SQL. Прошу прощения.
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248110
Gwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VikVikVik,
Блин..
Да покажите Вы наконец итоговую строку после всех подстановок
Debug.Print strSQL
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248112
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Debug.Print strSQL 


сюда скопируйте пжл результат который вы получите в окне Immediate

PS
и пользуйтесь тегами SRC , когда код вставляете в сообщение
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248113
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VikVikVik,

AND - к SQL запросу относится?
тогда почему оно снаружи кавычек, а не внутри.

И вообще есть ли необходимость использовать переменные при построении этого запроса?
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248121
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GwaVikVikVik,
Блин..
Да покажите Вы наконец итоговую строку после всех подстановок
Debug.Print strSQL
У нее ошибка в синтаксисе, она не может показать строку.
Строковые переменные пытается склеить логическим оператором AND
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248164
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VikVikVik,

Подскажите все таки где синтаксическая ошибка.
Где-то встроке ниже... И вообще скажите сам запрос верный для трех критериев?
Буду очень и очень благодарна.


strSQL = "SELECT Count([" & strField1 & "]) FROM [Лист3$A3:L1000] WHERE [" & strField1 & "]" & strOperator1 & "'" & strCriterion1 & "'" and [" & strField2 & "]" & strOperator2 & "'" & strCriterion2 & "'" and [" & strField3 & "]" & strOperator3 & "'" & strCriterion3 & "'"
Пишу в одну строку.
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248175
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишет Compile error: Expected: end of statement
и при этом выделяет " & strOperator2 & "
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248180
Gwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VikVikVik,
ну для начала замените and на &
Хоть синтаксическая ошибка должна пропасть
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248186
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VikVikVikПодскажите все таки где синтаксическая ошибка.
Где-то встроке ниже... И вообще скажите сам запрос верный для трех критериев?
Буду очень и очень благодарна.

Блин, ну напиши ты уже сначала sql-запрос без переменных. Потом переменные будешь вставлять - ты в кавычках запуталась. Потом уже будем разбирать запрос.
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248201
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VikVikVik,
Заменила AND на && и убрала кавычки. Правда легче жить не стало. Так в чем же все таки вся соль?
Простите, если задаю глупые вопросы. Спасибки.

strSQL = "SELECT Count([" & strField1 & "]) FROM [Лист3$A3:L1000] WHERE ([" & strField1 & "]" & strOperator1 & "'" & strCriterion1 && [" & strField2 & "]" & strOperator2 & "'" & strCriterion2 && [" & strField3 & "]" & strOperator3 & "'" & strCriterion3 & "'")
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248210
ZezaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GwaVikVikVik,
Блин..
Да покажите Вы наконец итоговую строку после всех подстановок
Debug.Print strSQLДа покажите Вы наконец ...чеГО хотите
[CSV]....[[CSV]
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248214
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GwaVikVikVik,
ну для начала замените and на &
Хоть синтаксическая ошибка должна пропасть

а я читала, что надо менять на &&....
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248221
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VikVikVikа я читала, что надо менять на &&....
ты сюда за советом пришла или нас учить.

Еще раз - напиши сначала запрос БЕЗ ИСПОЛЬЗОВАНИЯ переменных, и всяких этих кавычек и амперсандов. Запрос заработает, потом их вставишь
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248226
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZezaM,

Хочу что бы формировался запрос с тремя критериями и выгружался в Книгу3 с Книги 4.
Критерии следующие:
segment видUNIQA = "Casco"
Дата настання страхового випадку >1/01/2010
Дата реєстрацiї страхового випадку> 1/01/2010
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248246
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

так к сожелению тоже не работает :(
strSQL= SELECT Count([" & strField1 & "]) FROM [Лист3$A3:L1000] WHERE (strField1="Casco" && strField2>40179 && strField3>40179 )
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248262
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VikVikVikShocker.Pro,

так к сожелению тоже не работает :(
strSQL= SELECT Count([" & strField1 & "]) FROM [Лист3$A3:L1000] WHERE (strField1="Casco" && strField2>40179 && strField3>40179 )
верни And на место
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248265
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProVikVikVikShocker.Pro,

так к сожелению тоже не работает :(
strSQL= SELECT Count([" & strField1 & "]) FROM [Лист3$A3:L1000] WHERE (strField1="Casco" && strField2>40179 && strField3>40179 )
верни And на место
И Casco сделай не в кавычках, а в апостофах
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248266
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProShocker.Proпропущено...

верни And на место
И Casco сделай не в кавычках, а в апостофах
И переменные типа strField1 замени НА ИХ ЗНАЧЕНИЯ блин. И квадратные скобки куда делись?
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248271
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProShocker.Proпропущено...

И Casco сделай не в кавычках, а в апостофах
И переменные типа strField1 замени НА ИХ ЗНАЧЕНИЯ блин. И квадратные скобки куда делись?

Короче, напиши SQL-запрос так, как он должен быть и так как он работает в базе.
...
Рейтинг: 0 / 0
SQL запрос помогите подправить
    #37248997
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: VikVikVik
> так к сожелению тоже не работает :(


Идешь в проводник и запускаешь программу Microsoft Query - "C:\Program Files\Microsoft Office\OFFICE11\MSQRY32.EXE"
После этого делаешь в ней "Создать запрос" и мышкой кликаешь на нужный файл, и визуально строишь запрос со всеми
условиями, после чего нажав на кнопку "SQL" увидишь готовый запрос. вот его скопируй и начинай работать с ним,
подставлять переменные в условия и т.д.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
28 сообщений из 28, показаны все 2 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL запрос помогите подправить
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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