|
|
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
Люди помогите, кто знает какая максимальная длина строки в Microsoft Access 2000 SQL запроса, и можно ли ее изменять. Заранее спасибо. P.S. Если вопрос покажется глупым - извините. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2004, 21:28 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
currentdb.querydefs(...).sql=... Насчет максимальной длины - не смог проверить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2004, 21:43 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
Извините, я в VBA чайник, что есть "currentdb.querydefs(...).sql=... " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2004, 21:52 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
Это есть синтаксис, который позволяет изменить строку SQL в сохраненном запросе. currentdb.querydefs("имя запроса").sql="новый текст строки" Впрочем, если вопрос был "можно ли", а не "как", то ответ - "можно". :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2004, 21:55 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
У меня вообще проблема в том что есть набор записей который формируется SQL запросом, он (запрос) опирается на несколько флагов, которые отключает\подключают, параметры запроса (учитывать\не учитывать возраст, год рождения и т.д.), я написал нужный запрос, загнал его в источник данных, но построитель его разложил на константы, в результате запрос вырос до огромных размеров, теперь что-бы что-нибудб изменить приходиться писать запрос почти заново, иначе построитель возвращает "превышение длины строки". Может есть способ получше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2004, 22:01 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
Сорри, не понял про флаги и про константы. В принципе, если селект получается слишком длинный, то можно как-нибудь попытаться превратить его в два. Сохранить один запрос и использовать его во втором. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2004, 22:04 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
У меня сейчас нет здесь текста, а писать до словно на память лень :) но смысл такой, я в запросе после Where я пишу: или флаг такой-то равен 0, или выбираются записи поле (скажем пол) равняется полю со списком, где представлены возможные значения. Соответственно 3 поля - 3 строки, после первого выполнения запрос в построителе преобразуется и я получаю большой запрос примерно такого содержания: (флаг01=0 и флаг02=0 и пол=Полесосписком03) или (флаг01=0 и возраст=Полесосписком02 флаг03=0) или (год рождения=Полесосписком01 и флаг02=0 и флаг03=0). Надеюсь относительно понятно обьяснил, но завтра перенесу тексты запросов домой (они на работе), думаю с ними будет удобней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2004, 22:19 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
авторкакая максимальная длина строки в Microsoft Access 2000 SQL запроса Из Help: A97 Число символов в инструкции SQL примерно 64000 A2002 Number of characters in an SQL statement approximately 64,000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2004, 22:37 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
Я так думаю для 2000 также? Большое спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2004, 22:41 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
Теперь понял(флаги) and not понял(константы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2004, 23:25 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
Завтра притащу тексты, покажу может действительно есть способ сделать проще и правильней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2004, 23:30 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
Про константы, может, все-таки можно объяснить? На какие константы его разложил построитель? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2004, 23:39 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
Вот то что ввожу я: SELECT DISTINCT [Список студентов].ID, [Список студентов].ФИО, [Список студентов].[Номер группы], [Список студентов].[Дата рождения], [Список студентов].[Год поступления], [Список студентов].[На базе], [Список студентов].[Адрес фактический] FROM [Список студентов] WHERE ((([Forms]![Список студентов]![Флажок19]=0) or ([Список студентов].[Номер группы])=[Forms]![Список студентов]![ПолесоСписком10])) and (([Forms]![Список студентов]![Флажок27]=0) or ([Список студентов].[Год поступления])=[Forms]![Список студентов]![ПолесоСписком15]))) А это то что пол-ся после первого выполнения: SELECT DISTINCT [Список студентов].ID AS Выражение1, [Список студентов].ФИО AS Выражение2, [Список студентов].[Номер группы] AS Выражение3, [Список студентов].[Дата рождения] AS Выражение4, [Список студентов].[Год поступления] AS Выражение5, [Список студентов].[На базе] AS Выражение6, [Список студентов].[Адрес фактический] AS Выражение7 FROM [Список студентов] WHERE ((([Forms]![Список студентов]![Флажок19])=0) AND (([Forms]![Список студентов]![Флажок27])=0)) OR ((([Список студентов].[Номер группы])=[Forms]![Список студентов]![ПолесоСписком10]) AND (([Forms]![Список студентов]![Флажок27])=0)) OR ((([Список студентов].[Год поступления])=[Forms]![Список студентов]![ПолесоСписком15]) AND (([Forms]![Список студентов]![Флажок19])=0)) OR ((([Список студентов].[Номер группы])=[Forms]![Список студентов]![ПолесоСписком10]) AND (([Список студентов].[Год поступления])=[Forms]![Список студентов]![ПолесоСписком15])); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2004, 20:10 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
AS Выражение1 и т.п. - это очень странно. Чего это он меняет названия полей... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2004, 20:15 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
Не обращайте внимание на это - мои косяки, по ходу файл с данными не подсоединен...... почему он изменяет запрос после where, и как быть с этим, запрос увеличивается в неснолько раз (у меня есть запросы с большим кол-вом возможных параметров) и если его нужно поправить, приходится писать его почти заново. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2004, 20:25 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
Да, он выражения с AND и OR всегда переписывает по-своему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2004, 20:28 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
т.е. деваться некуда? Тогда остаеться только иметь отдельно тексты всех больших запросов, да? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2004, 20:35 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
Не понял, что это даст. Кстати, я предложил решение - см. вчера, 22:04. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2004, 20:38 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
Спасибо, я подумаю как это использовать, но смущает тот факт, что запрос изменяется уже после первого выполнения, но Access с ним нормально работает, а ошибка выходит только при попытке просмотра и изменения запроса, может дело не в самом построителе, а в поле "Источник строк"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2004, 20:42 |
|
||
|
SQL запрос в Access
|
|||
|---|---|---|---|
|
#18+
Запрос изменяется не после первого выполнения, а при попытке просмотра и изменения запроса. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2004, 20:45 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32388442&tid=1676993]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 329ms |

| 0 / 0 |
