Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ограничение на String / 17 сообщений из 17, страница 1 из 1
17.10.2002, 11:06
    #32059098
TroubleChart
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ограничение на String
Есть процедура, котороя выполняется для разных событий. Результат процедуры выводится в список:
Me.Список.RowSource = sql_Zapros
где sql_Zapros типа String.
sql_Zapros формируется по частям путем контекации частей sql запроса:
sql_Zapros = sql_Zapros + sql_PartXXX + ")" - что-то вроде этого.

Конечный sql_Zapros строится правильно (во всяком случае должен - проверял много раз). Если запрос зделать коротким (по числу символов), то все работает, если длиньше 250 сиволов (или что-то того, но не 255), то не работает. Причем, если просто написать: Me.Список.RowSource = "Select ..............." любой длинны, то все ок.

В чем проблема? Подскажите плс.
...
Рейтинг: 0 / 0
17.10.2002, 12:40
    #32059140
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ограничение на String
А что значит "не работает"?
Ошибку выдает? Тогда какую?
...
Рейтинг: 0 / 0
17.10.2002, 13:26
    #32059166
TroubleChart
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ограничение на String
нет, никакую ошибку не выдет, просто в списке ничего не появляется, он просто пустой. Если даже неправильный SQL запрос направить в RowSource ошибки не будет, просто ничего не будет в списке.
...
Рейтинг: 0 / 0
17.10.2002, 13:44
    #32059178
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ограничение на String
Т.е. ситуация такая:
Подставляешь строку программно - записей нет
Создаешь запрос с этой строкой в качестве SQL-инструкции - записи есть
Так?
...
Рейтинг: 0 / 0
17.10.2002, 13:56
    #32059185
TroubleChart
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ограничение на String
именно так. Но если в переменной стринг короткий запрос (по количеству символов меньше 250), то все работает.
...
Рейтинг: 0 / 0
17.10.2002, 14:24
    #32059208
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ограничение на String
У меня есть строки и по 300-350 символов.
Все отлично работает...
...
Рейтинг: 0 / 0
17.10.2002, 14:40
    #32059224
TroubleChart
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ограничение на String
Ограничение строки 64К, так, что мне это вроде не грозит. Но может сам способ контекации не правильный или подстановка в RowSource. Я стринг, который подставлю потом, собираю из маленьких кусочков. Может сказывается это.
...
Рейтинг: 0 / 0
17.10.2002, 14:50
    #32059239
dao
dao
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ограничение на String
А может ли там проявиться
Код: plaintext
 NULL 
?
...
Рейтинг: 0 / 0
17.10.2002, 14:58
    #32059244
TroubleChart
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ограничение на String
Я трассировкой по строчно прогнал VBA код, нет тама Null, я только не знаю как проверить значение текущие стринга, потому как в Watch окно он не влезает весь и видно что оканчивается обрывом для "большой" строки, даже сразу после присвоение типа string_ = "xxxx xxx xxx"
...
Рейтинг: 0 / 0
17.10.2002, 15:02
    #32059246
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ограничение на String
Ctrl + G

?sql_Zapros
...
Рейтинг: 0 / 0
17.10.2002, 15:28
    #32059273
TroubleChart
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ограничение на String
Проверил - запрос правильный - привожу полностью:
SELECT Проекты.КодПроекта, Проекты.НомерПроекта, Проекты.НазваниеПроекта, Проекты.КодКлиента, Сотрудники.ИспользуемоеИмя, Проекты.ДатаПолученияПроекта, Проекты.ТребуемаяДатаЗавершенияПроекта, Проекты.ОжидаемаяДатаЗавершенияПроекта, Производство.НазваниеПроизводства, Проекты.Объем, Проекты.КоличествоСлоев, Проекты.Приоритет, СтадияПроекта.СтадияПроекта, Проекты.Проблемы FROM ТипПроекта INNER JOIN (СтадияПроекта INNER JOIN (Сотрудники INNER JOIN (Производство RIGHT JOIN Проекты ON Производство.КодПроизвоства = Проекты.КодПроизводства) ON Сотрудники.КодСотрудника = Проекты.КодСотрудника) ON СтадияПроекта.КодСтадииПроекта = Проекты.КодСтадииПроекта) ON ТипПроекта.КодТипаПроекта = Проекты.КодТипаПроекта WHERE (((Проекты.Заморозить)=No) AND ((Проекты.КодСтадииПроекта)=1 and (Проекты.КодСтадииПроекта)<7)) AND ((Производство.Тип)=1))

сорри, что привел полностью. Так вот если убрать например "and (Проекты.КодСтадииПроекта)<7)" , то все начинает работать.

Вообщем ???? :-)~ башка уже гудит
...
Рейтинг: 0 / 0
17.10.2002, 17:40
    #32059368
АлексейЕ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ограничение на String
Столкнулся как-то с такой же проблемой. Выкрутился.
Для сокращения текста посоветую вот что.
1. В SELECT оставить только имена полей, без названий таблиц (для тех полей, наименования которых не повторяются в таб. с которыми работает запрос).
2. То же в WHERE
3. Вы можете задать в запросе краткое название таб. Примерно так.
FROM ТаблицаСОченьДлиннымНазванием as Коротенько.
Теперь в предложение типа ORDER BY можете писать не ТаблицаСОченьДлиннымНазванием.МоеПоле, а Коротенько.МоеПоле
(да и в SELECT, если без наименования таб. нельзя)
...
Рейтинг: 0 / 0
17.10.2002, 17:46
    #32059371
TroubleChart
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ограничение на String
Что-то совсем опух уже. Ничего не помогаем, может есть другие способы сделать это. Хелп!!!.
...
Рейтинг: 0 / 0
17.10.2002, 17:53
    #32059375
TroubleChart
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ограничение на String
Ответил одновременно с Вами. Буду пробывать сейчас сокращать названия.
...
Рейтинг: 0 / 0
17.10.2002, 17:54
    #32059377
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ограничение на String
Код: plaintext
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.
SELECT
Проекты.КодПроекта,
Проекты.НомерПроекта,
Проекты.НазваниеПроекта,
Проекты.КодКлиента,
Сотрудники.ИспользуемоеИмя, Проекты.ДатаПолученияПроекта, Проекты.ТребуемаяДатаЗавершенияПроекта, Проекты.ОжидаемаяДатаЗавершенияПроекта, Производство.НазваниеПроизводства,
Проекты.Объем,
Проекты.КоличествоСлоев,
Проекты.Приоритет,
СтадияПроекта.СтадияПроекта,
Проекты.Проблемы
FROM
ТипПроекта INNER JOIN (
  СтадияПроекта INNER JOIN (
    Сотрудники INNER JOIN (
      Производство RIGHT JOIN Проекты ON Производство.КодПроизвоства = Проекты.КодПроизводства
) ON Сотрудники.КодСотрудника = Проекты.КодСотрудника
) ON СтадияПроекта.КодСтадииПроекта = Проекты.КодСтадииПроекта
) ON ТипПроекта.КодТипаПроекта = Проекты.КодТипаПроекта
WHERE
(
  ((Проекты.Заморозить)=No)
  AND
  (
    (Проекты.КодСтадииПроекта)= 1 
    AND
    (Проекты.КодСтадииПроекта)< 7 
  )
)
  AND
  ((Производство.Тип)= 1 )
) 


Что-то где-то скобка потерялась :(
И вообще ты не хочешь заменить INNER JOIN на ","
SELECT * FROM СтадияПроекта, Проекты
WHERE
СтадияПроекта.КодСтадииПроекта = Проекты.КодСтадииПроекта
...
Рейтинг: 0 / 0
18.10.2002, 16:05
    #32059814
BAlex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ограничение на String
По-моему, Access 2000 действительно обрезает символы в строке после 255 символа (в Access97 все было нормально). Создайте длинный запрос в конструкторе (например, как источник данных для формы), сохраните форму. Потом откройте форму: ваш запрос будет урезан. Это справедливо как для конструктора запросов, так и для построитела выражений.
Успехов.
...
Рейтинг: 0 / 0
21.10.2002, 11:10
    #32060135
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ограничение на String
Более того! Я уже как-то писал в форум! У меня на столько тяжелый запрос вышел как-то! Так Access посчитал правильным в некоторых местах заменить круглые скобки на квадратные, после чего он переставал работать! А происходило это ровно в момент когда открывал запрос в конструкторе, хотя и правил его всегда в SQL режиме!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ограничение на String / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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