powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ограничение на String
17 сообщений из 17, страница 1 из 1
ограничение на String
    #32059098
TroubleChart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть процедура, котороя выполняется для разных событий. Результат процедуры выводится в список:
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
ограничение на String
    #32059140
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что значит "не работает"?
Ошибку выдает? Тогда какую?
...
Рейтинг: 0 / 0
ограничение на String
    #32059166
TroubleChart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нет, никакую ошибку не выдет, просто в списке ничего не появляется, он просто пустой. Если даже неправильный SQL запрос направить в RowSource ошибки не будет, просто ничего не будет в списке.
...
Рейтинг: 0 / 0
ограничение на String
    #32059178
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. ситуация такая:
Подставляешь строку программно - записей нет
Создаешь запрос с этой строкой в качестве SQL-инструкции - записи есть
Так?
...
Рейтинг: 0 / 0
ограничение на String
    #32059185
TroubleChart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
именно так. Но если в переменной стринг короткий запрос (по количеству символов меньше 250), то все работает.
...
Рейтинг: 0 / 0
ограничение на String
    #32059208
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть строки и по 300-350 символов.
Все отлично работает...
...
Рейтинг: 0 / 0
ограничение на String
    #32059224
TroubleChart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ограничение строки 64К, так, что мне это вроде не грозит. Но может сам способ контекации не правильный или подстановка в RowSource. Я стринг, который подставлю потом, собираю из маленьких кусочков. Может сказывается это.
...
Рейтинг: 0 / 0
ограничение на String
    #32059239
dao
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может ли там проявиться
Код: plaintext
 NULL 
?
...
Рейтинг: 0 / 0
ограничение на String
    #32059244
TroubleChart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я трассировкой по строчно прогнал VBA код, нет тама Null, я только не знаю как проверить значение текущие стринга, потому как в Watch окно он не влезает весь и видно что оканчивается обрывом для "большой" строки, даже сразу после присвоение типа string_ = "xxxx xxx xxx"
...
Рейтинг: 0 / 0
ограничение на String
    #32059246
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ctrl + G

?sql_Zapros
...
Рейтинг: 0 / 0
ограничение на String
    #32059273
TroubleChart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проверил - запрос правильный - привожу полностью:
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
ограничение на String
    #32059368
АлексейЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Столкнулся как-то с такой же проблемой. Выкрутился.
Для сокращения текста посоветую вот что.
1. В SELECT оставить только имена полей, без названий таблиц (для тех полей, наименования которых не повторяются в таб. с которыми работает запрос).
2. То же в WHERE
3. Вы можете задать в запросе краткое название таб. Примерно так.
FROM ТаблицаСОченьДлиннымНазванием as Коротенько.
Теперь в предложение типа ORDER BY можете писать не ТаблицаСОченьДлиннымНазванием.МоеПоле, а Коротенько.МоеПоле
(да и в SELECT, если без наименования таб. нельзя)
...
Рейтинг: 0 / 0
ограничение на String
    #32059371
TroubleChart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то совсем опух уже. Ничего не помогаем, может есть другие способы сделать это. Хелп!!!.
...
Рейтинг: 0 / 0
ограничение на String
    #32059375
TroubleChart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ответил одновременно с Вами. Буду пробывать сейчас сокращать названия.
...
Рейтинг: 0 / 0
ограничение на String
    #32059377
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
ограничение на String
    #32059814
BAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По-моему, Access 2000 действительно обрезает символы в строке после 255 символа (в Access97 все было нормально). Создайте длинный запрос в конструкторе (например, как источник данных для формы), сохраните форму. Потом откройте форму: ваш запрос будет урезан. Это справедливо как для конструктора запросов, так и для построитела выражений.
Успехов.
...
Рейтинг: 0 / 0
ограничение на String
    #32060135
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Более того! Я уже как-то писал в форум! У меня на столько тяжелый запрос вышел как-то! Так Access посчитал правильным в некоторых местах заменить круглые скобки на квадратные, после чего он переставал работать! А происходило это ровно в момент когда открывал запрос в конструкторе, хотя и правил его всегда в SQL режиме!
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ограничение на String
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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