|
Access. Трюки
|
|||
---|---|---|---|
#18+
Сейчас читаю книжечку: Кэн Блюттман Access. Трюки (2006) Скачать Книжечка простая, но я тут открываю для себя просто удивительные моменты. Например, а вы знали что, Select Case, можно записать ввиде: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2006, 17:57 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
EloyOrionСейчас читаю книжечку: Кэн Блюттман Access. Трюки (2006) Скачать Книжечка простая, но я тут открываю для себя просто удивительные моменты. Например, а вы знали что, Select Case, можно записать ввиде: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Наверное я тебя разочарую... но это описано в help-е. Читать не пробовал? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2006, 18:12 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
Н-да, точно, всё описано в хелпе.. Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber Когда-то несколько лет назад изучал Access по книге, Select Case и всё остальное, там этого не было. Поэтому мне нравится иногда пролистывать книги с примерчиками всякими - нахожу что-то, на что раньше не обращал внимания, например, что у формы есть свойство NewRecord, а я проверял, новая ли запись с помощью ISNUMERIC() от поля со счётчиком. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2006, 18:43 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
EloyOrionа я проверял, новая ли запись с помощью ISNUMERIC() от поля со счётчиком. Даже IsNull было бы прямее. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2006, 20:09 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
Владимир СанычДаже IsNull было бы прямее. А вот IsNull на поле с IDENTITY не всегда срабатывает, т.к. там не NULL в любом случае, а чаще всего это PrimaryKey, который к тому же и NOT NULL. Иногда срабатывает, а иногда нет. Я даже в дебаггере смотрел, там в этом поле пишется <счетчик> или что-то такое, когда там ещё нет значения. А IsNumeric срабатывает всегда! Такой момент точно присутствует в adp Access 2003, в других версиях не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2006, 20:26 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
EloyOrionЯ даже в дебаггере смотрел, там в этом поле пишется <счетчик> или что-то такое, когда там ещё нет значения. Я тоже "даже в дебаггере смотрел", в Аксессе среди значений нет такого значения, как <счетчик>, а значение этого поля в описываемой ситуации именно Null. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2006, 21:09 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
Владимир Саныча значение этого поля в описываемой ситуации именно Null Может и Null, но IsNull не всегда срабатывает. Я раньше использовал IsNull, но в каких-то формах это работало, а в каких-то нет. У меня есть ленточная форма, в которой IsNull не срабатывает на поле типа счётчик, а полсе замены NOT IsNull на IsNumeric, всё работает, повторюсь это бывает в adp Access 2003 SP2. В mdb сейчас делал ленточную форму, там NULL - всё срабатывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2006, 21:40 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
Гм... Странно, ну да ланно... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2006, 21:43 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
Причём не в функции дело, условие типа Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2006, 21:44 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
Действительно странно, "ну да ладно" - полностью согласен :) Теперь в моём арсенале есть NewRecord, буду использовать. А то я тогда всё что под руку попало перебрал, пока до IsNumeric дошёл :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2006, 21:47 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
EloyOrionПричём не в функции дело, условие типа Код: plaintext
А в VBA такое и не должно работать. Причем вообще, а не только в делах, связанных со счетчиками. Такой синтаксис - только для селектов. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2006, 21:57 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
Владимир СанычА в VBA такое и не должно работать. Да, всё верно. Это я чего-то не в ту степеть... Вот это не работало: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2006, 23:06 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
Продолжая тему. Сочетания клавиш быстрого вызова для ввода данных Вставка текущего времени - Ctrl+SHIFT+; Вставка текущей даты - Ctrl+: Вставка значения из того же поля предыдущей записи - Ctrl+' Вставка в поле значения по умолчанию - Ctrl+Alt+пробел Вставка новой строки в текст, в поле memo, в надпись в режиме конструктора - Ctrl+Enter Вставка новой записи - Ctrl+"плюс" ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2006, 23:52 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
Использование макроса AutoKeys Макрос AutoKeys позволяет назначить собственные сочетания клавиш для вызова действий, совершаемых в приложении базы данных. Вы можете назначить действия, совершаемые при нажатии функциональных клавиш, сочетаний клавиш, таких как Ctrl+A, а также при нажатии клавиш Insert и Delete. При ЭТОМ нужно строго придерживаться синтаксиса, в котором знак возведения в степень (^) представляет клавишу Ctrl, а знак плюс (+) представляет клавишу Shift. Обычные клавиши вводятся как есть, а функциональные и специальные клавиши (Insert и Delete) заключаются в фигурные скобки ({}). Вот несколько примеров: ■ ^А — назначает действие сочетанию Ctrl+A. ■ {F9} — назначает действие функциональной клавише F9. ■ +{F9} — назначает действие сочетанию Shift+F9. ■ {INSERT} — назначает действие клавише Insert. При назначении собственных сочетаний клавиш взамен сочетаний, существовавших по умолчанию, последние будут утрачены. Вы даже можете переназначить действия, вызываемые общепринятыми сочетаниями клавиш, такими как Ctrl+V (вставка). Синтаксические выражения помещаются в столбец Имя макроса , а соответствующие сочетанию клавиш действия — в столбец Макрокоманда . Остается только выполнить еще одно требование — присвоить макросу имя AutoKeys. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2006, 23:56 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
Использование в запросах Access регулярных выражений Иногда возможностей символов-заменителей уже не хватает. Проявив смекалку, вы сможете использовать в запросах регулярные выражения. Хотя в Access допускается использование довольно мощных механизмов сравнения строк, всё же время от времени требуется использовать что-нибудь более мощное. Возможность использования регулярных выражения была добавлена корпорацией Microsoft в Windows Scripting Engine еше в версии 5.0, в дополнение к JavaScript. Вся мощь этой технологии может быть использована и в запросах Access. Хотя в данном трюке используются не самые простые элементы регулярных выражений, приводимый здесь пример может стать для новичков первым шагом в их изучении. Отсутствие встроенных регулярных выражений во многих случаях можно компенсировать за счет применения символов-заменителей Access, многократного вызова строковых функций Left, Mid, Right, Len и т. д. Но как только вы увидите, на что способна специально созданная функция, то наверняка сможете оценить и преимущества ее применения, и полученную при этом экономию времени. Сначала нужно создать функцию, связанную с исполняемом библиотекой Microsoft Scripting, которую можно будет вызвать из запроса Access. Использование данного трюка предполагает наличие последней версии Microsoft Scripting Engine, установленной на вашем компьютере. Если ВЫ не уверены в её наличии, посетите веб-сайт http://www.microsoft.com/scripting. В следующем программном фрагменте используется функция CreateObject, поэтому его можно использовать в другой базе данных без проверки установленных ссылок на объекты: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
В качестве примера рассмотрим процесс проверки учетных номеров комплектующих, направленный на выявление номеров, не отвечающих заданным критериям. Нередко данные, получаемые от разных людей, работающих на различных компьютерных платформах, необходимо ОЧИСТИТЬ перед вводом в главную 6азу данных. Предположим, что номера комплектующих деталей, предназначенных для фабрики, должны отвечать следующим критериям: ■ они должны начинаться с заглавных букв PN или заглавной буквы Р; ■ следующие две позиции должны быть цифрами; ■ следующая позиция должна быть заглавной буквой (A-Z); ■ следующие три или четыре позиции должны быть цифрами; ■ следующие пять позиции должны быть заглавными буквами (A-Z). Примеры учетных номеров, отвечающих этим критериям: PN12W123ABCDE и P12W123ABCDE. Примеры, не отвечающие критериям: PN12W13ABCDE (только две цифры после W) и 12W123ABCDE (не начинается с PN или Р). С учетом набора критериев, которым должны отвечать номера комплектующих, регулярное выражение должно иметь следующий вид: "^(РN|Р)[0-9][0-9][A-Z][0-9]{3,4}[A-Z]{5,6}$" Чтобы лучше понять, о чем идет речь, разберем наше выражение: ■ ^ — предписание вести поиск соответствия с начала строки; ■ (PN | Р) — задание соответствия символам PN или символу Р; ■ [0-9] [0-9] — задание соответствия двум цифрам, обе из которых находятся в диапазоне от 0 до 9; ■ [A-Z] — задание соответствия одиночному символу в диапазоне от А до Z; ■ [0-9] {3,4} - задание соответствия одиночной цифре от 0 до 9, которая повторяется от трех до четырех раз; ■ [A-Z] {5,6} —задание соответствия одиночному символу от A до Z, который повторяется от пяти до шести раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2006, 12:19 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
Прошу прощения за опечатки в предыдущих примерах и прошу модераторов их удалить, Модератор: удалил должно быть так соответственно: Внесения изменений в обработку событий открытия всех отчетов, имеющихся в базе данных: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Определение типа данных в таблице. Для определения типа данных вы можете обратиться к библиотеке ADOX. Эта библиотека предоставляет способ сканирования всех полей таблицы и определения их типов (впрочем, как и всех других свойств). Вот стандартная процедура сканирования отдельной таблицы, получения имен и типов каждого поля: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2006, 12:26 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
А не затруднит полный адрес? А то вылетает не туда... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2006, 12:05 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
EloyOrionhttp://c-books.info/books/news5.php/2006/1 ... ess-tryuki.html natalitvinenkoА не затруднит полный адрес? А то вылетает не туда... Действительно... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2006, 12:24 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
Нда.. это я скопировал Name вместо ссылки. Вот правильная ссылка! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2006, 13:33 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
Классная книга! Уже скачала и распечатала :) А то у нас в магазине такая 30$ стоит... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2006, 09:26 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
TattaКлассная книга! Уже скачала и распечатала :) А то у нас в магазине такая 30$ стоит...Может что неправильно делаю. Все время говорит ошибкаЮ зайдите с титульной страницы. Захожу - тоже самое. Файрволл отключил. Что не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2006, 09:46 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
TattaКлассная книга! Уже скачала и распечатала :) А то у нас в магазине такая 30$ стоит... скинь на мыло 123ukfгав-гавuralweb.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2006, 13:52 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
а существуют ли файлы с примерами из этой книги? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2006, 14:22 |
|
Access. Трюки
|
|||
---|---|---|---|
#18+
полез сегодня посмотреть, что за книга. внимательно не смотрел. видел буквально пару страниц методом случайного перелистывания - что-то из первых и что-то "из глубины". испытал сложные ощущения от "трюка с вставкой". обсуждается тема - как не дать пользователю открывать базу в режиме, отличном от рид-онли. совет приводится такой: заведите в текущем проекте служебную таблицу и попробуйте вставить в нее запись. Если получилось, значит вы не в режиме рид-онли. с одной стороны, этот совет не зависит от версии акцесс и в этом плане универсален. С другой стороны, сам бы я разглядывал CurrentProject.Connection.Mode Если бы было делом принципа не пользовать адо, то ковырял бы CurrentDB.Properties("Updatetable") книжка очень наверно полезна, хороша и всем нужна. Но как-то не читаю я книжек, которые производят на меня первое ошеломляющее впечатление. впрочем, надо будет взять пивка да посмотреть - чем еще книжка побалует. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2006, 00:20 |
|
|
start [/forum/topic.php?fid=45&tid=1654384]: |
0ms |
get settings: |
12ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 254ms |
total: | 398ms |
0 / 0 |