|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
...функциия Left/Right ...стало ругаться на Database и т.п. смысл этих вопросов думаю понятен - ССЫЛКИ НА БИБЛИОТЕКИ И этот вопрос в факе должно быть на первом месте, и через раз ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2003, 09:53 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
ну, конечно, ссылки на библиотеки. в аксессе имеются ссылки на библиотеки, а самих библиотек нет. Функции left и right всегда первыми выпадают. Надо библиотеки ессно доставить. Только в чем вопрос, я не понял... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2003, 10:02 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2003, 10:04 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Так это не вопрос был, а ответ:-) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2003, 10:04 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2ЛП а я эту ссылку потерял :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2003, 10:09 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
А у меня она в избранном ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2003, 10:14 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Ну пардон тогда. Не поняль. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2003, 10:18 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
А еще эти функции не работают в формах и запросах, если в качестве разделителя элементов списка задана точка с запятой, а между параметрами стоит запятая (и т.п.). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2003, 10:36 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2Санычу ОК. Тогда добавим " а раньше работало" ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2003, 10:37 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
А перестало работать при переносе на другой комп/переустановке системы/переходе на другую версию офиса. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2003, 10:39 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2Саныч добавление : проверить национальные настройки - разделители. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2003, 10:40 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Кстати, в VB иногда не работает Left, потому что VB понимает его как Me.Left. В Аксессе вроде не бывает такого? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2003, 10:42 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
А еще: не работает, если в качестве имени объекта взято служебное слово. Решения (в разных случаях годятся разные из них): переименовать объект; пользоваться полным синтаксисом; не путать Me.Count и Me!Count. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2003, 10:45 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2Санычу >А еще: не работает, если в качестве имени объекта взято служебное слово Это в отдельный раздел FAQ - список служ. слов. Хотя он и есть в справке, но почему то про нею (справку) забывают. (или на нею забивают?) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2003, 10:47 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
А вообще, "А почему у меня перестало работать..." - это действительно удачная формулировка. Только надо добавить: "Подборка распространенных граблей". Чтобы поняли, что в этом факе действительно может оказаться ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2003, 10:48 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2Саныч в таком случае нужно сразу отправлять к первоисточникам - грубейшая ошибка. во всех языках описание начинается с этого. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2003, 10:48 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
> во всех языках описание начинается с этого. Это про служебные слова? Но в Аксессе это не запрещено. В других языках это вообще ошибка компиляции. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2003, 10:50 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Вопрос. Ставлю MsgBox - работает. Убираю - не работает. Ответ. Поставь DoEvents вместо MsgBox. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2003, 13:21 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Надо написать про одну психологическую проблему, постигающую многих чайников, да и не чайников тоже. Когда стринг (например, селект) сочиняется в программе, люди путаются в том, чтО входит в стринг, а чтО вносит в него свое значение. Например: "Like '" & S & "*'" "Like '" & "S" & "*'" "Select " & CStr(F) & " As F" "Select " & "CStr(F)" & " As F" Самый простой способ распутаться - это поставить breakpoint и посмотреть на полученный стринг глазами. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2003, 17:08 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Что-то мы с Виктором никак этот фак не дотянем... Короче, вот еще ситуевина: Q.: Expected variable or procedure, not module A.: Начиная с Access 95, запрещено давать модулям имена, совпадающие с названиями переменных и процедур, а также со служебными словами. Если при компиляции появилось такое сообщение - значит, среди модулей попался такой, имя которого совпадает с чем-то в той строке, на которую Аксесс кричит. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2003, 15:24 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
>Что-то мы с Виктором никак этот фак не дотянем. ээ-эх. Ну не кабаны мы, Саныч, не кабаны ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2003, 15:28 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Наверно, не всем в этом форуме дано быть кабанами... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2003, 16:27 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Свиньей ты можешь и не быть Но фак свой дописать обязан! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2003, 17:12 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
:^) Спасибо, родной. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2003, 17:40 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
С чего начнем, Саныч? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2003, 18:29 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Гы... То вы не Самопашные, то вы не Кабаны... А дело то не в ентом! Дело в том, что вы - программеры, а какой программер лубит доки писать? Прааааааальна :) Я вот не программер, поэтому и кабан //начинайте с первого варианта текста :) Идеи - в дело!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2003, 18:35 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Кабан дело говорит. Надо сделать первый вариант. Правда, сдается мне, что рано. Надо ишо материал копить. Тема даааалеко не исчерпывается тем, что на данный момент написано в этом топике. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2003, 19:26 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
- Ну что, не попал? - Ах, эх, уф... Ну не то чтобы совсем не попал... В шарик не попал... (c) Винни и прочие //так же подвергся волне воспоминаний о счастливом детстве :) Саныч, имхо, материала достаточно на 2-3 часов работы по сбору его в единую кучу. И вот когда он ляжет здесь целиком, то сразу будет видно чего не хватает. А так... Так лично я не могу своим маленьким пяточкастым умишкой охватить топик на три страницы... Помнишь "ТойлетСит"? Там говорилось о слишком большой нагрузке на нашу "оперативку", поэтому надо материал не для памяти, а для глазок... Надо (рассуждаю по аналогии с "FAQ: Сжатие БД", который кстати уже висит, и Лох даже успел в него кого-то послать :) сначало раскрыть суть проблемы (что есть блиблиотеки), потом как их подключить вручную и программно... Этого вполне, имхо, хватит для первой версии... Но все это, конечно, имхо... //отодвигается в сторонку от написания ФАКов :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2003, 19:57 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
//демонстративно молчит, ожидая, пока в голову придет ишо какой-нибудь материал. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2003, 22:12 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Долго ожидал, однако... Вот еще в коллекцию: Q: Как избавиться от подтверждений на удаление и т.п.? A1. Ты, наверно, пользуешься DoCmd.RunSQL? Срочно переходи на CurrentDb.Execute (и т.п.). A2. Иногда советуют поставить DoCmd.SetWarnings False, но это крайне опасно. Это требует добавить DoCmd.SetWarnings True где только можно, особенно в обработчиках ошибок. В противном случае Аксесс в какой-нибудь момент вообще перестанет выдавать сообщения об ошибках до конца работы программы. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 12:04 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Саныч, про SetWarning надо отдельную байду писать А то так ведь можно и всего Гетца в один фак запихнуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 12:14 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
А разве надо что-то добавить кроме того, что я тут написал? Я хочу сделать один фак именно такой - состоящий из мелких вопросов и ответов. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 12:17 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Надо, надо... И почему не надо, и как надо правильно, и как надо через SetWarning если очень хочется (в свое время Сенин Виктор свой кусок кода выкладывал) один фак именно такой - состоящий из мелких вопросов и ответов. Если человек ищет ответ на вопрос "Как избавиться от подтверждений на удаление" - он не полезет в фак, озаглавленный "Почему у меня перестало работать" ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 12:23 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
> И почему не надо, Я написал: В противном случае Аксесс в какой-нибудь момент вообще перестанет выдавать сообщения об ошибках до конца работы программы. > и как надо правильно, Я написал: Срочно переходи на CurrentDb.Execute (и т.п.). > и как надо через SetWarning если очень хочется Я написал: Это требует добавить DoCmd.SetWarnings True где только можно, особенно в обработчиках ошибок. Слушай, я написал все то, что ты у меня не прочитал! > (в свое время Сенин Виктор свой кусок кода выкладывал) Да, вот он: Код: plaintext 1. 2. 3. 4.
Кстати, нашел другую формулировку: Вариант 1. Пользоваться CurrentDb.Execute, а не DoCmd.RunSQL. Тогда, кстати, эта операция будет включена в транзакцию. Вариант 2. Если DoCmd.SetWarnings False, то обязательно On Error GoTo куда-нибудь, а там DoCmd.SetWarnings True. > Если человек ищет ответ на вопрос "Как избавиться от подтверждений на удаление" - он не полезет в фак, озаглавленный "Почему у меня перестало работать" Да, заголовок надо поменять. Например: "Короткие вопросы и ответы". ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 12:33 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Нашел еще код Виктора Сенина:\r \r /topic/36200 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 12:38 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Как сделать, чтобы форма не закрывалась? A: В процедуре Form_Unload поставить Cancel = True. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 12:41 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Как сделать чтобы форма закрылась? DoCmd.Close acForm, Me.Name Почему она все равно не закрывается? Надо убрать Cancel = True из Form_Unload ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2003, 13:12 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Короче, спустя полтора месяца выставляю первую версию. Виктор и все-все-все, присоединяйтесь!\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 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2003, 15:34 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
А вот топик, в котором накидано очень много способов, как вылечить испорченный mdb:\r \r /topic/40603&pg=1\r \r Правда, оказалось, что тот mdb вроде и не был испорчен, однако топик все равно очень полезный. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2003, 00:03 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Новая версия одного из вопросов.\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 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 13:00 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2Санычу Можно добавить к товему Q мое Q ( (c) Кинд-за-дза :) Q: Как избавиться от подтверждений на удаление и т.п.? Q: Я выполняю запрос в коде, а мне в ответ "Too few parameters. Expected Число" ("Слишком мало парметров. Ожидалось Число") Далее не много можно подредактировать: Только надо учесть, что Execute не будет работать, если команда или один из нижележащих запросов содержит обращения к формам, - все эти обращения будут восприняты как параметры, которым не передано значение. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
'Если вместо обращений к формам вы используете собственные парметры (например [Введите начальную дату:], тогда вам нужно задать параметры вручную: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 13:13 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Два раза ку. :^) Предлагаю так: 1. Вынести твой Q в отдельный фак (потому что ответ получился очень уж длинный). 2. В моем Q оставить только ссылку на твой фак. 3. Новый фак доработать на все случаи жизни. Помнится, Лох говорил, что то ли инсерт иногда запрашивает параметры, а апдейт в тех же случаях нет, то ли наоборот. И с перекрестными запросами вроде тоже была какая-то особенность на ту же тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 13:22 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Никаких особенностей не будет - если использовать параметры. Всегда. Явно. Хороший стиль + уверенность в завтрешнем дне (это из рекламы) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 13:33 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2 ВС \r Я за!!!!\r \r И ещё такой изврат Polev - Дата: 31 июл 03, 10:37 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 13:35 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Но мы же тут не для того, чтобы всех перевоспитывать. Человек привык обращаться к форме из селекта, ну так не расстреливать же его теперь. Мы ему должны показать, какие бывают подводные камни, а он пусть сам решает, как себя вести. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 13:36 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2 Sfagnum: Копирую сюда. Application.SetOption "Confirm Record Changes", False Application.SetOption "Confirm Document Deletions", False Application.SetOption "Confirm Action Queries", False ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 13:38 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Я про то и говорил что надо его показать ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 13:44 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2 Саныч Зачем cкопировали этот бред? Глобальные настройки трогать нельзя - я же писал! ( слышиться тихий плач от не понимания ) А если и показать данный пример - то в разделе "Так делать НЕЛЬЗЯ " (кстати тоже хороший раздел фака был бы) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 13:50 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Ну вот и объяснишь почему, а то услышат где на углу и давай внедрять, до SQL.Ru ни х.. не знают... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 14:04 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Виктор, у меня было предчувствие, что это чем-то нехорошо, но я не знаю, чем именно. Это ведь действует только на данную аппликацию (а не на весь Аксесс) и только у заказчика (который в сам Аксесс не лезет). ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 14:10 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Кстати: q.close - это лишнее. У QueryDef нет ни Open, ни Close. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 14:22 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2Саныч >Кстати: q.close - это лишнее. У QueryDef нет ни Open, ни Close. Open нет, а Close есть. Так что ничего лишнего :) >Это ведь действует только на данную аппликацию (а не на весь Аксесс) и только у заказчика (который в сам Аксесс не лезет). Действует только на проект. Но, во-первых, сам разработчик может напороться (случайно нажать DEL на таблице, например, - кхе-кхе: сам как-то попался :), да и премудрый оператор - то же, если до Окна дорветься. 2Sfagnum >Ну вот и объяснишь почему, а то услышат где на углу и давай внедрять, до SQL.Ru ни х.. не знают... Какой такой угол? Ты же сслыку сам запостил. ТТам мой пост от "Дата: 31 июл 03, 10:44"? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 14:51 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
> Open нет, а Close есть. Так что ничего лишнего :) Помню, когда наша фирма только начинала работать на Аксессе, мы получали какую-то брошюрку от Майкрософта. Там была статья под заголовком: "Не закрывайте то, чего не открывали!" Кроме того, вот что написано в хелпе: Closing an open object removes it from the collection to which it's appended. Это ведь не то, что мы хотим? > Но, во-первых, сам разработчик может напороться Надо делать так: If DevelopEnvir Then..., где DevelopEnvir - это какая-нибудь функция, которая может, например, обращаться к ini. > да и премудрый оператор - то же, если до Окна дорветься. А ему не надо прав давать на уничтожение объектов. А то он и получит MsgBox на подтверждение, и ответит "да". ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 15:14 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Виктор, хочу твою реакцию. Надо родить истину. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 17:07 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2Саныч >Кроме того, вот что написано в хелпе: Closing an open object removes it from the collection to which it's appended. Это ведь не то, что мы хотим? Все-таки Close есть, сейчас некогда MSDN копать, но если есть Закрыть, то что-то его и открывает. Я думаю: Set q=CurrentDb. Open QueryDefs(...) Но это все домыслы. Надо MSDN рыть. Хотя надо попробовать сделать Set, затем точку останова и посмотреть на блокировки >Надо делать так: If DevelopEnvir Then..., где DevelopEnvir - это какая-нибудь функция, которая может, например, обращаться к ini. >А Оператору не надо прав давать на уничтожение объектов. А то он и получит MsgBox на подтверждение, и ответит "да". Саныч, все-таки это лишнее - трогать глобальные (для проекта) свойства. Мое (сугобо личное и не обязательно близкое к правде - о как завернул :) - трогать не надо. >Надо родить истину. Тут уже не о истине идет речь, а о привычках, стили программирования. Лично мне - не нравиться (так и запишите в протокол ) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 18:57 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Senin Viktor писал:2Sfagnum >Ну вот и объяснишь почему, а то услышат где на углу и давай внедрять, до SQL.Ru ни х.. не знают... Какой такой угол? Ты же сслыку сам запостил. ТТам мой пост от "Дата: 31 июл 03, 10:44"? Нуу.... там больше эмоций нежели обоснований, эти бы довады да по формальнее, и обоснований ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2003, 11:40 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
> Все-таки Close есть, сейчас некогда MSDN копать, Оно есть, это факт. Но я не понимаю, что оно делает. Неужели удаляет запрос из коллекции QueryDefs? > но если есть Закрыть, то что-то его и открывает. Я думаю: Set q=CurrentDb.OpenQueryDefs(...) Ноу, сэр. (Или: Но, но, но, но, сеньор.) QueryDefs - это всего лишь название коллекции, в которой содержатся все запросы. CurrentDb.QueryDefs(...) - это просто такая же ссылка на запрос, как и q. Она ничего не открывает. > Хотя надо попробовать сделать Set, затем точку останова и посмотреть на блокировки Какие блокировки??? > все-таки это лишнее - трогать глобальные (для проекта) свойства. Что значит трогать? Они для того и существуют, чтобы их задавать и конфигурировать. Неужели нельзя задать для данного mdb свою конфигурацию настроек? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2003, 17:16 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Ну как хотите... == попробую покапать глубже ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2003, 18:18 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Это был ответ на который из моих вопросительных знаков? :^) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2003, 18:26 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2Саныч >Это был ответ на который из моих вопросительных знаков? :^) На "Они для того и существуют, чтобы их задавать и конфигурировать" На "Какие блокировки???" На "это просто такая же ссылка на запрос, как и q. Она ничего не открывает." :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2003, 18:43 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
:^) Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2003, 18:45 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Всегда пожалуйста == Я еще к этой теме, наверное, вернусь Разгребу дела, найду время на MSDN и тогда продолжим ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2003, 18:49 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
ОК, тогда пока не будем торопиться с публикацией этого фака. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2003, 22:09 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2Саныч Ну почему же не публиковать? Можно - все же верно, а Close/Nothing - это из области наших прошлых (и будующих) сражений по поводу надо ли деладть деинициализацию объектных переменных, если они и так выйдут из области видимости процедуры и уничтожаться VBA) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2003, 11:25 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
> Ну почему же не публиковать? Так ведь нет окончательной формулировки. > а Close/Nothing - это из области наших прошлых (и будующих) сражений по поводу надо ли деладть деинициализацию объектных переменных, если они и так выйдут из области видимости процедуры и уничтожаться VBA Деинициализацию делать надо, с этим у меня полное единогласие. Но я не понимаю, что такое Close применительно к QueryDef. Писать его или не писать. Если мы рекомендуем его писать, то нам самим надо понять, что оно делает. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2003, 13:59 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Я сейчас поставил эксперимент. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Запустил это, дошел до Stop и стал смотреть в Debug Window: Код: plaintext 1. 2. 3.
Все ОК. Потом сделал q.Close и снова стал смотреть. И ничего не изменилось! То есть q.Close ничего не делает, даже не стирает значения, присвоенные параметрам запроса, и не уничтожает рекордсет, открытый на запросе. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2003, 14:45 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
(к моему сожалению главного справки по DAO SDK у меня нет - там есть (дложно?) быть более полное освещение проблемы) из справки Акеса: Код: plaintext 1. 2. 3. 4.
Далее идут чудеса ввиду отсуствия упоминания QueryDef : Код: plaintext 1. 2. 3. 4. 5. 6. 7.
А теперь и далеее только MSDN: Есть пример Close который вызываеться после операции Delete (ms-help://MS.MSDNQTR.2003APR.1033/bapp2000/html/acbachap06.htm) Код: 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.
Так же попалась на глаза интересная статья "ACC: Problems Quitting Microsoft Access" правда, только для 97 акеса (ms-help://MS.MSDNQTR.2003APR.1033/enu_kbaccesskb/accesskb/164455.htm) Код: plaintext 1. 2. 3.
и пример Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Статья "ACC2000: To Help Prevent Database Bloat, Explicitly Close Recordsets" содержит тот же пример (...Because the recordset memory is not released, each time that you loop through code, DAO may recompile, using more memory and increasing the size of the database. ) и те же рекомендации закрывать.(ms-help://MS.MSDNQTR.2003APR.1033/enu_kbacc2000kb/acc2000kb/209847.htm) и тоже самое для 2002 акеса (ms-help://MS.MSDNQTR.2003APR.1033/enu_kbacc10kb/acc10kb/289562.htm) И еще одна статья "ACC: Explicitly Close Recordsets to Help Prevent Database Bloat" (ms-help://MS.MSDNQTR.2003APR.1033/enu_kbaccesskb/accesskb/186311.htm) с тем же (блин, микрософтоцы Copy-Paste освоили идеально :) примером и с тем же советом. Есть пример с Close после создания нового объекта "HOWTO: Create a Parameter Query via Data Access Objects" (ms-help://MS.MSDNQTR.2003APR.1033/enu_kbvbapps/vbapps/142938.htm) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Не много из справки по С++ Код: plaintext 1. 2. 3. 4. 5.
И еще один пример "ACC2000: "Too Few Parameters. Expected 1" Error Message" (ms-help://MS.MSDNQTR.2003APR.1033/enu_kbacc2000kb/acc2000kb/209203.htm) Код: 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. 33. 34. 35.
Так же в статье "ACC: "Too few parameters. Expected 1" Error Message" (ms-help://MS.MSDNQTR.2003APR.1033/enu_kbaccesskb/accesskb/105522.htm) имееться пример с Close QueryDef В статье "BUG: Parameterized Queries with JET OLE DB Provider May Run Slow" говориться о необходимости закрывать объект перед его выполнением с новыми парметрами (ms-help://MS.MSDNQTR.2003APR.1033/enu_kboledb/oledb/252883.htm) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Так же при модификации SQL-инструкции вызываеться метод Close (статья "How to Use a Multi-Select List Box to Filter a Form" (ms-help://MS.MSDNQTR.2003APR.1033/enu_kbvbapps/vbapps/135546.htm) Код: plaintext 1. 2. 3. 4. 5. 6.
Ну и напоследок самое интересное: В MSDN так же имеется туева-хуча примеров без Close. вот теперь думайте и решайте для себя к5аждый сам. А я все-таки буду делать Close и Nothing. (Тут заметил что эти 2 слова я уже могу набрать на клаве слепым методом - так что трудозатраты минимальны) == Извиняйте за многословность. === и у кого есть DAO SDK - плиз, see Close method. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2003, 15:31 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Ну а теперь, Саныч, мне нужно твое мнение :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2003, 15:33 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
я тоже теперь ставлю, правда еще вслепую не умею набирать. я считаю из всего сказанного можно сделать вывод не работает (есть Close, Nothig) - попробуй убрать Close, Nothig не работает (нет Close, Nothig) - попробуй поставить Close, Nothig ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2003, 16:07 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Ну, Виктор, я просто обязан оценить твои трудозатраты... Ясности немножко появилось, хотя и не до конца. Можно сформулировать так: Код: plaintext 1. 2.
Все равно никуда не уйти от сказанного Вадей: ставь Close наобум, а если не работает, то убирай. Кстати: я в своем эксперименте попробовал делать Close несколько раз подряд. Нифига. Значения параметров сохраняются, рекордсет стоит, как штык. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2003, 16:50 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Да, Вадя хорошо сформулировал один из основной принципов занятия AcSex'ом == Надо в факе дать ссылку по Close на этот топик - пусть каждый решает сам ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2003, 17:50 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Итак, вот новая версия.\r \r Для рассуждений про Close, увы, места не нашлось. От тех кусков кода, в которых это стояло, я оставил только то, что непосредственно является ответом на вопрос. Close был в тех строках, которые, по идее, у задающего вопрос и так уже написаны на момент задания вопроса.\r \r В вопросе про параметры запроса я добавил Eval - мне кажется, что это был пропущенный всеми баг.\r \r ===\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: Начинается совершенно непонятное поведение mdb.\r \r A: Скорее всего файл испортился. Надо попробовать его починить. Вот топик, в котором накидано очень много способов, как вылечить испорченный mdb:\r \r /topic/40603\r \r (Правда, оказалось, что тот mdb вроде и не был испорчен, однако топик все равно очень полезный.)\r \r Q: Как избавиться от подтверждений на удаление и т.п.?\r \r A1: Ты, наверно, пользуешься DoCmd.RunSQL? Срочно переходи на CurrentDb.Execute (и т.п.). Только надо учесть, что Execute не будет работать, если команда или один из нижележащих запросов содержит обращения к формам, - все эти обращения будут восприняты как параметры, которым не передано значение. На этот случай см. следующий вопрос на этой же странице.\r \r A2: Иногда советуют поставить DoCmd.SetWarnings False, но это крайне опасно. При неаккуратном использовании этой команды Аксесс просто вообще перестанет выдавать сообщения об ошибках. Это требует добавить DoCmd.SetWarnings True где только можно, особенно в обработчиках ошибок. В противном случае Аксесс в какой-нибудь момент вообще перестанет выдавать сообщения об ошибках до конца работы программы. Вот пример правильного пользования SetWarnings:\r \r /topic/36200\r \r A3: Иногда советуют поменять глобальные настройки аппликации:\r \r Код: plaintext 1. 2.
\r Это тоже крайне опасно. Подтверждения исчезнут во всей аппликации насквозь, в том числе там, где это не планировалось. Это можно делать только в том случае, если соблюдены два условия: 1. Пользователь лишен права на удаление тех объектов, которые нужны для нормальной работы программы, и данных через экран. 2. Подтверждения не отключаются, если в аппликации работает сам разработчик.\r \r Q: Я выполняю запрос в коде, а мне в ответ - "Too few parameters. Expected Число" ("Слишком мало параметров. Ожидалось Число").\r \r A: Если все параметры являются ссылками на контролы форм (Forms![ИмяФормы]![ИмяКонтрола]), тогда самое простое (и красивое) решение (тут и дальше q - переменная типа QueryDef, ссылающаяся на тот запрос, с которым возникла проблема):\r \r Код: plaintext 1. 2. 3.
\r Если вместо обращений к формам ты используешь собственные параметры (например [Введите начальную дату:], тогда нужно задать их значения так:\r \r Код: plaintext 1. 2.
\r Узнать, какие параметры от тебя хочет Аксесс, можно с помощью следующего кода:\r \r Код: plaintext 1. 2. 3.
\r Вроде бы тут не все охвачено. Помнится, Лох говорил, что то ли инсерт иногда запрашивает параметры, а апдейт в тех же случаях нет, то ли наоборот. И с перекрестными запросами вроде тоже была какая-то особенность на ту же тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2003, 20:17 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Вроде вопросы DoCmd.RunSQL & CurrentDb.Execute & Application.SetOption - решили вынести в отдельный FAQ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2003, 09:45 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2 Sfagnum: Где и когда решили? Есть какие-то наработки по этому поводу? Есть ссылка на какой-то топик? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2003, 11:05 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Ну вот блин... кто решил... ссылки ему подавай... нароботки... Было предложение... нууу.... не решили до конца но моё мнение надо в отдельный FAQ ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2003, 11:17 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Dearest Sfagnum, попробуй, напиши это в отдельном топике, как тебе видится. Тогда будем смотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2003, 11:22 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Да я то могу намалевать, но текст то ваш с Виктором... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2003, 11:25 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
>Да я то могу намалевать, но текст то ваш с Виктором... Малюй, текст не мой, а MSDN. Хотя ошибки - это мое - их не трожь, Усi права захищины :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2003, 11:29 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
1. Добавляю еще одну пару вопрос-ответ. Q: Пишу программу на VBA, и при этом все дрожит, недописанная строка красится красным, как содержащая ошибку, курсор сам перескакивает по строке куда вздумается, сами расставляются пробелы и большие буквы и т.д. Что за безобразие? A: У одной из открытых форм работает таймер. 2. Люди, помогите восполнить то, что в посте от 16 авг 03, 20:17 выделено красным. Буду очень благодарен! 3. Sfagnum, как дела? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 12:10 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Прикидки есть, но их тож надо добавлять... Сейчас подзавяз в работе, некогда пока, но думаю на следущей неделе смогу время выделить ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 14:37 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
OK, я 3 числа окончательно вернусь из армии, до этого времени можно не торопиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 14:48 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Спасибо ;) Предыдущий ещё не выложили... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 14:49 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
"...когда я окончательно вернусь из армии..." - вещал Владими Саныч из интернета. Блин, почему я не родился в Израиле?.. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 14:50 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Geo, зачем тебе рождаться в Израиле? Я тоже не родился. Тебе хочется каждый год ходить в армию? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 14:52 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
В такую, откуда можно сходить домой, и пообщаться в интернете, и поработать - я не против ходить хоть раз в неделю. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 14:54 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Так ты и так дома. Армия-то зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 14:55 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Я имел в виду - вместо нашей, родной армии (ВС РФ). :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 14:56 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Предлагаю продолжить на лестнице. Сейчас там напишу ответ. :^) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 15:01 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Маленькая просьба - я бы хотел, чтобы этот фак не публиковался до моего возвращения из армии 3 числа. (На правах просьбы, исполнять не обязательно.) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 18:03 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Лох, наверно, это к тебе. 16 авг 03, 20:17, в двух местах красненьким. А то чавой-то все молчат. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 23:28 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Саныч, чтобы не отвелкать ЛП от пития вотки :) попробуем разобраться сами >Кто-нибудь, помогите добавить список ссылок, которые необходимы. Если честно, то не со всем понятно, что тебе не понятно Открываем Ссылки и переписываем. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 23:51 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Их там много, этих ссылок. А отваливается, приводит к обсуждаемым симптомам и порождает F.A.Questions, видимо, какая-то одна. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 23:54 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Ну и что что много - отваливается обычно DAO. Ибо много приложений считают нужными после собственного удаления утащить на тот свет и ДАО. Хотя причин может быть много. А отваливаться может куча ссылок, хотя если стоит куча, значит ее кто создал, а если он создал - значит он знал, что делал. Если он знал что делал - тогда он знает что делатб. Можно в ФАКе написать: записать на бумажку название ссылок начинающихся со слов Missing:... Снять с них галочки - откомпилировать проект. Если проект не компилируеться - разбираться какие ссылки нужны и восстанавливать. Можно спросить на форуме :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2003, 00:02 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Это все понятно. (Кстати, тоже полезные слова, их тоже надо в фак включить.) Но у меня (и у задающих такие вопросы в форуме) бывает в основном одна ситуация. Перестают распознаваться слова типа Mid, Left и т.д. Я привык это лечить подрисовыванием VBA.Mid, VBA.Left и т.д. Ой, а ведь раз после этого оно начинает работать, значит ссылка не отвалилась... А как еще это лечится и отчего это бывает? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2003, 00:08 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Сколько себя помню - ни разу не страдал VBA.Left'ами А вот ссылки на ДАО пропадали (как и само ДАО) - элементарно востанавливалось переустановкой офиса. == Сейчас глюк не приятный вылез: офис2000, adp. Подключнена библиотека MS Office 9.0 . Установил VS.Net 2003 c Visio ,а оно поставило библиотеку MS Office 10. И 9.0 библиотека исчезла - приходиться компилить файл ade на чужой машине :( Так на клиентах стоит офис2000 с 9 версией билиотеки ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2003, 22:20 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
поставило библиотеку MS Office 10.0... Действительно, 10.0, а 9.0 пропала :( Безобразие. И что? Так каждый год? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2003, 22:27 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Соболезную, Geo Если теперь надо бежать к клиенту с готовым mde/ade не забудь его предупредить, чтобы поставил себе какой нибудь продукт из офиса 2002 или стразу VS.Net :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2003, 22:36 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Viktor>Сколько себя помню - ни разу не страдал VBA.Left'ами ... А у меня хоть опыт программирования и маленький, но уже страдал, правда не Left'ami & Right'ami, a Mid'ami. Был у меня в проге такой идентификатор. Долго мучался, пока понял, в чем дело. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2003, 22:51 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Добавляю. Q: Почему неправильно работает округление? A: Существует много методов округления. Функция Round округляет по своим правилам, которые могут отличаться от нужных. Поэтому лучше округлять явным образом, осознавая, что именно делает программа. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2003, 23:45 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2 Саныч Красненькое номер адын. Кто-нибудь, помогите добавить список ссылок, которые необходимы Необходимы все которые используются. При этом все (отмеченные) должны быть корректно установлены на машине. Если какая-либо из них отстутствует (напр. есть ссылка на библиотеку Outlook, а его самого на машине нихт), то в результате при выполнении запросов может выдаваться ругань на то, что не найдена функция из совсем другой библиотеки. В моей практике чаще всего ругалось на функции из библиотеки собственно аксеса и VBA, такие как Nz, DMax, Date, Left и т.п. Вроде бы тут не все охвачено. Помнится, Лох говорил, что то ли инсерт иногда запрашивает параметры, а апдейт в тех же случаях нет, то ли наоборот. И с перекрестными запросами вроде тоже была какая-то особенность на ту же тему. Если в запросе на удаление или в перекрестном запросе используются ссылки на формы (типа Forms!Form1!Control1), то при запуске запроса ручками (из окна базы данных) все ок, а при запуске из VBA-кода ругается на недостаточное количество параметров. Лечиться именно как Саныч прописал Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2003, 01:32 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Лох, большой thanx! А вот тебе еще вопрос (вчера, 00:08). У меня иногда нераспознавание Mid и т.п. лечится подрисовыванием VBA.Mid и т.п. Это значит, что библиотека на месте. А чем это может быть вызвано? И как лечить более гуманными методами? Может, это происходит, когда есть две библиотеки с одинаковыми функциями? И если да, то как зовут вторую, которую надо отрубить? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2003, 01:44 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
У тебя это происходит в обычном коде? Или при использовании этих функций в SQL-запросах? Если в запросах - то я уже написал, что это может быть из-за того, что отвалилась любая другая библиотека (не обязательно та, которая содержит нужную функцию) Если в коде - ну хз... Decompile в таких случаях не помогает? В качестве "более гуманного метода"? Если две библиотеки с одинаково называющимися классами (например ADO и DAO) - то при создании переменной создается объект из той библиотеки, которая стоит выше в списке ссылок. Может, при вызове глобальных функций та же фигня работает... Хз... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2003, 01:58 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Саныч, я конечно обнаглею, но еще раз свою историю расскажу про Mid...Не было ли у тебя (совершенно случайно) глобальной переменной под названием MID? У меня была и совершенно также как у тебя нераспознавалась стандартная функция. Еще раз извиняюсь, что мог подумать такое... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2003, 02:15 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Ой, а тут вопрос ко мне пылится... Не, не было такой переменной. И ведь у меня перестал распознаваться не только Mid, а "Mid и т.п."... :^) Ща будем готовить этот фак к опубликованию... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2003, 22:48 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Не помогают f.Recalc, f.Refresh, f.Requery, f.Repaint, где f - форма. A: Поможет f.RecordSource = f.RecordSource. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 14:15 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Может мне пора в психушку, но конструкция вида Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 14:53 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
В Аксессе такие конструкции нередко помогают. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 14:57 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Может мне пора в психушку, но конструкция вида a=a кажется тавтологией, которая везде, кроме Аксесса не имеет смысла. Неправильно тебе кажется. Такая конструкция имеет смысл если а - это Property Let/Set/Get, и много ли смысла это имеет (и может ли помочь) зависит не от языка, а только от объекта - что именно он делает внутрях Property Let/Set Пример - св-во Bookmark. rst.Bookmark = rst.Bookmark позволяет сделать Refresh для текущей записи. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 15:27 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
А есть ли у Пропети такое пропети, в котором было бы сказано, будет ли при установке этого Пропети с объектом носителем Пропети выполнено Реквайери или не будет? Ой мароооос, мароос!!!...//подъезжает белая карета, забирает психа... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 15:39 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
уже из кареты: "Рефреш...Рефреш..."//завязывают сзади рукава, затыкают рот ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 15:42 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Чи я паду, дрючком Property... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 16:23 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Отвечаю ссылкой из Виктора Сенина\r \r /topic/49217\r \r на утверждение Лоха о перекрестных запросах (про запросы на удаление пока не знаю - может, кто подскажет...).\r \r А именно: не надо подставлять значения параметров программно, а надо поставить в селекте строку PARAMETERS и включить в нее все ссылки на поля, которые Аксесс воспринимает как параметры. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2003, 12:45 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Учту про PARAMETERS в др факе Думаю при CurrentDb.Execute всё равно нада будет програмно указывать А в DoCmd.RunSQL и так поест... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2003, 13:12 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Да. Создал запрос на удаление, попробовал Execute, и никакое PARAMETERS не помогло. Причем получился прикол. В поле, на которое ссылается запрос, я написал 7, а параметру задал значение 10. И оно удалило строку, в которой 10. Этого и следовало ожидать, но все равно прикол. :^) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2003, 13:23 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2Саныч >Да. Создал запрос на удаление, попробовал Execute, и никакое PARAMETERS не помогло. И не поможет. Вроде где-то уже на форуме видел объяснение данного "чуда". Надо строку формировать ручками. == Все сказаное касаеться только mdb. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2003, 14:43 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Итак, очередная версия.\r \r Q: Перестали распознаваться служебные слова, такие как Left, Right, Database и т.д.\r \r A1: Проверь, не слетели ли ссылки. Из окна открытого модуля Tools -> References.\r \r http://www.firststeps.ru/vba/excel/r.php?41 \r \r A2: Если в региональных настройках Windows в качестве разделителя списков задана не запятая, а, скажем, точка с запятой, то при обращении к функциям надо ставить между аргументами именно этот разделитель (если обращение находится в запросе, в свойствах контрола и т.п., а не в модуле).\r \r A3: В качестве имени переменной могло случайно оказаться взято служебное слово. Такую переменную желательно переименовать.\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: Начинается совершенно непонятное поведение mdb.\r \r A: Скорее всего файл испортился. Надо попробовать его починить. Вот топик, в котором накидано очень много способов, как вылечить испорченный mdb:\r \r /topic/40603\r \r (Правда, оказалось, что тот mdb вроде и не был испорчен, однако топик все равно очень полезный.)\r \r Q: Пишу программу на VBA, и при этом все дрожит, недописанная строка красится красным, как содержащая ошибку, курсор сам перескакивает по строке куда вздумается, сами расставляются пробелы и большие буквы и т.д.\r \r A: У одной из открытых форм работает таймер.\r \r Q: Почему неправильно работает округление?\r \r A: Существует много методов округления. Функция Round округляет по своим правилам, которые могут отличаться от нужных. Поэтому лучше округлять явным образом, осознавая, что именно делает программа.\r \r Q: Не помогают f.Recalc, f.Refresh, f.Requery, f.Repaint, где f - форма.\r \r A: Поможет f.RecordSource = f.RecordSource. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2003, 15:41 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: В Аксессе 2002 кнопка "Создание MDE файла" не активна. A: Файл mdb создан в формате Аксесса 2000. Его надо преобразовать в формат 2002. Q: Не удается создать файл mde. A: Скорее всего есть ошибки компиляции. Попробуй откомпилировать программу. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2003, 19:38 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
и там же Q: как откомпилировать программу? это ж faq все-таки. Я, например, не знаю, как... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2003, 22:11 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Из окна модуля Debug -> Compile. :^) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2003, 11:16 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Саныч, может сюда на англицком статью из MSDN запостить? Про damange databases? Хотя вроде итак все описали, на прямо учебник какой-то :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2003, 11:35 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
:^) Мне проще - я не читал MSDN. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2003, 11:42 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Кстати, вот та ссылка, которая слетает: Visual Basic for Applications ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2003, 13:20 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Не удается уложиться в синтаксис SQL либо VBA, потому что имя таблицы, поля, формы и т.д. содержит нехорошие символы, типа пробелов или минусов. A: Заключи это имя в квадратные скобки. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2003, 15:14 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Вот еще добавлю проблемку из собственного опыта: Q: Почему база данных перестала сжиматься (с диагностикой таблица АБВГДТабле already exists) A: это мягкий вариант порчи базы. Скорее всего ты скопировал базу во время работы пользователей и сделал ее рабочей. Лечение - импорт в новую базу. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2003, 22:10 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Еще один вопрос, который что-то слишком часто задают. Q: Я написал/а программу, а она не работает. A: Ищи баг. Ставь точки останова, проверяй значения переменных, ну в общем как большой/ая. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2003, 12:25 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: На команды с объектом Recordset выдается ошибка о несоответствии типов. A: Пиши не просто Recordset, а DAO.Recordset. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2003, 12:36 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Насчет отвалившихся ссылок - сегодня имел возможность наблюдать явление вживую. Mid и т.п. не распознаются, когда у какой угодно ссылки (вовсе не обязательно VBA) стоит MISSING. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2003, 18:13 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Ну чаво? Отправляем в факи? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2003, 19:20 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Угу! -------------------- Best wishes, Dmitriy ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2003, 19:26 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Не работает событие OnOpen подчиненного отчета. A: Все его содержимое нужно перенести в OnOpen родительского. А кто сказал, что тема закрыта, тот не прав. :^) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2003, 19:28 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Ну дык такими темпами сие творение никогда не закончишь -------------------- Best wishes, Dmitriy ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2003, 19:31 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Всегда найдется что-то, что здесь не задокументировано. Тем более, что последняя поправка к теме "У меня не работает база", ИМХО, относится непонятно каким боком. -------------------- Best wishes, Dmitriy ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2003, 19:32 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Кто сказал, что не работает именно вся база? По-моему, тут полно вопросов гораздо более узкого профиля. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2003, 19:33 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: У меня не работает база! A1: Включить компьтер! A2: Включить монитор! A3: Проверить, есть ли свет в доме! -------------------- Best wishes, Dmitriy ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2003, 19:36 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Саныч, отправляй\r Подправим и добавим пойзже (а это процесс на врядли прекратиться когда-либо)\r К тому же jungle вроде затеял и факи модернезировать /topic/52797 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2003, 19:38 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Таки да. Ну ладно. Начинаю готовить к публикации... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2003, 19:45 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Перестали распознаваться служебные слова, такие как Left, Right, Database и т.д.\r \r A1: Проверь, не слетели ли ссылки. Из окна открытого модуля Tools -> References.\r \r http://www.firststeps.ru/vba/excel/r.php?41 \r \r В частности, может слететь следующая ссылка:\r \r Visual Basic for Applications\r \r А вообще, слово MISSING у любой из ссылок может привести к такому эффекту. Надо либо снять птичку у ссылки с MISSING (если эта ссылка не нужна для работы программы), либо перенаправить ее на файл, который действительно существует.\r \r A2: Если в региональных настройках Windows в качестве разделителя списков задана не запятая, а, скажем, точка с запятой, то при обращении к функциям надо ставить между аргументами именно этот разделитель (если обращение находится в запросе, в свойствах контрола и т.п., а не в модуле).\r \r A3: В качестве имени переменной могло случайно оказаться взято служебное слово. Такую переменную желательно переименовать.\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: Начинается совершенно непонятное поведение mdb.\r \r A: Скорее всего файл испортился. Надо попробовать его починить. Вот топик, в котором накидано очень много способов, как вылечить испорченный mdb:\r \r /topic/40603\r \r (Правда, оказалось, что тот mdb вроде и не был испорчен, однако топик все равно очень полезный.)\r \r Q: Пишу программу на VBA, и при этом все дрожит, недописанная строка красится красным, как содержащая ошибку, курсор сам перескакивает по строке куда вздумается, сами расставляются пробелы и большие буквы и т.д.\r \r A: У одной из открытых форм работает таймер.\r \r Q: Почему неправильно работает округление?\r \r A: Существует много методов округления. Функция Round округляет по своим правилам, которые могут отличаться от нужных. Поэтому лучше округлять явным образом, осознавая, что именно делает программа.\r \r Q: Не помогают f.Recalc, f.Refresh, f.Requery, f.Repaint, где f - форма.\r \r A: Поможет f.RecordSource = f.RecordSource.\r \r Q: В Аксессе 2002 кнопка "Создание MDE файла" не активна.\r \r A: Файл mdb создан в формате Аксесса 2000. Его надо преобразовать в формат 2002.\r \r Q: Не удается создать файл mde.\r \r A: Скорее всего есть ошибки компиляции. Попробуй откомпилировать программу. Из окна модуля Debug -> Compile.\r \r Q: Не удается уложиться в синтаксис SQL либо VBA, потому что имя таблицы, поля, формы и т.д. содержит нехорошие символы, типа пробелов или минусов.\r \r A: Заключи это имя в квадратные скобки.\r \r Q: База данных перестала сжиматься (с диагностикой: таблица АБВГДТабле already exists).\r \r A: Это мягкий вариант порчи базы. Скорее всего ты скопировал базу во время работы пользователей. Лечение - импорт в новую базу.\r \r Q: Я написал/а программу, а она не работает.\r \r A: Ищи баг. Ставь точки останова, проверяй значения переменных, ну в общем как большой/ая.\r \r Q: На команды с объектом Recordset выдается ошибка о несоответствии типов.\r \r A: Пиши не просто Recordset, а DAO.Recordset.\r \r Q: Не работает событие OnOpen подчиненного отчета.\r \r A: Все его содержимое нужно перенести в OnOpen родительского.\r \r Виктор, топик-то твой. Что будем с ним делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2003, 20:17 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Да грохнуть его, и дело с концом Откройте секрет процедуры добавления в ФАК текста, а? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2003, 20:58 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Кажется, с подчиненным отчетом надо разобраться поподробнее...\r \r /topic/53591 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2003, 14:11 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
В общем, поправка. Q: Не работает событие OnOpen подчиненного отчета. A: Это бывает в том случае, если в качестве подчиненного отчета поставлена форма. Тогда можно все содержимое OnOpen перенести в какое-нибудь событие родительского отчета, например в OnFormat его Header'а. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2003, 17:33 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Саныч писал:если в качестве подчиненного отчета поставлена формаСаныч, ну это совсем безобразно Й: Не работает событие OnAfterUpdate у текстбокса Ф: Такое бывает если вместо текстбокса используется кнопка. Тогда бывает полезно перенести весь код в рекуклед бин ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2003, 17:45 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Саныч, тебе часто задавали вопросы про формы, внедренные в отчеты? Или ты из FAQ первое слово протерял по дороге? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2003, 17:48 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2Саныч\r >Виктор, топик-то твой. Что будем с ним делать?\r \r Продовать \r \r ==\r Если искать хозяина топика - тогда надо спрашивать разрешенияjudge\r ]тут\r \r \r ===\r Был бы ты, Саныч, модератором - попросил тебя после прочтения грохнуть этот топик :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2003, 17:52 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2 Лох: :^))) Так. Блин. Совсем я плох стал... Ладно, отсмеялся, теперь попробую ответить, что же я имел в виду. Вопрос о том, что не работает OnOpen подчиненного отчета, задавался несколько раз. Это я помню точно. Я регулярно отвечал, что код надо перенести в родительский отчет, и вопрошающие уходили довольными. Однако сегодня я решил это дело проверить сам и обнаружил, что все работает. Спрашивается вопрос: а чего же у них-то не работало? А параллельно оказалось, что некоторые ставят форму в SourceObject подчиненного отчета, причем именно тогда-то и не срабатывает OnOpen. Так что ответ получился вполне в стиле ответов для чайников: это у тебя не отчет, а форма. (Помню, я когда-то был на курсах, где изучалась израильская СУБД Мэджик. Требовалось написать команду, в которую входил знак доллара. И вот у меня эта команда почему-то все никак не работала. Я подозвал препода, а тот глянул на мою программу и с перепугу заорал по-русски: "Это нье доллар!" Оказалось, что я упорно набирал амперсанд. Ну так и тут та же ситуация.) А теперь совсем серьезно. Может, действительно при каких-то обстоятельствах OnOpen не срабатывает именно у подчиненного отчета? 2 Виктор: А зачем грохать-то? Неужто так плохо? То-то я смотрю, ты в нем не участвуешь... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2003, 19:38 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Саныч - ты все напутал: грохать Темный прелагал, а я продавать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2003, 23:21 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
И ты тоже предлагал грохать, причем в том же посте. И не говори, что эти слова я тебе подрисовал. :^) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2003, 23:24 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Блин, Саныч, я имел ввиду грохнуть пост (топик с постом путаю регулярно - прошу не пинать, а потихоньку привыкать! :) Грохать ФАК я не собирался, хоть мало, но все же в нем по участвовал ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2003, 23:46 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Понял. Не, не буду грохать. Потому что если убрать одну реплику из диалога, то тот, кто потом будет читать, не поймет ни хрена. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2003, 23:56 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
> OnOpen не срабатывает именно у подчиненного отчета? У меня в XP sp 2 у подчиненного отчета OnOpen не отрабатывается. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2003, 18:05 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Понял, thanx. Не, ну тогда ваще маразм - получается, что оно перестает работать при переходе на другую версию... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2003, 18:53 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Короче, правильная версия последней пары вопрос-ответ: Q: Не работает событие OnOpen подчиненного отчета. A: Можно все содержимое OnOpen перенести в какое-нибудь событие родительского отчета, например в OnFormat его Header'а. Что-то похоже на анекдот про "Стоит статУя в лучах заката"... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2003, 13:33 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Угу... Стоит лопата в лучах заката Статуя просто ушла куда-то :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2003, 18:42 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: При импорте из Экселя тип данных распознается неправильно. A: Самое быстрое: добавить в Экселе первую строчку с данными правильного типа, произвести импорт, а потом эту лишнюю строчку стереть. Спасибо, Daf! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2003, 14:18 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Интересно, этот священный талмуд когда-нибудь закончится? Или еще одна лестница вырастет на месте этого фака? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2003, 14:29 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Как только перестанет расти, так отправим. Но пока растет. Хотя и медленно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2003, 14:32 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Саныч, когда перестанет расти - он гнить начнет ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2003, 14:34 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Лох, ты это о чем?.. :^) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2003, 14:41 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Не работает обращение к процедуре, которое я пишу так: MySub (x, y) - тут выдается ошибка компиляции MySub (x) - тут почему-то параметр передается по значению, а не по ссылке A: Правильный синтаксис выглядит так: Call MySub(x, y) MySub x, y a = MyFun(x, y) Все скобки кроме этих воспринимаются как часть самого параметра. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2003, 15:51 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Плохо работает программа, в которой используется свойство текстбокса или комбобокса Text. A: Свойство Text доступно только тогда, когда этот текстбокс или комбобокс находится в фокусе. Чтобы программа работала всегда, надо пользоваться не свойством Text, а: у текстбокса - свойством Value (которое является свойством по умолчанию, следовательно можно вообще это слово опустить вместе с предшествующей точкой); у комбобокса - свойством Column(номерколонки). ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2003, 01:03 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Я так расставил галки в настройках аппликации, что мне теперь самому не добраться до меню Аксесса. A: Открой пустой Аксесс, а потом внутри него открой свою аппликацию, придерживая клавишу Shift. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2003, 12:01 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Аксесс переворачивает даты, меняет местами день и месяц. A: Значит, дата была записана в строковой переменной (вариант: использована строковая функция Date$). Строка, содержащая даты, интерпретируется Аксессом на основании нескольких правил, в которые входят синтаксис команд SQL (где нужно писать #MM/DD/YY#) и региональные настройки Windows. Надо знать, где и как это работает, а при возможности избегать записи дат в строках. Во многих случаях помогает функция DateSerial. Q: Аксесс не признает два равных числа как равные. A: Проверка на равенство допускается только для целочисленных типов данных (в которые входит и тип Currency, который хранится в памяти как целое число сотых). Типы с дробной частью (кроме Currency) хранятся приблизительно, и даже если визуально два числа кажутся равными, их внутреннее представление может отличаться. Для таких чисел надо проверять не A=B, а Abs(A-B)<eps, где eps - какое-нибудь достаточно малое число. Внимание: важно, какого типа данные, а не как задан формат для их отображения в таблице или форме. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2003, 00:38 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Еще ссылки на топики со способами починки испорченных баз:\r \r /topic/59188\r /topic/56723 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2003, 15:34 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Не могу настроить комбобокс. A: Вот простейший случай: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2003, 14:23 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Привет всем! А у меня вот какая фишка: Программа ругается на "мирную" ф-цию Nz. Мол, что она "неопределённая". Все ссылки на месте. Помогает сжатие базы, но хотелось бы знать первопричину. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2003, 10:19 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
> Все ссылки на месте. Возможно, что одна ссылка числится на месте, но на компе соответствующая вещь не установлена. Если эту ссылку отменить, то все заработает. Возможно, сжатие именно это и делает. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2003, 11:42 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
А у меня тут такой глюк обнаружился. Выпадает с ошибкой функция Replace: strSum = Replace(strSum, ",", "") Причем что непонятно, то работает, то не работает, но когда не работает, то не работает вообще никак: и так не работает: Dim s as String s = String.Replace("dddfdfd", "f", "g") Причем с базой ничего не делают, но иногда откываешь - работают, а другой раз - нифига. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2003, 11:53 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Да, совсем забыл, ошибка возникает одна из самых дурацких: Run-time error: '5' Invalid procedure call or argument бред какой-то, какие еще данные ей не нравиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2003, 11:55 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Да, и еще, остальные функции типа Left, Right и т.д. из String работают как часы. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2003, 12:00 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
А если указать все аргументы функции? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2003, 12:10 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Поправка к 1 ноя 03, 12:01: Если есть пароль, то держать Shift надо после ввода пароля в момент нажатия на Enter (или кнопку OK). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2003, 12:11 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2Senin Victor: прикольно, но сработало. s = Replace("khkhh", "k", "d", , , vbBinaryCompare) Не хочет работать именно бех последнего аргумента - compare ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2003, 13:11 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q DoCmd.OutputTo acOutputReport, "Заявки", acFormatSNP Выдаётся ошибка, что выбранный формат недоступен. A Вместо константы acFormatSNP = "Snapshot Format (*.snp)" использовать "Snapshot Format" ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 22:51 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Выскакивает длинное сообщение, в котором в числе прочего имеется следующий текст: The expression may not result in the name of a macro, name of a user-defined function, or [Event Procedure]. A1: Возможно, Аксессу не нравится то, что написано в одном из свойств, описывающих события. A2: Возможно, отлетела какая-нибудь ссылка. A3: Возможно, один из контролов или одна из секций формы содержит в своем имени символы национального алфавита, которые не поддерживаются текущей версией Аксесса или Windows. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2003, 21:51 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Продолжение про комбобокс. А не через таблицу - отличия следующие: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2003, 13:26 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2BC RowSourceType = "Value List" RowSource = "1;""one"";2;""two"";3;""three""" ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2003, 13:34 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Я имел в виду те значения, которые визуально выбираются в окне свойств. :^) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2003, 13:51 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2 ВС Тогда RowSource = 1;"one";2;"two";3;"three" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2003, 14:32 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Все, последняя версия. Отдаю в факи. Q: Перестали распознаваться служебные слова, такие как Left, Right, Database и т.д. A1: Проверь, не слетели ли ссылки. Из окна открытого модуля Tools -> References. http://www.firststeps.ru/vba/excel/r.php?41 В частности, может слететь следующая ссылка: Visual Basic for Applications А вообще, слово MISSING у любой из ссылок может привести к такому эффекту. Надо либо снять птичку у ссылки с MISSING (если эта ссылка не нужна для работы программы), либо перенаправить ее на файл, который действительно существует. A2: Если в региональных настройках Windows в качестве разделителя списков задана не запятая, а, скажем, точка с запятой, то при обращении к функциям надо ставить между аргументами именно этот разделитель (если обращение находится в запросе, в свойствах контрола и т.п., а не в модуле). A3: В качестве имени переменной могло случайно оказаться взято служебное слово. Такую переменную желательно переименовать. Q: Ставлю MsgBox - работает. Убираю - не работает. A: Поставь DoEvents вместо MsgBox. Q: Вылазит сообщение: Expected variable or procedure, not module. A: Начиная с Access 95, запрещено давать модулям имена, совпадающие с названиями переменных и процедур, а также со служебными словами. Если при компиляции появилось такое сообщение - значит, среди модулей попался такой, имя которого совпадает с чем-то в той строке, на которую Аксесс кричит. Его надо переименовать. Q: Начинается совершенно непонятное поведение mdb. A: Скорее всего файл испортился. Надо попробовать его починить. Много способов починки можно увидеть, если запустить поиск по форуму на слово JetComp. Q: Пишу программу на VBA, и при этом все дрожит, недописанная строка красится красным, как содержащая ошибку, курсор сам перескакивает по строке куда вздумается, сами расставляются пробелы и большие буквы и т.д. A: У одной из открытых форм работает таймер. Q: Почему неправильно работает округление? A: Существует много методов округления. Функция Round округляет по своим правилам, которые могут отличаться от нужных. Поэтому лучше округлять явным образом, осознавая, что именно делает программа. Q: Не помогают f.Recalc, f.Refresh, f.Requery, f.Repaint, где f - форма. A: Поможет f.RecordSource = f.RecordSource. Q: В Аксессе 2002 кнопка "Создание MDE файла" не активна. A: Файл mdb создан в формате Аксесса 2000. Его надо преобразовать в формат 2002. Q: Не удается создать файл mde. A: Скорее всего есть ошибки компиляции. Попробуй откомпилировать программу. Из окна модуля Debug -> Compile. Q: Не удается уложиться в синтаксис SQL либо VBA, потому что имя таблицы, поля, формы и т.д. содержит нехорошие символы, типа пробелов или минусов. A: Заключи это имя в квадратные скобки. Q: База данных перестала сжиматься (с диагностикой: таблица АБВГДТабле already exists). A: Это мягкий вариант порчи базы. Скорее всего ты скопировал базу во время работы пользователей. Лечение - импорт в новую базу. Q: Я написал/а программу, а она не работает. A: Ищи баг. Ставь точки останова, проверяй значения переменных, ну в общем как большой/ая. Q: На команды с объектом Recordset выдается ошибка о несоответствии типов. A: Пиши не просто Recordset, а DAO.Recordset. Q: Не работает событие OnOpen подчиненного отчета. A: Можно все содержимое OnOpen перенести в какое-нибудь событие родительского отчета, например в OnFormat его Header'а. Q: При импорте из Экселя тип данных распознается неправильно. A: Самое быстрое: добавить в Экселе первую строчку с данными правильного типа, произвести импорт, а потом эту лишнюю строчку стереть. Q: Не работает обращение к процедуре, которое я пишу так: MySub (x, y) - тут выдается ошибка компиляции MySub (x) - тут почему-то параметр передается по значению, а не по ссылке A: Правильный синтаксис выглядит так: Call MySub(x, y) MySub x, y a = MyFun(x, y) Все скобки кроме этих воспринимаются как часть самого параметра. Q: Плохо работает программа, в которой используется свойство текстбокса или комбобокса Text. A: Свойство Text доступно только тогда, когда этот текстбокс или комбобокс находится в фокусе. Чтобы программа работала всегда, надо пользоваться не свойством Text, а: у текстбокса - свойством Value (которое является свойством по умолчанию, следовательно можно вообще это слово опустить вместе с предшествующей точкой); у комбобокса - свойством Column(номерколонки). Q: Я так расставил галки в настройках аппликации, что мне теперь самому не добраться до меню Аксесса. A: Открой пустой Аксесс, а потом внутри него открой свою аппликацию, придерживая клавишу Shift. Если есть пароль, то держать Shift надо после ввода пароля в момент нажатия на Enter (или кнопку OK). Q: Аксесс переворачивает даты, меняет местами день и месяц. A: Значит, дата была записана в строковой переменной (вариант: использована строковая функция Date$). Строка, содержащая даты, интерпретируется Аксессом на основании нескольких правил, в которые входят синтаксис команд SQL (где нужно писать #MM/DD/YY#) и региональные настройки Windows. Надо знать, где и как это работает, а при возможности избегать записи дат в строках. Во многих случаях помогает функция DateSerial. Q: Аксесс не признает два равных числа как равные. A: Проверка на равенство допускается только для целочисленных типов данных (в которые входит и тип Currency, который хранится в памяти как целое число сотых). Типы с дробной частью (кроме Currency) хранятся приблизительно, и даже если визуально два числа кажутся равными, их внутреннее представление может отличаться. Для таких чисел надо проверять не A=B, а Abs(A-B)<eps, где eps - какое-нибудь достаточно малое число. Внимание: важно, какого типа данные, а не как задан формат для их отображения в таблице или форме. Q: Не могу настроить комбобокс. A: Вот простейший случай: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
А не через таблицу - отличия следующие: Код: plaintext 1. 2.
Q: Выскакивает длинное сообщение, в котором в числе прочего имеется следующий текст: The expression may not result in the name of a macro, name of a user-defined function, or [Event Procedure]. A1: Возможно, Аксессу не нравится то, что написано в одном из свойств, описывающих события. A2: Возможно, отлетела какая-нибудь ссылка. A3: Возможно, один из контролов или одна из секций формы содержит в своем имени символы национального алфавита, которые не поддерживаются текущей версией Аксесса или Windows. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2004, 17:54 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2ВС Только выдели, пожалуйста, Q: Текст вопроса А: жирным шрифтом, а то вопросы между собой сливаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2004, 18:53 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Да, сделаю. И еще сделаю список вопросов в начале. И пронумерую их. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2004, 19:06 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Обработчик события KeyDown берет старые значения полей. A: Вместо KeyDown используй KeyUp. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2004, 19:22 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Эххх Q: На некоторых машинах обработчик события ListBox_OnAfterUpdate берет старые значения ListBox.Column(...) A: Ы? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2004, 19:41 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Лох 14 октября писал:Или ты из FAQ первое слово протерял по дороге? А если серьезно, то предлагаю это обсудить в отдельном топике. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2004, 19:46 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Не могу заставить форму всегда открываться в режиме Maximized (вариант: Restored). A: Для Restored можно задать свойство PopUp=True. Для Maximized сложнее: Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2004, 14:59 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Про импорт из Экселя отбой, это не работает. Зато: Q: Команда SQL не видит переменных. A1: Зато видит функции. Можно сделать функцию, которая будет возвращать значение переменной. A2: Можно формировать команду SQL программно и вставлять туда значения переменных как константы. Подробнее: http://www.sql.ru/faq/faq_topic.aspx?fid=157 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2004, 15:55 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: В перекрестном запросе не удается соблюсти постоянный порядок и количество столбцов. A: Добавь в конец селекта запроса in ("two","three","one"), где в скобках перечислены столбцы в нужном порядке. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2004, 15:19 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Не работает запрос с двумя джойнами: select * from A left join B on A.A=B.B left join C on A.A=C.C A: В Аксессе надо в таких запросах ставить скобки: select * from ( A left join B on A.A=B.B ) left join C on A.A=C.C ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2004, 16:34 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Не работают параметры командной строки, напр. /excl и т.д. A: Командная строка должна начинаться с ...msaccess.exe, и только потом название файла и все параметры. Без msaccess.exe эти параметры никому не нужны. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2004, 14:13 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Не работает проверка на равенство/неравенство. A: Если одно из сравниваемых значений Null, то любое выражение с ним вернет Null (который приравнивается к False). Чтобы этого избежать, можно пользоваться функцией IsNull, которая в соответствующем случае возвращает True. P.S. Этот вопрос можно соединить с вопросом про проверку равенства нецелых чисел. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2004, 22:23 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Обнаружил следующий баг. Сделал у себя в проекте стартовую форму всплывающей и развернул на все окно. Достаточно красиво смотрится и юзер лишних менюшек не видит ;-) В связи с этим все формы и отчеты так же пришлось сделать всплывающими, а некоторые и модальными. И вдруг (я честно говоря сразу не врубился в причину - случайно обнаружил) после печати отчета на принтере, Акцесс стал вываливаться с сообщением "Обнаружена ошибка..." и предлагать отправить репорт сами знаете куда... Декомпайлил, переставлял офис, создавал новый проект (ADP, кстати) и импортировал все из старого - по барабану :(( Создал новый отчет и перетягивал туда кусочками из старого. Начало работать - я решил что какой то глюк отчета. Все нормально, собираюсь уходить и вдруг обнаруживаю, что я забыл отчет сделать всплывающим (я его и для предпросмотра использую). Исправляю "ошибку" и что за чудо - опять после печати вываливаемся :(( Короче, сделал я для предпросмотра всплывающий отчет, а для печати обычный и теперь все работает на ура. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2004, 11:20 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: У меня есть логическое поле. Хочу выдать записи, в которых оно отмечено. Пишу в запросе: WHERE этополе=1 - и запрос не работает. A: Логическое True - это не 1, а -1. (Кстати, если просто написать WHERE этополе, то тоже будет работать, причем если поле не логическое, то будут выданы все записи, где значение этого поля не 0.) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2004, 15:17 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Составляю условие WHERE (или любую другую часть селекта, или селект полностью, и вообще любую команду SQL) как стринг, собирая его/ее из значений переменных, контролов и т.д. Не работает. A: Первым делом остановись в дебаггере и посмотри на полученный стринг. Если и после этого не станет ясно, что не так, то попробуй запустить его как сохраненный запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2004, 17:10 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: У меня переменная X имеет значение Null. Но я пишу If X = Null Then и получаю False. A: Любое выражение, включающее в себя Null, дает Null. При преобразовании к логическому типу Null превращается в False. Чтобы проверить переменную на Null, надо писать If IsNull(X) Then. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2004, 15:14 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Не любое поле, включающее Null, дает Null. Пример: "x" & Null & "y" даст "xy" ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2004, 06:15 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Согласен. Только это не "не любое поле", а "не любая операция". Операция & действительно работает иначе. Если A - значение, которое может быть либо строкой, либо Null'ом (например, поле строкового типа), то: A + "zzz" -> если в A сидит Null, то получится Null A & "zzz" -> если в A сидит Null, то получится "zzz" На этом основан следующий трюк: (A + ",") & (B + ",") & (C + ",") Если какое-то из значений A, B, C равно Null, то вся соответствующая скобка даст Null и соответствующая запятая будет уничтожена, а затем соединение через & возьмет только те слагаемые, где не Null. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2004, 13:45 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Не могу сделать контролу Visible=False (варианты: Enabled=False, Locked=True). Аксесс говорит, что на этом контроле фокус. A: Значит надо сначала перевести фокус на другой контрол: c.SetFocus Если нет контрола, который заведомо в любой ситуации сможет принять фокус, то его можно создать: либо CommandButton со свойством Transparent=True, либо OptionGroup со свойством BorderStyle=Transparent. Юзер его не заметит. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2004, 02:24 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Новый вариант вопроса/ответа про перевернутые даты. Q: Аксесс переворачивает даты, меняет местами день и месяц. Вариант: неверно срабатывают вычисления или проверки, связанные с датами. A: Возможно, дата была записана в строковой переменной (вариант: использована строковая функция Date$ либо текстбокс, не привязанный к полю типа Date/Time). Строка, содержащая даты, интерпретируется Аксессом на основании нескольких правил, в которые входят синтаксис команд SQL (где нужно писать #MM/DD/YY#) и региональные настройки Windows. Надо знать, где и как это работает, а при возможности избегать записи дат в строках. Во многих случаях помогает функция DateSerial. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2004, 22:33 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Самый-самый последний вариант. Вопросы. Q1: Перестали распознаваться служебные слова, такие как Left, Right, Database и т.д. Q2: Ставлю MsgBox - работает. Убираю - не работает. Q3: Вылазит сообщение: Expected variable or procedure, not module. Q4: Начинается совершенно непонятное поведение mdb. Q5: Пишу программу на VBA, и при этом все дрожит, недописанная строка красится красным, как содержащая ошибку, курсор сам перескакивает по строке куда вздумается, сами расставляются пробелы и большие буквы и т.д. Q6: Почему неправильно работает округление? Q7: Не помогают f.Recalc, f.Refresh, f.Requery, f.Repaint, где f - форма. Q8: В Аксессе 2002 кнопка "Создание MDE файла" не активна. Q9: Не удается создать файл mde. Q10: Не удается уложиться в синтаксис SQL либо VBA, потому что имя таблицы, поля, формы и т.д. содержит нехорошие символы, типа пробелов или минусов. Q11: База данных перестала сжиматься (с диагностикой: таблица АБВГДТабле already exists). Q12: Я написал/а программу, а она не работает. Q13: На команды с объектом Recordset выдается ошибка о несоответствии типов. Q14: Не работает событие OnOpen подчиненного отчета. Q15: Не работает обращение к процедуре, которое я пишу так: MySub (x, y) - тут выдается ошибка компиляции MySub (x) - тут почему-то параметр передается по значению, а не по ссылке Q16: Плохо работает программа, в которой используется свойство текстбокса или комбобокса Text. Q17: Я так расставил галки в настройках аппликации, что мне теперь самому не добраться до меню Аксесса. Q18: Аксесс переворачивает даты, меняет местами день и месяц. Вариант: неверно срабатывают вычисления или проверки, связанные с датами. Q19: Не работает проверка на равенство/неравенство. Q20: Не могу настроить комбобокс. Q21: Выскакивает длинное сообщение, в котором в числе прочего имеется следующий текст: The expression may not result in the name of a macro, name of a user-defined function, or [Event Procedure]. Q22: Обработчик события KeyDown берет старые значения полей. Q23: Не могу заставить форму всегда открываться в режиме Maximized (вариант: Restored). Q24: Команда SQL не видит переменных. Q25: В перекрестном запросе не удается соблюсти постоянный порядок и количество столбцов. Q26: Не работает запрос с двумя джойнами: select * from A left join B on A.A=B.B left join C on A.A=C.C Q27: Не работают параметры командной строки, напр. /excl и т.д. Q28: У меня есть логическое поле. Хочу выдать записи, в которых оно отмечено. Пишу в запросе: WHERE этополе=1 - и запрос не работает. Q29: Составляю условие WHERE (или любую другую часть селекта, или селект полностью, и вообще любую команду SQL) как стринг, собирая его/ее из значений переменных, контролов и т.д. Не работает. Q30: Не могу сделать контролу Visible=False (варианты: Enabled=False, Locked=True). Аксесс говорит, что на этом контроле фокус. Вопросы с ответами. Q1: Перестали распознаваться служебные слова, такие как Left, Right, Database и т.д. A1: Проверь, не слетели ли ссылки. Из окна открытого модуля Tools -> References. http://www.firststeps.ru/vba/excel/r.php?41 В частности, может слететь следующая ссылка: Visual Basic for Applications А вообще, слово MISSING у любой из ссылок может привести к такому эффекту. Надо либо снять птичку у ссылки с MISSING (если эта ссылка не нужна для работы программы), либо перенаправить ее на файл, который действительно существует. A2: Если в региональных настройках Windows в качестве разделителя списков задана не запятая, а, скажем, точка с запятой, то при обращении к функциям надо ставить между аргументами именно этот разделитель (если обращение находится в запросе, в свойствах контрола и т.п., а не в модуле). A3: В качестве имени переменной могло случайно оказаться взято служебное слово. Такую переменную желательно переименовать. Q2: Ставлю MsgBox - работает. Убираю - не работает. A: Поставь DoEvents вместо MsgBox. Q3: Вылазит сообщение: Expected variable or procedure, not module. A: Начиная с Access 95, запрещено давать модулям имена, совпадающие с названиями переменных и процедур, а также со служебными словами. Если при компиляции появилось такое сообщение - значит, среди модулей попался такой, имя которого совпадает с чем-то в той строке, на которую Аксесс кричит. Его надо переименовать. Q4: Начинается совершенно непонятное поведение mdb. A: Скорее всего файл испортился. Надо попробовать его починить. Много способов починки можно увидеть, если запустить поиск по форуму на слово JetComp. Q5: Пишу программу на VBA, и при этом все дрожит, недописанная строка красится красным, как содержащая ошибку, курсор сам перескакивает по строке куда вздумается, сами расставляются пробелы и большие буквы и т.д. A: У одной из открытых форм работает таймер. Q6: Почему неправильно работает округление? A: Существует много методов округления. Функция Round округляет по своим правилам, которые могут отличаться от нужных. Поэтому лучше округлять явным образом, осознавая, что именно делает программа. Q7: Не помогают f.Recalc, f.Refresh, f.Requery, f.Repaint, где f - форма. A: Поможет f.RecordSource = f.RecordSource. Q8: В Аксессе 2002 кнопка "Создание MDE файла" не активна. A: Файл mdb создан в формате Аксесса 2000. Его надо преобразовать в формат 2002. Q9: Не удается создать файл mde. A: Скорее всего есть ошибки компиляции. Попробуй откомпилировать программу. Из окна модуля Debug -> Compile. Q10: Не удается уложиться в синтаксис SQL либо VBA, потому что имя таблицы, поля, формы и т.д. содержит нехорошие символы, типа пробелов или минусов. A: Заключи это имя в квадратные скобки. Q11: База данных перестала сжиматься (с диагностикой: таблица АБВГДТабле already exists). A: Это мягкий вариант порчи базы. Скорее всего ты скопировал базу во время работы пользователей. Лечение - импорт в новую базу. Q12: Я написал/а программу, а она не работает. A: Ищи баг. Ставь точки останова, проверяй значения переменных, ну в общем как большой/ая. Q13: На команды с объектом Recordset выдается ошибка о несоответствии типов. A: Пиши не просто Recordset, а DAO.Recordset. Q14: Не работает событие OnOpen подчиненного отчета. A: Можно все содержимое OnOpen перенести в какое-нибудь событие родительского отчета, например в OnFormat его Header'а. Q15: Не работает обращение к процедуре, которое я пишу так: MySub (x, y) - тут выдается ошибка компиляции MySub (x) - тут почему-то параметр передается по значению, а не по ссылке A: Правильный синтаксис выглядит так: Call MySub(x, y) MySub x, y a = MyFun(x, y) Все скобки кроме этих воспринимаются как часть самого параметра. Q16: Плохо работает программа, в которой используется свойство текстбокса или комбобокса Text. A: Свойство Text доступно только тогда, когда этот текстбокс или комбобокс находится в фокусе. Чтобы программа работала всегда, надо пользоваться не свойством Text, а: у текстбокса - свойством Value (которое является свойством по умолчанию, следовательно можно вообще это слово опустить вместе с предшествующей точкой); у комбобокса - свойством Column(номерколонки). Q17: Я так расставил галки в настройках аппликации, что мне теперь самому не добраться до меню Аксесса. A: Открой пустой Аксесс, а потом внутри него открой свою аппликацию, придерживая клавишу Shift. Если есть пароль, то держать Shift надо после ввода пароля в момент нажатия на Enter (или кнопку OK). Q18: Аксесс переворачивает даты, меняет местами день и месяц. Вариант: неверно срабатывают вычисления или проверки, связанные с датами. A: Возможно, дата была записана в строковой переменной (вариант: использована строковая функция Date$ либо текстбокс, не привязанный к полю типа Date/Time). Строка, содержащая даты, интерпретируется Аксессом на основании нескольких правил, в которые входят синтаксис команд SQL (где нужно писать #MM/DD/YY#) и региональные настройки Windows. Надо знать, где и как это работает, а при возможности избегать записи дат в строках. Во многих случаях помогает функция DateSerial. Q19: Не работает проверка на равенство/неравенство. A1: Проверка на равенство допускается только для целочисленных типов данных (в которые входит и тип Currency, который хранится в памяти как целое число сотых). Типы с дробной частью (кроме Currency) хранятся приблизительно, и даже если визуально два числа кажутся равными, их внутреннее представление может отличаться. Для таких чисел надо проверять не A=B, а Abs(A-B)<eps, где eps - какое-нибудь достаточно малое число. Внимание: важно, какого типа данные, а не как задан формат для их отображения в таблице или форме. A2: Если одно из сравниваемых значений Null, то любое выражение с ним вернет Null (который приравнивается к False). Чтобы этого избежать, можно пользоваться функцией IsNull, которая в соответствующем случае возвращает True. Примечание. Операция & работает иначе. Если A - значение, которое может быть либо строкой, либо Null'ом (например, поле строкового типа), то: A + "zzz" -> если в A сидит Null, то получится Null A & "zzz" -> если в A сидит Null, то получится "zzz" На этом основан следующий трюк: (A + ",") & (B + ",") & (C + ",") Если какое-то из значений A, B, C равно Null, то вся соответствующая скобка даст Null и соответствующая запятая будет уничтожена, а затем соединение через & возьмет только те слагаемые, где не Null. Q20: Не могу настроить комбобокс. A: Вот простейший случай: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
А не через таблицу - отличия следующие: Код: plaintext 1. 2.
Q21: Выскакивает длинное сообщение, в котором в числе прочего имеется следующий текст: The expression may not result in the name of a macro, name of a user-defined function, or [Event Procedure]. A1: Возможно, Аксессу не нравится то, что написано в одном из свойств, описывающих события. A2: Возможно, отлетела какая-нибудь ссылка. A3: Возможно, один из контролов или одна из секций формы содержит в своем имени символы национального алфавита, которые не поддерживаются текущей версией Аксесса или Windows. Q22: Обработчик события KeyDown берет старые значения полей. A: Вместо KeyDown используй KeyUp. Q23: Не могу заставить форму всегда открываться в режиме Maximized (вариант: Restored). A: Для Restored можно задать свойство PopUp=True. Для Maximized сложнее: Код: plaintext 1. 2. 3. 4. 5. 6.
Q24: Команда SQL не видит переменных. A1: Зато видит функции. Можно сделать функцию, которая будет возвращать значение переменной. A2: Можно формировать команду SQL программно и вставлять туда значения переменных как константы. Подробнее: http://www.sql.ru/faq/faq_topic.aspx?fid=157 Q25: В перекрестном запросе не удается соблюсти постоянный порядок и количество столбцов. A: Добавь в конец селекта запроса in ("two","three","one"), где в скобках перечислены столбцы в нужном порядке. Q26: Не работает запрос с двумя джойнами: select * from A left join B on A.A=B.B left join C on A.A=C.C A: В Аксессе надо в таких запросах ставить скобки: select * from ( A left join B on A.A=B.B ) left join C on A.A=C.C Q27: Не работают параметры командной строки, напр. /excl и т.д. A: Командная строка должна начинаться с ...msaccess.exe, и только потом название файла и все параметры. Без msaccess.exe эти параметры никому не нужны. Q28: У меня есть логическое поле. Хочу выдать записи, в которых оно отмечено. Пишу в запросе: WHERE этополе=1 - и запрос не работает. A: Логическое True - это не 1, а -1. (Кстати, если просто написать WHERE этополе, то тоже будет работать, причем если поле не логическое, то будут выданы все записи, где значение этого поля не 0.) Q29: Составляю условие WHERE (или любую другую часть селекта, или селект полностью, и вообще любую команду SQL) как стринг, собирая его/ее из значений переменных, контролов и т.д. Не работает. A: Первым делом остановись в дебаггере и посмотри на полученный стринг. Если и после этого не станет ясно, что не так, то попробуй запустить его как сохраненный запрос. Q30: Не могу сделать контролу Visible=False (варианты: Enabled=False, Locked=True). Аксесс говорит, что на этом контроле фокус. A: Значит надо сначала перевести фокус на другой контрол: c.SetFocus Если нет контрола, который заведомо в любой ситуации сможет принять фокус, то его можно создать: либо CommandButton со свойством Transparent=True, либо OptionGroup со свойством BorderStyle=Transparent. Юзер его не заметит. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 16:19 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
к q6 можно дать ссылку на длинный топик "Округление", к q24 можно дать ссылку на faq Sfagnum'а. А вообще (имхо) лучше бы как-то разбить его на подразделы (м.б. даже в разные faq'и). Хотя бы vba/запросы... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 16:35 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
т.е не q24, а q29 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 16:43 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Насчет разбиения - будем думать. Можно это обсудить тут же. Ссылки сейчас добавлю. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 16:46 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Насчёт разбиения полностью согласен с Geo Сделать можно всё!!! Только бы знать как... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 16:52 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Ссылки добавил. Короче - опубликовано! Насчет разбиения у меня вопрос. Что будет, если где-то в топиках появятся ссылки на теперешнюю нумерацию, а мы ее возьмем и поменяем? Предлагаю такое решение: 1. Judge сделал возможность завести в факах раздел. Вот мы там и заведем раздел. В нем будет 30 маленьких факов. 2. В том факе, который я сейчас сделал, оставим только вопросы, а вместо ответов поставим ссылки на 30 маленьких факов. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 16:54 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2ВС Маленькие faqи, это, конечно, оригинально. У меня нет аргументов ни за, ни против. Но даже сами вопросы хорошо бы как-нибудь сгруппировать, а то мы сами в них искать нужный устанем. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 17:02 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Да, согласен. ОК, тогда надо придумать вариант разбиения. Наверно, должно быть 5-6 групп по 5-6 вопросов в каждой. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 17:03 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Я временно убрал это из факов. Придумаем новую нумерацию, тогда поставлю обратно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 17:04 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Вот первый вариант разбиения: Запросы и селекты: Q24: Команда SQL не видит переменных. Q25: В перекрестном запросе не удается соблюсти постоянный порядок и количество столбцов. Q26: Не работает запрос с двумя джойнами: select * from A left join B on A.A=B.B left join C on A.A=C.C Q28: У меня есть логическое поле. Хочу выдать записи, в которых оно отмечено. Пишу в запросе: WHERE этополе=1 - и запрос не работает. Q29: Составляю условие WHERE (или любую другую часть селекта, или селект полностью, и вообще любую команду SQL) как стринг, собирая его/ее из значений переменных, контролов и т.д. Не работает. Формы и отчеты: Q7: Не помогают f.Recalc, f.Refresh, f.Requery, f.Repaint, где f - форма. Q14: Не работает событие OnOpen подчиненного отчета. Q16: Плохо работает программа, в которой используется свойство текстбокса или комбобокса Text. Q20: Не могу настроить комбобокс. Q22: Обработчик события KeyDown берет старые значения полей. Q23: Не могу заставить форму всегда открываться в режиме Maximized (вариант: Restored). Q30: Не могу сделать контролу Visible=False (варианты: Enabled=False, Locked=True). Аксесс говорит, что на этом контроле фокус. Модули: Q1: Перестали распознаваться служебные слова, такие как Left, Right, Database и т.д. Q2: Ставлю MsgBox - работает. Убираю - не работает. Q3: Вылазит сообщение: Expected variable or procedure, not module. Q5: Пишу программу на VBA, и при этом все дрожит, недописанная строка красится красным, как содержащая ошибку, курсор сам перескакивает по строке куда вздумается, сами расставляются пробелы и большие буквы и т.д. Q6: Почему неправильно работает округление? Q10: Не удается уложиться в синтаксис SQL либо VBA, потому что имя таблицы, поля, формы и т.д. содержит нехорошие символы, типа пробелов или минусов. Q12: Я написал/а программу, а она не работает. Q13: На команды с объектом Recordset выдается ошибка о несоответствии типов. Q15: Не работает обращение к процедуре, которое я пишу так: MySub (x, y) - тут выдается ошибка компиляции MySub (x) - тут почему-то параметр передается по значению, а не по ссылке Прочее: Q4: Начинается совершенно непонятное поведение mdb. Q8: В Аксессе 2002 кнопка "Создание MDE файла" не активна. Q9: Не удается создать файл mde. Q11: База данных перестала сжиматься (с диагностикой: таблица АБВГДТабле already exists). Q17: Я так расставил галки в настройках аппликации, что мне теперь самому не добраться до меню Аксесса. Q18: Аксесс переворачивает даты, меняет местами день и месяц. Вариант: неверно срабатывают вычисления или проверки, связанные с датами. Q19: Не работает проверка на равенство/неравенство. Q21: Выскакивает длинное сообщение, в котором в числе прочего имеется следующий текст: The expression may not result in the name of a macro, name of a user-defined function, or [Event Procedure]. Q27: Не работают параметры командной строки, напр. /excl и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 17:18 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
поддерживаю Сделать можно всё!!! Только бы знать как... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 17:24 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Если можно, погоди до завтра публиковать... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 17:32 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
6 и 10 вроде относятся и к селектам. 18 и 19 - непонятно куда. 21 - наверно, к формам. Нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 17:32 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Я жду, конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 17:33 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
на счёт 6, 10 правильно стоят 18, 19 по моему либо в SQL либо в модули... ИМХО конечно... Сделать можно всё!!! Только бы знать как... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 17:37 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Можно завести раздел Арифметика и отнести туда 6, 18, 19. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 17:44 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
2ВС автор18 и 19 - непонятно куда. 21 - наверно, к формам. 18 и 19 можно и к модулям, и к запросам. Здесь небольшая избыточность (один вопрос с одним номером задается в нескольких разделах) по-моему, лишней не будет. 21, наверное, в прочем надо и оставить Кроме того, нелишне было бы добавить еще один раздел, и разместить его в начале: Почему у меня перестало работать Q1: Перестали распознаваться служебные слова, такие как Left, Right, Database и т.д. Q2: Ставлю MsgBox - работает. Убираю - не работает. Q4: Начинается совершенно непонятное поведение mdb. Q5: Пишу программу на VBA, и при этом все дрожит, недописанная строка красится красным, как содержащая ошибку, курсор сам перескакивает по строке куда вздумается, сами расставляются пробелы и большие буквы и т.д. Q11: База данных перестала сжиматься (с диагностикой: таблица АБВГДТабле already exists). Q13: На команды с объектом Recordset выдается ошибка о несоответствии типов. Q21: Выскакивает длинное сообщение, в котором в числе прочего имеется следующий текст: The expression may not result in the name of a macro, name of a user-defined function, or [Event Procedure]. ЗЫ. Это имхо. ЗЗЫ. В q28 надо бы добавить, что True<>1 для Jet, а для MSSQL True=1. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2004, 11:31 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Итак, что мы имеем. Отдельный фак с вопросами и линками на малые факи. Малые факи по разделам. И там некоторые ответы давать дважды? Но нумерация-то точно должна быть в каждом малом факе своя? GeoКроме того, нелишне было бы добавить еще один раздел, и разместить его в начале: Почему у меня перестало работать То есть некоторые вопросы продублировать еще раз? А заголовок раздела должен совпадать с общим заголовком? По-моему, это будет путаница. Про True добавил. Только я не знаю: в SQL-сервере тоже все, что отлично от 0, расценивается как True или нет? Итого: Geo, у меня тут к тебе 5 вопросов. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2004, 15:51 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
авторИтак, что мы имеем. Отдельный фак с вопросами и линками на малые факи. Малые факи по разделам. Нет, все-таки, наверное, лучше в одном. А то по ссылке Access FAQ у нас будет больше двух-трех экранов вопросов c ответами в одно предложение. авторИ там некоторые ответы давать дважды? Но нумерация-то точно должна быть в каждом малом факе своя? Нумерацию можно дать либо сквозную: Раздел 1 Q1. Вопрос1 Q2. Вопрос2 Q3. Вопрос3 Раздел 2 Q4. Вопрос1 Q5. Вопрос4 Q6. Вопрос5 ... А в ответах на повторяющиеся вопросы писать ... A4. См. A1 ... , либо для уникальных вопросов Раздел 1 Q1. Вопрос1 Q2. Вопрос2 Q3. Вопрос3 Раздел 2 Q1. Вопрос1 Q4. Вопрос4 Q5. Вопрос5 ... (мне больше второй нравиться.) авторТо есть некоторые вопросы продублировать еще раз? А заголовок раздела должен совпадать с общим заголовком? По-моему, это будет путаница. Угу. Во-первых, именно к названию фака относятся отнюдь не все вопросы, например "Q24: Команда SQL не видит переменных." не может сначала работать, а потом перестать. Наиболее частые случаи "вдруг перестало работать" я и предлагаю вынести в отдельный первый раздел. Для того, чтобы человек, надеющийся найти ответ согласно названию фака, мог сделать это достаточно быстро, не читая до трех десятков вопросов, не имеющих отношения к его проблеме. А про дублирование вопроса в разных разделах, имхо, это не страшно, а даже хорошо. Вспомни, насколько удобнее пользоваться алфавитным указателем в книге, когда слова " И зменение записи" и " З апись: изменение" встречаются дважды. АвторПро True добавил. Только я не знаю: в SQL-сервере тоже все, что отлично от 0, расценивается как True или нет? Сейчас попробую... Нет, такой запрос говорит об ошибке: select * from dbo.mytable where 1 Однако поля типа boolean могут принимать значения 0 или 1. И сравнивать такое поле с -1 в условии отбора, значит никогда не получать положительного результата от этого сравнения. авторИтого: Geo, у меня тут к тебе 5 вопросов. Вроде на все ответил в меру сил. Правда длинновато :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2004, 21:41 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Спасибки! Можно вот как. Сначала только список вопросов, разбитых по темам. И вопросы могут повторяться. Нумерация сквозная, причем если вопрос повторяется, то под тем же номером. А потом сплошной список ответов, где вопросы не повторяются. Примерно так: Тема А 1 2 4 Тема Б 1 2 5 Ответы 1 - ответ 2 - ответ 3 - ответ 4 - ответ 5 - ответ Geoнапример "Q24: Команда SQL не видит переменных." не может сначала работать, а потом перестать. Может, если автор программы сначала не пытался включать переменные в селект, а потом включил. С другой стороны, может, придумаем другое название для всего вместе? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2004, 22:03 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
> Можно вот как. ... Я об этом и говорю, так, мне кажется, будет совсем хорошо. > С другой стороны, может, придумаем другое название для всего вместе? Наверное, не надо. Большая часть вопросов отвечает текущему названию. Имхо, можно уже публиковать, раз ни у кого дополнений больше нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2004, 22:20 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
ОК. Сейчас внесу правку и опубликую. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2004, 22:26 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Опубликовано! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2004, 22:34 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Q: Плохо работает программа, в которой используется свойство текстбокса или комбобокса Text. A: Свойство Text доступно только тогда, когда этот текстбокс или комбобокс находится в фокусе. Чтобы программа работала всегда, надо пользоваться не свойством Text, а: у текстбокса - свойством Value (которое является свойством по умолчанию, следовательно можно вообще это слово опустить вместе с предшествующей точкой); у комбобокса - свойством Column(номерколонки). Ни Text, ни Value можно не использовать вообще. У мя огромная база и без этого все прекрасно работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2004, 14:09 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Про Column согласен, спасибо, сейчас поправлю в факах. Про Value - напоминаю, что это "свойство по умолчанию", т.е. если никакого названия свойства не писать, то оно и будет иметься в виду. Forms!MyForm!MyControl.Value = 5 Forms!MyForm!MyControl = 5 - это одно и то же. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2004, 14:12 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Тьфу. Там про Column и так сказано. Интересно, за что я спасибо говорил... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2004, 14:15 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Добавлено: Q31: Не могу сделать контролу Visible=False в табличной форме. A: В табличной форме надо делать ColumnHidden=True. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2004, 00:04 |
|
FAQ. А почему у меня перестало работать...
|
|||
---|---|---|---|
#18+
Добавлено: Q32: RecordCount всегда возвращает 1, независимо от реального количества записей в рекордсете. A: Дойди до последней записи, например при помощи метода MoveLast. Если надо, вернись обратно. Тогда RecordCount вернет правильное количество. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 20:31 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1672653]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
174ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
181ms |
get tp. blocked users: |
1ms |
others: | 238ms |
total: | 639ms |
0 / 0 |