powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / FAQ. А почему у меня перестало работать...
25 сообщений из 225, страница 2 из 9
FAQ. А почему у меня перестало работать...
    #32200220
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гы... То вы не Самопашные, то вы не Кабаны... А дело то не в ентом! Дело в том, что вы - программеры, а какой программер лубит доки писать? Прааааааальна :)
Я вот не программер, поэтому и кабан

//начинайте с первого варианта текста :) Идеи - в дело!!!
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32200239
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Кабан дело говорит. Надо сделать первый вариант. Правда, сдается мне, что рано. Надо ишо материал копить. Тема даааалеко не исчерпывается тем, что на данный момент написано в этом топике.
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32200245
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
- Ну что, не попал?
- Ах, эх, уф... Ну не то чтобы совсем не попал... В шарик не попал...
(c) Винни и прочие
//так же подвергся волне воспоминаний о счастливом детстве :)

Саныч, имхо, материала достаточно на 2-3 часов работы по сбору его в единую кучу. И вот когда он ляжет здесь целиком, то сразу будет видно чего не хватает. А так... Так лично я не могу своим маленьким пяточкастым умишкой охватить топик на три страницы... Помнишь "ТойлетСит"? Там говорилось о слишком большой нагрузке на нашу "оперативку", поэтому надо материал не для памяти, а для глазок...
Надо (рассуждаю по аналогии с "FAQ: Сжатие БД", который кстати уже висит, и Лох даже успел в него кого-то послать :) сначало раскрыть суть проблемы (что есть блиблиотеки), потом как их подключить вручную и программно... Этого вполне, имхо, хватит для первой версии...

Но все это, конечно, имхо... //отодвигается в сторонку от написания ФАКов :)
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32200255
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
//демонстративно молчит, ожидая, пока в голову придет ишо какой-нибудь материал.
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32223533
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Долго ожидал, однако... Вот еще в коллекцию:

Q: Как избавиться от подтверждений на удаление и т.п.?

A1. Ты, наверно, пользуешься DoCmd.RunSQL? Срочно переходи на CurrentDb.Execute (и т.п.).

A2. Иногда советуют поставить DoCmd.SetWarnings False, но это крайне опасно. Это требует добавить DoCmd.SetWarnings True где только можно, особенно в обработчиках ошибок. В противном случае Аксесс в какой-нибудь момент вообще перестанет выдавать сообщения об ошибках до конца работы программы.
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32223559
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саныч, про SetWarning надо отдельную байду писать
А то так ведь можно и всего Гетца в один фак запихнуть.
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32223572
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А разве надо что-то добавить кроме того, что я тут написал? Я хочу сделать один фак именно такой - состоящий из мелких вопросов и ответов.
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32223588
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо, надо...
И почему не надо, и как надо правильно, и как надо через SetWarning если очень хочется (в свое время Сенин Виктор свой кусок кода выкладывал)

один фак именно такой - состоящий из мелких вопросов и ответов.
Если человек ищет ответ на вопрос "Как избавиться от подтверждений на удаление" - он не полезет в фак, озаглавленный "Почему у меня перестало работать"
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32223606
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
> И почему не надо,

Я написал: В противном случае Аксесс в какой-нибудь момент вообще перестанет выдавать сообщения об ошибках до конца работы программы.

> и как надо правильно,

Я написал: Срочно переходи на CurrentDb.Execute (и т.п.).

> и как надо через SetWarning если очень хочется

Я написал: Это требует добавить DoCmd.SetWarnings True где только можно, особенно в обработчиках ошибок.

Слушай, я написал все то, что ты у меня не прочитал!

> (в свое время Сенин Виктор свой кусок кода выкладывал)

Да, вот он:

Код: plaintext
1.
2.
3.
4.
On Error Goto mis
...
Exit Sub
mis:
DoCmd.SetWarnings True


Кстати, нашел другую формулировку:

Вариант 1. Пользоваться CurrentDb.Execute, а не DoCmd.RunSQL. Тогда, кстати, эта операция будет включена в транзакцию.
Вариант 2. Если DoCmd.SetWarnings False, то обязательно On Error GoTo куда-нибудь, а там DoCmd.SetWarnings True.

> Если человек ищет ответ на вопрос "Как избавиться от подтверждений на удаление" - он не полезет в фак, озаглавленный "Почему у меня перестало работать"

Да, заголовок надо поменять. Например: "Короткие вопросы и ответы".
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32223613
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Нашел еще код Виктора Сенина:\r
\r
/topic/36200
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32223622
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Q: Как сделать, чтобы форма не закрывалась?

A: В процедуре Form_Unload поставить Cancel = True.
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32223662
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как сделать чтобы форма закрылась?
DoCmd.Close acForm, Me.Name



Почему она все равно не закрывается?
Надо убрать Cancel = True из Form_Unload
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32232146
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Короче, спустя полтора месяца выставляю первую версию. Виктор и все-все-все, присоединяйтесь!\r
\r
Q: Перестали распознаваться служебные слова, такие как Left, Right, Database и т.д.\r
\r
A1: Проверь, не слетели ли ссылки. Из окна открытого модуля Tools -> References, и там должны быть помечены:\r
\r
(кто-нибудь, помогите добавить список ссылок, которые необходимы)\r
\r
A2: Если в региональных настройках Windows в качестве разделителя списков задана не запятая, а, скажем, точка с запятой, то при обращении к функциям надо ставить между аргументами именно этот разделитель (если обращение находится в запросе, в свойствах контрола и т.п., а не в модуле).\r
\r
A3: В качестве имени объекта могло случайно оказаться взято служебное слово. Решения: переименовать объект; пользоваться полным синтаксисом (Me!MyControl, а не просто MyControl).\r
\r
Q: Ставлю MsgBox - работает. Убираю - не работает.\r
\r
A: Поставь DoEvents вместо MsgBox.\r
\r
Q: Вылазит сообщение: Expected variable or procedure, not module.\r
\r
A: Начиная с Access 95, запрещено давать модулям имена, совпадающие с названиями переменных и процедур, а также со служебными словами. Если при компиляции появилось такое сообщение - значит, среди модулей попался такой, имя которого совпадает с чем-то в той строке, на которую Аксесс кричит. Его надо переименовать.\r
\r
Q: Как избавиться от подтверждений на удаление и т.п.?\r
\r
A1: Ты, наверно, пользуешься DoCmd.RunSQL? Срочно переходи на CurrentDb.Execute (и т.п.).\r
\r
A2: Иногда советуют поставить DoCmd.SetWarnings False, но это крайне опасно. Это требует добавить DoCmd.SetWarnings True где только можно, особенно в обработчиках ошибок. В противном случае Аксесс в какой-нибудь момент вообще перестанет выдавать сообщения об ошибках до конца работы программы. Вот пример правильного пользования SetWarnings:\r
\r
/topic/36200
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32232356
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А вот топик, в котором накидано очень много способов, как вылечить испорченный mdb:\r
\r
/topic/40603&pg=1\r
\r
Правда, оказалось, что тот mdb вроде и не был испорчен, однако топик все равно очень полезный.
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32236491
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Новая версия одного из вопросов.\r
\r
Q: Как избавиться от подтверждений на удаление и т.п.?\r
\r
A1: Ты, наверно, пользуешься DoCmd.RunSQL? Срочно переходи на CurrentDb.Execute (и т.п.). Только надо учесть, что Execute не будет работать, если команда или один из нижележащих запросов содержит обращения к формам, - все эти обращения будут восприняты как параметры, которым не передано значение. Как очень частичное решение этой проблемы можно писать так:\r
\r
Dim q As QueryDef, p As Parameter\r
Set q = CurrentDb.QueryDefs(...)\r
For Each p In q.Parameters\r
p.Value = p.Name\r
Next\r
q.Execute
\r
\r
A2: Иногда советуют поставить DoCmd.SetWarnings False, но это крайне опасно. Это требует добавить DoCmd.SetWarnings True где только можно, особенно в обработчиках ошибок. В противном случае Аксесс в какой-нибудь момент вообще перестанет выдавать сообщения об ошибках до конца работы программы. Вот пример правильного пользования SetWarnings:\r
\r
/topic/36200
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32236518
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Санычу

Можно добавить к товему Q мое Q ( (c) Кинд-за-дза :)
Q: Как избавиться от подтверждений на удаление и т.п.?
Q: Я выполняю запрос в коде, а мне в ответ "Too few parameters. Expected Число" ("Слишком мало парметров. Ожидалось Число")

Далее не много можно подредактировать:

Только надо учесть, что Execute не будет работать, если команда или один из нижележащих запросов содержит обращения к формам, - все эти обращения будут восприняты как параметры, которым не передано значение.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
'Если все параметры являються сслыками на контролы форм (Forms![ИмяФормы]![ИмяКонтрола]), тогда самое простое (и красивое) решение:
Dim q As QueryDef, p As Parameter 
Set q = CurrentDb.QueryDefs("ИмяЗапрса)  ' как обычного запроса Select так и INSERT/DELETE/UPDATE
For Each p In q.Parameters 
p.Value = p.Name 
Next 
q.Execute 
q.close: set q=Nothing

'Если вместо обращений к формам вы используете собственные парметры (например [Введите начальную дату:], тогда вам нужно задать параметры вручную:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim q As QueryDef, p As Parameter 
Set q = CurrentDb.QueryDefs("ИмяЗапрса)  ' как обычного запроса Select так и INSERT/DELETE/UPDATE

q.Parameters("[Введите начальную дату:]").Value=Cdate(Ваше_значение_парметра)
q.Parameters("[Введите конечную дату:]").Value=cDate(Ваше_значение_парметра)
q.Parameters("[Введите Фамилию:]").Value=Cstr(Ваше_значение_парметра)
'и т.д. пока не переберете все парметры

q.Execute 
q.close: set q=Nothing


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
'Узнать какие параметры от вас хочет Акес можно с помощью следующего кода 

Dim q As QueryDef, p As Parameter 
Set q = CurrentDb.QueryDefs("ИмяЗапрса)  ' как обычного запроса Select так и INSERT/DELETE/UPDATE

For Each p In q.Parameters 
debug.print p.Name 
Next 

q.close: set q=Nothing
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32236538
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Два раза ку. :^)

Предлагаю так:

1. Вынести твой Q в отдельный фак (потому что ответ получился очень уж длинный).

2. В моем Q оставить только ссылку на твой фак.

3. Новый фак доработать на все случаи жизни. Помнится, Лох говорил, что то ли инсерт иногда запрашивает параметры, а апдейт в тех же случаях нет, то ли наоборот. И с перекрестными запросами вроде тоже была какая-то особенность на ту же тему.
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32236563
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никаких особенностей не будет - если использовать параметры. Всегда. Явно. Хороший стиль + уверенность в завтрешнем дне (это из рекламы)
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32236564
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ВС \r
Я за!!!!\r
\r
И ещё такой изврат Polev - Дата: 31 июл 03, 10:37
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32236567
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Но мы же тут не для того, чтобы всех перевоспитывать. Человек привык обращаться к форме из селекта, ну так не расстреливать же его теперь. Мы ему должны показать, какие бывают подводные камни, а он пусть сам решает, как себя вести.
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32236574
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 Sfagnum:

Копирую сюда.

Application.SetOption "Confirm Record Changes", False
Application.SetOption "Confirm Document Deletions", False
Application.SetOption "Confirm Action Queries", False
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32236590
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я про то и говорил что надо его показать
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32236599
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Саныч

Зачем cкопировали этот бред?
Глобальные настройки трогать нельзя - я же писал! ( слышиться тихий плач от не понимания )

А если и показать данный пример - то в разделе "Так делать НЕЛЬЗЯ " (кстати тоже хороший раздел фака был бы)
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32236621
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот и объяснишь почему, а то услышат где на углу и давай внедрять, до SQL.Ru ни х.. не знают...
...
Рейтинг: 0 / 0
FAQ. А почему у меня перестало работать...
    #32236629
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Виктор, у меня было предчувствие, что это чем-то нехорошо, но я не знаю, чем именно. Это ведь действует только на данную аппликацию (а не на весь Аксесс) и только у заказчика (который в сам Аксесс не лезет).
...
Рейтинг: 0 / 0
25 сообщений из 225, страница 2 из 9
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / FAQ. А почему у меня перестало работать...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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