|
ограничение на String
|
|||
---|---|---|---|
#18+
Есть процедура, котороя выполняется для разных событий. Результат процедуры выводится в список: Me.Список.RowSource = sql_Zapros где sql_Zapros типа String. sql_Zapros формируется по частям путем контекации частей sql запроса: sql_Zapros = sql_Zapros + sql_PartXXX + ")" - что-то вроде этого. Конечный sql_Zapros строится правильно (во всяком случае должен - проверял много раз). Если запрос зделать коротким (по числу символов), то все работает, если длиньше 250 сиволов (или что-то того, но не 255), то не работает. Причем, если просто написать: Me.Список.RowSource = "Select ..............." любой длинны, то все ок. В чем проблема? Подскажите плс. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2002, 11:06 |
|
ограничение на String
|
|||
---|---|---|---|
#18+
А что значит "не работает"? Ошибку выдает? Тогда какую? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2002, 12:40 |
|
ограничение на String
|
|||
---|---|---|---|
#18+
нет, никакую ошибку не выдет, просто в списке ничего не появляется, он просто пустой. Если даже неправильный SQL запрос направить в RowSource ошибки не будет, просто ничего не будет в списке. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2002, 13:26 |
|
ограничение на String
|
|||
---|---|---|---|
#18+
Т.е. ситуация такая: Подставляешь строку программно - записей нет Создаешь запрос с этой строкой в качестве SQL-инструкции - записи есть Так? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2002, 13:44 |
|
ограничение на String
|
|||
---|---|---|---|
#18+
именно так. Но если в переменной стринг короткий запрос (по количеству символов меньше 250), то все работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2002, 13:56 |
|
ограничение на String
|
|||
---|---|---|---|
#18+
У меня есть строки и по 300-350 символов. Все отлично работает... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2002, 14:24 |
|
ограничение на String
|
|||
---|---|---|---|
#18+
Ограничение строки 64К, так, что мне это вроде не грозит. Но может сам способ контекации не правильный или подстановка в RowSource. Я стринг, который подставлю потом, собираю из маленьких кусочков. Может сказывается это. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2002, 14:40 |
|
ограничение на String
|
|||
---|---|---|---|
#18+
А может ли там проявиться Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2002, 14:50 |
|
ограничение на String
|
|||
---|---|---|---|
#18+
Я трассировкой по строчно прогнал VBA код, нет тама Null, я только не знаю как проверить значение текущие стринга, потому как в Watch окно он не влезает весь и видно что оканчивается обрывом для "большой" строки, даже сразу после присвоение типа string_ = "xxxx xxx xxx" ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2002, 14:58 |
|
ограничение на String
|
|||
---|---|---|---|
#18+
Ctrl + G ?sql_Zapros ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2002, 15:02 |
|
ограничение на String
|
|||
---|---|---|---|
#18+
Проверил - запрос правильный - привожу полностью: SELECT Проекты.КодПроекта, Проекты.НомерПроекта, Проекты.НазваниеПроекта, Проекты.КодКлиента, Сотрудники.ИспользуемоеИмя, Проекты.ДатаПолученияПроекта, Проекты.ТребуемаяДатаЗавершенияПроекта, Проекты.ОжидаемаяДатаЗавершенияПроекта, Производство.НазваниеПроизводства, Проекты.Объем, Проекты.КоличествоСлоев, Проекты.Приоритет, СтадияПроекта.СтадияПроекта, Проекты.Проблемы FROM ТипПроекта INNER JOIN (СтадияПроекта INNER JOIN (Сотрудники INNER JOIN (Производство RIGHT JOIN Проекты ON Производство.КодПроизвоства = Проекты.КодПроизводства) ON Сотрудники.КодСотрудника = Проекты.КодСотрудника) ON СтадияПроекта.КодСтадииПроекта = Проекты.КодСтадииПроекта) ON ТипПроекта.КодТипаПроекта = Проекты.КодТипаПроекта WHERE (((Проекты.Заморозить)=No) AND ((Проекты.КодСтадииПроекта)=1 and (Проекты.КодСтадииПроекта)<7)) AND ((Производство.Тип)=1)) сорри, что привел полностью. Так вот если убрать например "and (Проекты.КодСтадииПроекта)<7)" , то все начинает работать. Вообщем ???? :-)~ башка уже гудит ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2002, 15:28 |
|
ограничение на String
|
|||
---|---|---|---|
#18+
Столкнулся как-то с такой же проблемой. Выкрутился. Для сокращения текста посоветую вот что. 1. В SELECT оставить только имена полей, без названий таблиц (для тех полей, наименования которых не повторяются в таб. с которыми работает запрос). 2. То же в WHERE 3. Вы можете задать в запросе краткое название таб. Примерно так. FROM ТаблицаСОченьДлиннымНазванием as Коротенько. Теперь в предложение типа ORDER BY можете писать не ТаблицаСОченьДлиннымНазванием.МоеПоле, а Коротенько.МоеПоле (да и в SELECT, если без наименования таб. нельзя) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2002, 17:40 |
|
ограничение на String
|
|||
---|---|---|---|
#18+
Что-то совсем опух уже. Ничего не помогаем, может есть другие способы сделать это. Хелп!!!. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2002, 17:46 |
|
ограничение на String
|
|||
---|---|---|---|
#18+
Ответил одновременно с Вами. Буду пробывать сейчас сокращать названия. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2002, 17:53 |
|
ограничение на String
|
|||
---|---|---|---|
#18+
Код: 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.
Что-то где-то скобка потерялась :( И вообще ты не хочешь заменить INNER JOIN на "," SELECT * FROM СтадияПроекта, Проекты WHERE СтадияПроекта.КодСтадииПроекта = Проекты.КодСтадииПроекта ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2002, 17:54 |
|
ограничение на String
|
|||
---|---|---|---|
#18+
По-моему, Access 2000 действительно обрезает символы в строке после 255 символа (в Access97 все было нормально). Создайте длинный запрос в конструкторе (например, как источник данных для формы), сохраните форму. Потом откройте форму: ваш запрос будет урезан. Это справедливо как для конструктора запросов, так и для построитела выражений. Успехов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2002, 16:05 |
|
ограничение на String
|
|||
---|---|---|---|
#18+
Более того! Я уже как-то писал в форум! У меня на столько тяжелый запрос вышел как-то! Так Access посчитал правильным в некоторых местах заменить круглые скобки на квадратные, после чего он переставал работать! А происходило это ровно в момент когда открывал запрос в конструкторе, хотя и правил его всегда в SQL режиме! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2002, 11:10 |
|
|
start [/forum/topic.php?fid=45&msg=32059375&tid=1683117]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 304ms |
total: | 439ms |
0 / 0 |