туплю с SQL запросом (название темы изменено)

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
НиколайП
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 06.12.2005 (Вт) 22:16

туплю с SQL запросом (название темы изменено)

Сообщение НиколайП » 17.02.2006 (Пт) 12:57

мне необходимо бырать записи из БД по нескольким условиям, при совмещении условий возникает проблемма:
S = "SELECT nzak,dataz,cpuz,sumz,statz,oper FROM zakkomp Where statz='" & vzak & "' Or statz='" & vzak1 & "' Or dataz LIKE " & "'*" & vdata & "*'"

совместить два запроса:
S = "SELECT nzak,dataz,cpuz,sumz,statz,oper FROM zakkomp Where statz='" & vzak & "' Or statz='" & vzak1 & "'"
S1 = "SELECT nzak,dataz,cpuz,sumz,statz,oper FROM zakkomp Where dataz LIKE " & "'*" & vdata & "*'"
S = S & " UNION " & S1
Set R = D.OpenRecordset(S)

тоже не прокатывает ... :(
подскажите что я делаю не так и как это исправить.
Последний раз редактировалось НиколайП 17.02.2006 (Пт) 13:39, всего редактировалось 1 раз.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.02.2006 (Пт) 13:03

Не доверяю людям, пишущим "проблемма". Почему-то их всё больше.
Прямо даже возникает желание замечание влепить. За корявый вопрос, из которого иничего не понятно. Я точно не буду заниматься угадыванием того, где и какая ошибка, а также каковы типы полей.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

НиколайП
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 06.12.2005 (Вт) 22:16

Сообщение НиколайП » 17.02.2006 (Пт) 13:37

Не доверяю людям, пишущим "проблемма". Почему-то их всё больше.
Прямо даже возникает желание замечание влепить. За корявый вопрос, из которого иничего не понятно. Я точно не буду заниматься угадыванием того, где и какая ошибка, а также каковы типы полей.


имеется в виду что проблема не с языком SQL , а проблема возникла у меня ,из за нехватки знаний, извиняюсь если не корректно указал тему и задал вопрос ...
исправлю.
все поля текстовые,ошибка проявляется в виде неполного обрабатывания данных , эта часть запроса : ... Where statz='" & vzak & "' Or statz='" & vzak1 & "' обрабатываетсянормально , а это :
Or dataz LIKE " & "'*" & vdata & "*'" не обрабатывается ...
полный код запроса привёл , что ещё необходимо указать что бы не "угадывать" ?

НиколайП
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 06.12.2005 (Вт) 22:16

Сообщение НиколайП » 17.02.2006 (Пт) 13:54

(дополнение)
запрос из формы: VB 6.0
база данных: ACCESS
поля в БД: текст

задача: выбрать из таблицы zakkomp поля где запись statz соответствует текстовой переменной vzak и vzak1 и запись dataz имеет часть строки соответствующей текстовой переменной vdata.

пример попытки моего запроса описан выше.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 17.02.2006 (Пт) 13:58

S = "SELECT * FROM zakkomp WHERE (statz = '#vzak#' OR statz = '#vzak1') AND dataz LIKE '%#vdata#%'"

Где #vzak#, #vzak1#, #vdata# заменяешь на значения (хоть через Replace).
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList