Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / НЕ выполняющиеся запросы из VBA / 19 сообщений из 19, страница 1 из 1
22.03.2010, 08:09
    #36533744
Sciv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
Excel 2003, ADO, MS SQL 2000. База данных удаленная, с администраторами связи нет.
Обнаружилась следующая проблема. При выполнении запроса вида "Select * FROM Table1 WHERE Field1 = Value1" значение Recordset.State = 0 (значение Value1 в таблице есть), при этом запрос вида "Select * FROM Table1" выполняется. В ходе экспериментов выяснилось, что запрос перестает выполнятся при нало жении любых условий WHERE или JOIN.

Благодарен за любую полезную мысль о причине происходящего.

PS. Данный запрос "Select * FROM Table1 WHERE Field1 = Value1" выполняется в Delphi 7 + ADO и при использовании внешних данных в Access 2003
...
Рейтинг: 0 / 0
22.03.2010, 08:42
    #36533763
value1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
value1 это текст?
...
Рейтинг: 0 / 0
22.03.2010, 09:58
    #36533858
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
а с другими таблицами?
...
Рейтинг: 0 / 0
22.03.2010, 10:03
    #36533869
vlth
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
Sciv,
Код: plaintext
1.
2.
"Select * FROM Table1 WHERE Field1=" & Value1 'если Value1 - переменная НЕ строкового типа
"Select * FROM Table1 WHERE Field1='" & Value1 & "'" 'если Value1 - переменная строкового типа
"Select * FROM Table1 WHERE Field1='Value1'" 'если Value1 - константа строкового типа
...
Рейтинг: 0 / 0
22.03.2010, 10:04
    #36533872
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
value1value1 это текст?

а вообще - да. Где апострофы вокруг тектовой константы?
...
Рейтинг: 0 / 0
22.03.2010, 10:05
    #36533876
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
vlth,

важно не какого типа переменная Value, а какого типа поле Field1
...
Рейтинг: 0 / 0
22.03.2010, 10:07
    #36533880
vlth
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
Sciv, это в Бейсике, конечно. Как склеиваются строки в Дельфи - не знаю.
...
Рейтинг: 0 / 0
22.03.2010, 10:10
    #36533883
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
vlthКак склеиваются строки в Дельфи - не знаю.

вы удивительно читаете ветки
авторExcel 2003
авторзначение Value1 в таблице есть
...
Рейтинг: 0 / 0
22.03.2010, 10:10
    #36533884
vlth
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
Shocker.Provlth,

важно не какого типа переменная Value, а какого типа поле Field1

Да, виноват, высказался некорректно: подменил понятия.
...
Рейтинг: 0 / 0
22.03.2010, 10:16
    #36533896
vlth
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
Shocker.Proвы удивительно читаете ветки
Я бы сказал, что они творчески оформляются

ScivДанный запрос "Select * FROM Table1 WHERE Field1 = Value1" выполняется в Delphi 7 + ADO и при использовании внешних данных в Access 2003
...
Рейтинг: 0 / 0
22.03.2010, 15:32
    #36534857
Sciv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
Разобрался... было отличие в регистре имени поля, т.е.
"Select * FROM Table1 WHERE FIELD1 = Value1" выполняется, а
"Select * FROM Table1 WHERE Field1 = Value1" - нет...

Отсюда вопрос - почему?
...
Рейтинг: 0 / 0
22.03.2010, 15:35
    #36534865
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
так база настроена, читайте про collation
...
Рейтинг: 0 / 0
22.03.2010, 15:35
    #36534866
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
ScivРазобрался... было отличие в регистре имени поля, т.е.
"Select * FROM Table1 WHERE FIELD1 = Value1" выполняется, а
"Select * FROM Table1 WHERE Field1 = Value1" - нет...

Отсюда вопрос - почему?

Не верю (с)
MSSQL нечувствителен к регистру имен.
Кроме того, опять же непонятно, кавычки вы так и не добавили. Такая запись возможна только в том случае, если Field1 и Value1 - это имена полей. В противном случае должна возникать ошибка.
...
Рейтинг: 0 / 0
22.03.2010, 15:36
    #36534874
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
Konst_Oneтак база настроена, читайте про collation

Так это же вроде про дефолты на данные, но не на имена полей.
Если нет - убейте меня веником
...
Рейтинг: 0 / 0
22.03.2010, 15:45
    #36534909
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
В базе данных с регистрозависимой кодовой страницей объекты считаются разными, если различаются регистром хотя бы одной буквы в имени. Таким образом, могут одновременно существовать таблицы TABLE1, table1 и Table1. Поэтому при доступе к объекту требуется указывать его точное (до регистра каждой буквы в названии) имя.
...
Рейтинг: 0 / 0
22.03.2010, 15:47
    #36534915
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
Server Collation: Cyrillic_General_ CS _AS

пример для MS SQL Server, например
...
Рейтинг: 0 / 0
22.03.2010, 15:49
    #36534921
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
Konst_OneВ базе данных с регистрозависимой кодовой страницей объекты считаются разными, если различаются регистром хотя бы одной буквы в имени. Таким образом, могут одновременно существовать таблицы TABLE1, table1 и Table1. Поэтому при доступе к объекту требуется указывать его точное (до регистра каждой буквы в названии) имя.

попробовал!
виноват!
Ушел есть шляпу.
...
Рейтинг: 0 / 0
22.03.2010, 15:52
    #36534927
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
Shocker.ProKonst_OneВ базе данных с регистрозависимой кодовой страницей объекты считаются разными, если различаются регистром хотя бы одной буквы в имени. Таким образом, могут одновременно существовать таблицы TABLE1, table1 и Table1. Поэтому при доступе к объекту требуется указывать его точное (до регистра каждой буквы в названии) имя.

попробовал!
виноват!
Ушел есть шляпу.

ну хоть посоли , чтоб повкусней была ;)

ЗЫ
всё знать невозможно (с)
...
Рейтинг: 0 / 0
22.03.2010, 15:52
    #36534932
Sciv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
НЕ выполняющиеся запросы из VBA
Konst_One,

Спасибо!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / НЕ выполняющиеся запросы из VBA / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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