|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
Здравствуйте. При попытке вызвать запрос на обновление выдаёт сообщение, что запрос повреждён и ругается на строку кода (см. Снимок1). Подскажите пожалуйста, где ошибка в коде. Access 2013 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2021, 12:03 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
Tauri, ходи сюда - https://www.sql.ru/faq/faq_topic.aspx?fid=157 и крути на эту фразу - А теперь очень полезная рекомендация ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2021, 12:07 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
Tauri ругается на строку кода возможно в прицепляемых значениях есть запятая или кавычка по картинке это не видно код надо формировать наглядно проверять его через debug.print или on error Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2021, 12:22 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
если поле klient_id числовое,то зачем ф-ция STR, а если текст-где апострофы, а для date_id,если это дата, ф-ция FORMAT(ну а дальше не видно-какие еще поля,закрывающая скобка) прочтите court об этом и толкует ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2021, 16:26 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
Я не понимаю, как это сделать ПЕНСИОНЕРКА Tauri ругается на строку кода возможно в прицепляемых значениях есть запятая или кавычка по картинке это не видно код надо формировать наглядно проверять его через debug.print или on error Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2021, 18:53 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА по картинке это не видно по крайней мере выложите запрос текстом , а не картинкой ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2021, 18:56 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА ПЕНСИОНЕРКА по картинке это не видно по крайней мере выложите запрос текстом , а не картинкой Код: vbnet 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.
Почему-то на моём компе дома (Access 2016) этот код работает, а в офисе (Access 2013) - нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 01:13 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
Tauri Код: vbnet 1. 2. 3.
Вопрос:какой тип у выделенных цветом полей (что они все текстовые)? Верно ли это: 5 литров = 5 километров ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 01:58 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
Tauri Почему-то на моём компе дома (Access 2016) этот код работает, а в офисе (Access 2013) - нет. Если вы создали или сохранили файл в 2016 офисе, а потом открываете его в 2013, то проблемы обязательно появятся. Надо пользоваться одной версией (одного года). Но если создали в 2013, а потом только проверяли в 2016, то без комментариев. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 06:26 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
Geizer1, По пробуйте перекомпилировать в 2013 офисе. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 06:34 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
Tauri, самая проблемная строка soplata.summa = " & Str(Me![Поле19]) Str(Me![Поле19]) может вернуть как 12,5 так и 12.5 в зависимости от настроек системы вариант 12,5 дает ошибку выполнения запроса вторая проблема - строка Dim bbb As Database надо явно указать библиотеку, т.к. со ссылкой на dao есть неопределенность Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 08:31 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
хотя поле суммы обычно числовое - зачем вообще нужно STR ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 09:59 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА хотя поле суммы обычно числовое - зачем вообще нужно STR STR всегда преобразует число (строку которая "выглядит" "как число") в строку с десятичным разделителем "точка" Вне зависимости от локализации Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 11:49 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
1)рекомендую Вам оформлять код SQL запрос в VBA вот так 2) str - VBA сам сделает это из любово другого типа данных, но если будет NULL или Empty будет ошибка Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 11:59 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
sdku Tauri Код: vbnet 1. 2. 3.
Вопрос:какой тип у выделенных цветом полей (что они все текстовые)? Верно ли это: 5 литров = 5 километров числовые: soplata.data_id, soplata.klient_id, soplata.summa, soplata.fopl_id текст: soplata.prim ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 14:31 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
Tauri, ну и занахрена в числовое поле пытаться записать текст(функция STR)-здесь всегда возникнет ошибка Об этом и говорит ПЕНСИОНЕРКА soplata.data_id-если это дата,то и делайте его дата/время и не храните в таблицах вычисляемые поля-если поле summa таковым является ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 14:43 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
sdku Tauri, ну и занахрена в числовое поле пытаться записать текст(функция STR)-здесь всегда возникнет ошибка Об этом и говорит ПЕНСИОНЕРКА soplata.data_id-если это дата,то и делайте его дата/время и не храните в таблицах вычисляемые поля-если поле summa таковым является Тут (и в форме и в таблице) все поля либо числовые либо текст. Вычисляемых полей нет. Т.е. в запросе в числовых полях убрать функцию Str ? А почему тогда на моём компе дома работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 15:50 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА Код: vbnet 1.
на некоторых версиях аксесс это идет по умолчанию, пройдут обе версии Dim bbb As dao.Database Dim bbb As Database но в некоторых версиях это не проходит, надо строго Dim bbb As dao.Database и установить явно ссылку в REFERENCES на MICROSOFT DAO object library ( dao360.DLL ) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 16:01 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА ПЕНСИОНЕРКА Код: vbnet 1.
на некоторых версиях аксесс это идет по умолчанию, пройдут обе версии Dim bbb As dao.Database Dim bbb As Database но в некоторых версиях это не проходит, надо строго Dim bbb As dao.Database и установить явно ссылку в REFERENCES на MICROSOFT DAO object library ( dao360.DLL ) Спасибо. А функцию Str(числовое_поле) убирать из запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 16:54 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
Focha 1)рекомендую Вам оформлять код SQL запрос в VBA вот так 2) str - VBA сам сделает это из любово другого типа данных, но если будет NULL или Empty будет ошибка Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
К сожалению, я не понимаю, как разместить этот код в тексте VBA. В какое место VBA его вставлять - можете написать? Я знаю только конструкцию типа: bbb.Execute "UPDATE... bbb.Close ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 16:59 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
Tauri, эта конструкция ничем не отличается от вашей - только разбита по подстрокам для наглядности Код: vbnet 1. 2. 3. 4. 5.
для более конкретного ответа надо смотреть вашу базу, структуру таблиц, форму ввода непонятно зачем нужна update или у вас форма на свободных полях основана ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 17:31 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
Tauri, STR() убирать,однозначно(интонация Жириновского) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
Добавить записи можно и рекордсетом ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 18:01 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
sdku Tauri, STR() убирать,однозначно(интонация Жириновского) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
Добавить записи можно и рекордсетом Тогда надо писать так?: bbb.Execute "UPDATE soplata SET soplata.data_id = " & Me![ПолеСоСписком15] & ", soplata.klient_id =" & Me![ПолеСоСписком17] & ",... где Me![ПолеСоСписком15] и Me![ПолеСоСписком17] и... - числовые ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 18:30 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
Tauri Тогда надо писать так?: Вам же практически написали готовый пример Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Преимущество в том , что при пошаговой отладке , Вы можете видеть истинное значение пеменной sql , и легче найти ошибку в каком месте спотыкается . ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 20:06 |
|
строка VBA: не работает запрос на обновление
|
|||
---|---|---|---|
#18+
DarkMan Tauri Тогда надо писать так?: Вам же практически написали готовый пример Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Преимущество в том , что при пошаговой отладке , Вы можете видеть истинное значение пеменной sql , и легче найти ошибку в каком месте спотыкается . Спасибо. Но я его не понимаю. Я не программист. Мне нужен (иногда) готовый код, который я копирую и вставляю. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 20:51 |
|
|
start [/forum/topic.php?fid=45&msg=40083687&tid=1609645]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
126ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 240ms |
0 / 0 |