← Декабрь 2000 → | ||||||
1
|
2
|
3
|
||||
---|---|---|---|---|---|---|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
14
|
15
|
16
|
17
|
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
30
|
31
|
За последние 60 дней ни разу не выходила
Сайт рассылки:
http://blog.leadersoft.ru
Открыта:
29-08-2000
Статистика
0 за неделю
Access 2000 - программирование и готовые решения
Выпуск 20. Борьба за скорость
Введение.В этом выпуске рассказывается о некоторых вопросах, связанных с увеличением скорости работы базы данных, продолжаются короткие уроки для начинающих и даются ответы на вопросы по Access.
Новости магазина "Лидер Access".
1. Вышла новая программа "Курс 2000", версия 4.3. Назначение ее - быстрое получение курсов валют из Центробанка. Теперь Вы можете распечатать календарь для любого курса валюты, а также улучшились характеристики программы по получению GBR, FRM и FIM. Программа распространяется бесплатно, но только для Access 2000. Вариант программы с возможностью чтения данных за любой период стоит 300 рублей. Открытый код VBA для добавления в Вашу складскую или банковскую программу стоит 300$.
2. В прайс-листе появился таймер для профессионалов. Обязательно посмотрите его использование. Ссылки на программу и общий вид указаны ниже. Его свойства: имеет профессиональный дизайн, позволяет останавливать загрузку данных, свободно передвигается по желанию пользователя, легко управляется из VBA, не останавливает другие задачи пользователя, минимально загружает процессор. Применяется не только для отображения времени выполнения длительных задач в Access, но и для демонстрации Ваших профессиональных качеств. Цена 75 рублей.
3. Еще один код, который распространяется магазином: Печать в Access 2000. Программа разработана с использованием API функций на языке Visual Basic для Microsoft Access 2000. После изучения кода Вы будете уметь получать информацию об установленных для разных операционных систем Windows принтерах и факсах, назначать любой из них по умолчанию (главным). Программа будет полезна в первую очередь разработчикам Access программ, создающим профессиональные приложения. Загрузите mde-пример и посмотрите его в работе. Цена 20 рублей.
Ссылки на новые программы: |
1. http://www.liac.nm.ru/shop/shopprice.htm
(все ссылки на программы магазина) 2. http://www.liac.nm.ru/kurs2000.exe (Версия "Курс 2000", 4.3) 4. http://www.liac.nm.ru/shop/demo/profi001.zip (Печать в Access 2000) 3. http://www.liac.nm.ru/shop/images/profi002.gif (Изображение таймера) 5. http://www.liac.nm.ru/shop/demo/profi002.zip (Пример применения таймера) |
Бесплатные коды для Access 2000
I. Файл la_form1.mdb. Добавлены следующие примеры. 16. Сумма прописью. Программа будет полезна для для разработчиков платежных поручений, т.к. добавлены решения в соответствии с последними указаниями Центробанка. 18. Диспетчер связанных таблиц. Данная программа заменяет стандартный диспетчер Access своим. 19. Цветные поля в форме. Показан пример, позволяющий форматировать поля, строки форм в зависимости от разных условий задачи. 20. Форматирование полей в форме. Небольшой пример на тему форматирования поля.
II. Файл la_table1.mdb. Добавлен пример 11: "Сравнение свойств поля базы данных". Пример показывает встроенные свойства поля и те, которые Вы должны создать при программировании полей таблицы.
III. Файл la_report1.mdb. Добавлен пример 16: "Изменение размеров страниц отчета". Пример показывает использование свойства отчета PrtDevMode. При подготовке использована справочная система Access.
IV. Файл la_automat.mdb Добавлены примеры серверов автоматизации. 01. Рассылка почты через Outlook. Пример показывает как рассылать почту пользователям из Access. 02. Создание документа Word. Простой пример создания документа Word из Access.
Ссылки на mdb программы: |
1. http://www.liac.nm.ru/subscribe/examples.htm
(ссылка на все бесплатные mdb-коды) 2. http://www.liac.nm.ru/subscribe/zip/la_table1.zip (архив la_table1.mdb) 3. http://www.liac.nm.ru/subscribe/zip/la_form1.zip (архив la_form1.mdb) 4. http://www.liac.nm.ru/subscribe/zip/la_report1.zip (архив la_report1.mdb) 5. http://www.liac.nm.ru/subscribe/zip/la_automat.zip (архив la_automat.mdb) |
Access 2000. Урок 2. Общая информация о таблицах |
Одним из самых главных объектов Access являются
таблицы[1]. Удобство работы с ними и обеспечило громадную популярность этой
базы данных. Условно таблицы можно разбить на две группы: внутренние и
присоединенные из других файлов, например, mdb, dbf, db и т.п. Существует такое правило, что при сохранение информации в таблицах желательно, чтобы каждая строка была уникальной. Это достигается путем установки первичного ключа[2]. Он может состоять из одного или нескольких полей[3] таблицы. Если Вы не можете назначить подходящий ключ, то используйте поле Счетчик[4]. Использование таблиц без ключей возможно, но я Вам не рекомендую это делать на "реальных" базах данных. В Access есть несколько способов создания таблиц. Например, 1 - в режиме конструктора, 2- c помощью мастера, 3- путем ввода данных, 4- через запрос SQL[5], 5- с применением функции VBA[6]: CreateTableDef. 6- путем импорта таблиц из других баз данных, смотрите TransferDatabase. Каждый из этих способов имеет свои плюсы и недостатки, но какой лучше выбрать на этапах разработки базы данных решать Вам. Мы же остановимся сейчас на самом популярном - первом способе: "Создание таблицы в режиме конструктора". В этом режиме Вы визуально можете создать поля. Важно уметь давать короткие имена им. Например, [Номер документа] = [Nдок], [Название организации] = [Фирма], [Единица измерения]=[ЕдИзм]. Это связано с тем, что применяя короткие имена полей, Вы тем самым уменьшаете длину запросов и база данных работает быстрее, да и ошибок будет меньше. Кроме этого в конструкторе можно назначить свойства[7] полям. Например, "Размер", "Описание", "Подпись" и другие. Свойств полей в базе данных может быть очень много. Посмотрите пример 11 в файле la_table1.mdb, там указано, что при создании поля типа Дата/Время создается сразу 24 свойства. Еще четыре, а именно, Описание-Description, Маска ввода-InputMask, Формат поля-Format, Подпись-Caption являются "бутафорией", т.е. Вы их видите в конструкторе таблицы, но на самом деле их нет. Программисты Microsoft сделали это за тем, чтобы обеспечить минимальный размер базы данных. Из этого заключения следует, что эти свойства лучше не заполнять. Но это неправильно, например, без свойства "Описание" будет сложно понять назначение полей Вашей таблицы. Пример привожу за тем, чтобы Вы при создании таблиц программным путем помнили, что эти свойства сначала создаются, а только потом уже изменяются, иначе будет сгенерирована ошибка. В заключение хочу сказать, что проектирование таблиц - это искусство, и только "опыт" может подсказать Вам, как лучше их разрабатывать. |
Словарь |
∙ [1] Таблицы (Table) - основной объект базы данных. ∙ [2] Первичный ключ (PrimaryKey) - свойство таблицы. ∙ [3] Поле (Field) - главный объект таблицы. ∙ [4] Счетчик (AutoNumber) - специальное автозаполняемое поле в базы данных. ∙ [5] VBA (Visual Basic For Applications) -язык программирования Бэйсик для офисных приложений. ∙ [6] SQL (Си'квэл, Structured Query Language) - язык создания запросов к базе данных. ∙ [7] Свойство (Property) - параметр структуры поля базы данных |
Ответы на вопросы
Вопросы Вы можете задавать по email: LiderAccess@bigfoot.com или опубликовать на сайте в разделе "Доска объявлений". Все вопросы можно прочитать по адресу: http://www.liac.nm.ru/subscribe/questions.htm
Вопрос. Как можно увеличить скорость программы? |
Искал как-то я в Интернете решение проблемы
"Переменная высота строк в отчете". Серьезной информации по отчетам не
было, нашел только решение с подсчетом символов в поле. Применять его было
нельзя из-за сложного алгоритма. Самостоятельно вышел на изящное решение, что
надо рисовать прямоугольник вокруг поля при обработке события отчета Print.
Смотрите файл: la_report.mdb, подписка 13 от 10.10.2000. Сейчас "обкатываю" еще одно
оригинальное решение на эту тему. Заглянул на всякий случай в Рунет и нашел,
что один "гений" в алгоритме по рисованию поля заменил шустрый оператор if
else на "новейшую мину замедленного действия" - IIF(двойной если). А "Профи"
настоятельно не рекомендуют применять его в basic- программах. Даю расшифровку
фразы. "Миной замедленного действия" IIF() можно назвать потому, что он
значительно моложе и на 70% медленнее оператора if else, да еще при неосторожном
использовании приводит к "сваливанию" программы. Это анти-решение и
подсказало мне опубликовать несколько коротких фраз по оптимизации кода.
Повышение производительности базы данных в процентах указано в скобках.
Информация сокращена до минимума. Надеюсь Вам будет понятно, о чем идет речь,
но если, что неясно - пишите. 01. Используй оператор if else, вместо IIF() [70%] 02. Используй Long, т.е. Long лучше Byte, Integer и, конечно, Variant [20%,50%] 03. Применяй If-Else, чем Switsh, Shoose [50%] 04. Лучше проверяй строку так Len(s) = 0, чем s = "" [40%] 05. Лучше инициализируй строку так s = vbNullString, чем s = "" [65%] 06. Если возможно пиши так s = "AB", чем s = "A" & "B" [85%] 07. Вставляй строку в текст так Mid$(s,3,4)="like", чем s = Left$(s,2) & "like" & Mid(s,7) [45%] 08. Сравнивай строки так If StrComp(s1,s2,vbTextCompare) =0 then, чем If Ucase(s1) = Ucase(s2) [55%] 09. Лучше используй $-функцию, т.е. Left$ лучше Left [40%] 10. Цикл For...Next работает быстрее Do...Loop [50%] 11. При обработке целых чисел пиши j=i\10, чем j=i/10 [30%] 12. Точнее объявляй объекты: as CommandButton лучше As Control, еще лучше as Object [90%] 13. Цикл For Each...Next лучше, чем цикл For...Next для семейств объектов [98%]. 14. Цикл For ...Next лучше, чем цикл For Each...Next для массивов [25%]. P.S. 1. Все тесты на скорость придумали и провели для Access 2000: Кен Гетц, Пол Литвин и Майк Гилберт. За что им большое спасибо. 2. Запомните наизусть фразу из документации по VBA, самый короткий код - не самый быстрый. Есть еще предложения по оптимизации кода, их я опубликую позже. |
Вопрос 81.
У меня вопрос. Я подрабатываю в службе знакомств. Создал небольшую базу данных,
где пока только наши клиентки (создал по примерам "Борей", достаточно
симпатично). Я хочу что бы можно было связать каждую девушку с отдельным
клиентом. Нужно что бы входящие и исходящие письма с каждым клиентом можно
легко достать и отсылать их по e-mail из ACCESS Вопрос 82. Расскажите, пожалуйста, как можно автоматизировать рассылку новостей (с помощью OutLook или средствами самого Access). В базе данных мы имеем определённый набор адресов электронной почты (который постоянно пополняется) и набор новостей. Как адреса так и новости разбиты на категории и их количество не постоянно. Определённые категории новостей рассылаются определённым категориям клиентов с учётом уже отправленных новостей и времени вступления в клуб. Поэтому такой сервис крайне необходим. |
Ответ. Когда я получил первую информацию на эту
тему я подумал, что кто-то хочет стать спамером. Но после этих двух вопросов
стало ясно, что проблема важна для многих. Поэтому и дал решение в примере N1 в
файле: la_automat.mdb. Чтобы Вам не скучно было изучать Outlook вставил вымышленное
письмо спамера к своим "родителям". Но адрес email рассылки указан реальный.
От адресата несколько раз приходили письма купить базу данных клиентов и
рассылать рекламу, т.е. стать спамером. О проблеме. Ее решают через применение клиента автоматизации. Короткий код я привожу здесь, чтобы Вам была понятна сама идея. Set app = New Outlook.Application 'Открываем Outlook Set itm = app.CreateItem(olMailItem) 'Создаем сообщение itm.Subject = Me.Subject 'Определяем тему письма itm.Body = Me.Body 'Вставляем текст письма itm.Attachments.Add Me.File 'Присоединяем файл itm.Recipients.Add Me.Email 'Добавляем адрес рассылки itm.Send 'Посылаем письмо app.Quit 'Закрываем Outlook Более подробно, с использованием таблицы, где можно хранить электронные адреса и письма для рассылки смотрите в файле: la_automat.mdb. |
Вопрос 72 (16.11.2000). Буду признательна, если поможете справиться со следующей проблемой. Требуется выделять другим цветом поле или строку в ленточной форме в зависимости от конкретного значения поля текущей строки. |
Ответ. Эту проблему Microsoft решила только в версии 2000, в 97 она есть. Программисты Microsoft разработали три варианта условий при котором форматируется поле формы в Access: 1- в зависимости от его значения, 2 - в зависимости от некоторого выражения, которое может быть связано с другими полями, 3 - при получении фокуса, т.е. при входе в поле. Максимально в каждом варианте Вы можете рассматривать 3 условия форматирования. Чтобы полностью закрыть эту тему, посмотрите пример N19 в файле: la_form1.mdb |
Вопрос 50. Подскажите, пожалуйста, как в вычисляемом поле запроса "Access" избавиться от 15 - 18 знаков после запятой? В вычисляемом поле перемножаются данные из поля с "длинным целым" (пробовал изменить на "целое") на данные из поля с "плавающей точкой (4 байт)" (пробовал и на 8 байт). |
Ответ.Игорь Макеев
igor@mebelmassiv.tula.ru Format или написать функцию округления Виктор Конюков Пример 20 на эту тему я привел в файле la_form1.mdb Его можно использовать для тренировки или быстрого просмотра разных форматов поля формы. |
Вопрос 56. В одном из прошлых выпусков рассылки Вы упомянули о том, что Вам в программе "Склад и Реализация" удалось реализовать постоянную скорость доступа к данным в течение года. Насколько я понимаю, в данном случае скорость обработки данных не зависит от их объема, чего в случае работы с большими (по числу записей) таблицами быть НЕ МОЖЕТ. Объясните, пожалуйста, в общих чертах, как Вам удалось добиться такого результата, или пришлите ссылки на ресурсы Internet. Если Вы решили разбивать большие (по количеству записей) таблицы на несколько одинаковых небольших таблицах, тогда поясните, как Вы реализовали скоординированный доступ к этим таблицам. |
Ответ. Это ноу-хау. Подробности дать не могу.
Сами понимаете, все мгновенно "раcтащат" наши "гении", и пользы
никакой людям не принесут, да и сами ничему не научатся. Но кое-что рассказать
можно. Во первых о ссылках. Есть у меня есть раздел на сайте "Ресурсы
Access". Используя его, Вы можете выйти на любой сайт или архив программ в
Рунете. Но сразу скажу, если отбросить файлы, которые копируют другие идеи, то
информации получиться очень мало. А методы повышения скорости и оптимизации
применения большого числа файлов и таблиц базы данных вообще никто не
рассматривает. Ну а теперь о самой методике. Данная технология разрабатывалась для предприятий с низким производственным потенциалом, т.е. людей без высшего образования уже в зрелом возрасте. Им тратить время на изучение новых программ, SQL серверов или копаться в таблицах с 20 тысячами записей проблематично. Было ясно, что даже если им прикажет директор, и они полностью согласятся с ним, самостоятельно ничего изучать не будут и даже пальцем не пошевелят. Поэтому задача была поставлена такая, минимум данных, приличная скорость работы с компьютером и максимум автоматизации. Решение проблемы началось не с программирования, а с изучения методов расчета себестоимости, учета кассовых и банковских операций. Проанализировав проводки в документах предприятия, и частоту их использования, были вычислены таблицы, которые нужны складу, банку и кассе. Определена степень их важности и место хранения в базе данных. Установлены между ними связи. Только после всего этого разрабатывались, формы, запросы отчеты. Некоторая информация по структуре VBA. Общее число программ в модулях более 200. Чтобы управлять автоматически файлами, была создано специальное ядро системы. От репликации Microsoft пришлось отказаться и разработать собственный вариант. Вот пример ее применения. Если необходимо в эталонной базе данных добавить поле или изменить его размер в сторону увеличения, то при обращении к рабочей базе функция репликации должна это делать автоматически. А вот уже обратно, т.е. удалить поле или уменьшить его размер, она должна это делать только в ручном режиме, так как возможна потеря данных. Ядро системы должно без участия работника переводить остатки, вести нумерацию документов во всех файлов. Много чего пришлось решать, все коротко и не расскажешь. Тяжелый труд, применение клиент - сервер архитектуры проще. Но самое главное - это хороший результат. Дело в том, что увеличилась не только скорость базы данных, но сократилось время внедрения до 1 дня. Как это происходит. Приходит заказчик со своим прайс - листом, при нем вводится информация и печатаются все накладные, остатки и другие документы по складу. Задается вопрос, можно ли изменить в конструкторе отчет или форму. Показывается как это сделать. Если клиент - серьезный "покупатель", то договаривается об оплате, если "интересующийся", то просит схему таблиц или демо-версию. Естественно, никто ему это не даст, и он уходит расстроенный. Правда сейчас я планирую для тех, кто собирается переходить c dbf программ на Access опубликовать несколько примеров из сборника. Думаю, что и конкурентам что-то от этого перепадет. Работа над программой постоянно совершенствуется. Тестируется новая версия, в которой свободно можно будет изменять внешние отчеты и формы, не думая о привязке таблиц. Всем старым покупателям версия программы будет рассылаться бесплатно, при этом добавление новых таблиц и полей произойдет автоматически. |
Вопрос 59.
Вот столкнулся с такой проблемой. Как по Access 97 (из своей программы) вызвать -
Диспетчер связанных таблиц? Как в Access 2.0 делается знаю, но в 97 это уже не
проходит. Вопрос 64. При разделении базы на mde и mdb файлы связи с таблицами можно обновить через диспетчер связанных таблиц. А как это сделать программным путем? |
Ответ. В принципе решить задачу очень легко. Сначала, найдите пункт меню, используя его имя или код в элементах управления. Далее выполните для него команду execute. С другой стороны, для серьезной программы лучше разработать свой диспетчер связанных таблиц. Пример 18 на эту тему я привел в файле: la_report1.mdb. Дополнительно там, Вы найдете подробное решение Дмитрия Чернова. Используя 2 идеи Вы полностью решите свои проблемы. |
Вопрос 87 (23.11.2000). У нас в банке требуют при печати платежки, чтобы в графе сумма цифрами (поз.7) при указании суммы с копейками равными "00" стоял разделитель "=" между рублями и копейками, а при всех других случаях стоял "-". Я не понял до конца каким способом сделать это безболезненно для моей структуры (не добавляя доп. полей в таблицы и др.). |
Ответ. Тема "Платежное поручение" - неисчерпаема. Для тех, кто только вступает в ряды разработчиков Access и собирается помочь решить им эту сложную задачу, я добавил в файл la_form1.mdb способ отображения суммы прописью, а также форматирование числа с разделителем разрядов по новым требованиям Центробанка. |
Вопрос 112 (04.12.2000). Существует несколько одинаковых по структуре форм (журналов) A,B,C... каждый из которых основан на своей таблице Ta,Tb,Tc. Каждая из этих форм связана с формой D (на таблице Td) по полю KOD. По нажатию кнопки в любой из них - открывается форма D. Как создать процедуру, которая бы по двойному щелчку в форме D возвращала бы значение D.KOD именно в ту форму из которой была вызвана? Вариант, типа IsLoaded(<Имя формы>) применяющийся по-моему в "Борее", проверяющий какая форма загружена, применять не хотелось бы,т.к. при добавлении новых форм связанных с той же Td нужно будет всегда менять код в форме D, а это очень неудобно. |
Отвечает Дмитрий Чернов:
mailto:chernovd@comset.net Решение 1. В формах Ta, Tb и Tc в процедуре открытия формы D пишется следующее DoCmd.OpenForm "D", acNormal, , , acFormAdd, acWindowNormal, Me.name Forms("D").SetCallFormName = Me.name 'В форме в заголовке модуля описываем переменную sFormName и процедуру общения с ней SetCallFormName. Private sCallFormName As String Public Property Let SetCallFormName(fName As String) sFormName = fName End Property Решение 2. Хотя можно и просто (без Property Let) Public sCallFormName As String А далее в событии DblClick или любом другом обращаемся к форме следующим образом: Forms(sCallFormName).элемент_управления.свойство Forms(sCallFormName).свойство и т.д. У меня к примеру это выглядело так Private Sub Form_Close() Dim ctrl As Control If Len(sFormName) > 0 Then If Len(sCtrlName) > 0 Then DoCmd.SelectObject acForm, sFormName Set ctrl = Forms(sFormName).Controls(sCtrlName) ctrl.Requery ctrl.Value = Me!code.Value End If End If End Sub |
Вопрос 121 (07.12.2000). Я недавно начал изучать Access2000. В одной таблице есть поле с датами. Мне необходимо, чтобы в другой таблице в одноименном поле была возможность выбрать одну из дат в раскрывающемся списке. В конструкторе в подстановках данного поля (типа Date) нет вставки. Как это осуществить? |
В данной ситуации могу только посоветовать использовать другой тип поля, например, числовое. Добавьте в свойства поля форматы для ввода и отображения по типу Date. После этого Вы сможете назначить ему список. |
Вопрос 122 (07.12.2000). Мне необходима срочная консультация по Access. Сообщите, пожалуйста, номер телефона в Москве, кто бы мог помочь. |
Я не знаю, чтобы кто-то консультировал бесплатно по телефону. Тут надо в совершенстве знать саму базу данных и иметь много свободного времени. Обязательно опубликую телефоны, если кто-то откликнется. Сам я не обучаю таким образом, т.к. являюсь консультантом одной производственной и 2x торгово-посреднических организаций на платной основе. Мне Вы можете бесплатно задать вопрос по email: LiderAccess@bigfoot.com |
Вопрос 123 (13.12.2000).
Не могу скачать Лекции Access 2000 1.0 Вышлите, пожалуйста. С наезжающим 21 веком (теперь уж точно) |
Спасибо за поздравление, но 21 века ждать не надо. Адрес для загрузки лекций: www.liac.nm.ru/la2000.exe Лекции для Вас я заказал через сайт: www.emailfile.com. Он позволяет Вам закачивать файлы без Вашего участия. Но с другой стороны, если сервис: "Новая почта" не будет работать, то попытайтесь скачать лекции позже: http://www.emailfile.com/?http://www.liac.nm.ru/la2000.exe |
Вопрос 124 (13.12.2000). Хочу я открыть файл .mdb в Access. и вижу сообщение: "у вас нет прав доступа". Читал вашу статью в которой есть ссылка http://www.liac.nm.ru/ , но туда попасть не могу. Подскажите, как мне открыть мой файл, или где бы взять описание .mdb файлов. |
Никакой защиты на файлах нет. Так, что у Вас проблемы с настройками Office. Если его установить по умолчанию и на локальный компьютер, то Все заработает. Все ссылки на бесплатные файлы загрузки описаны по адресу: http://www.liac.nm.ru/subscribe/examples.htm |
Вопрос 125 (13.12.2000).
Я не программист, но по роду своей работы столкнулся с необходимостью создания
баз данных для ведения расчётов результатов хозяйственной деятельности на
своём предприятии. Понимая, что эта задача сама по себе далеко не проста, для
начала хотел бы освоить азы программирования. Посоветуйте где в сети можно
найти литературу отвечающую моему уровню и потребностям. Вопрос 126 (13.12.2000). Не подскажите где можно найти учебник по Аксесу в электронном виде о том как писать модули, примеры простых программ на VBA. Заранее благодарен за любой ответ. |
Учебник по Access, который бы решил все Ваши вопросы, Вы не найдете. Серьезный учебник может занимать более 1000 страниц, и никакой автор на его публикацию в Интернете открытых кодов не пойдет. Добавить к сказанному можно то, что через раздел "Ресурсы Access" Вы сможете выйти на сайт, предлагающий компьютерную литературу и заказать учебник по почте. |
Вопрос 127 (13.12.2000). Я живу в Узбекистане, где литературы по программированию практически нет. Работаю в Access уже около полутора лет, все обучение происходит методом проб и ошибок. Сейчас занимаюсь разработкой программы "Склад", и столкнулся с проблемой, необходимо в отчете за месяц выводить остатки товара на конец прошлого месяца, создавать отдельную таблицу для хранения остатков, пробовал, но совсем запутался в своих программах. Может есть какой-то другой путь. И кроме этого, необходимо в конце года архивировать данные за прошедший год, очищать базу, сохранять остатки с прошлого года, и начинать новый год. Здесь вообще не знаю как подступиться к этой проблеме. |
1. Остатки по складу лучше формировать не в
таблице, а через запрос SQL. В этом запросе Вам надо связать таблицы по
справочникам и документам по складу. Этот же запрос можно использовать и в
отчете. 2. Вторая проблема, которую Вы рассматриваете очень сложная. Идеального совета нет. Попробуйте сначала научиться создавать файлы mdb файлы (см. лекции), далее хорошо изучите запросы на обновление, удаление и добавление. Обязательно составьте схему связей таблиц. После этого уже переходите к решению самой задачи. |
Вопрос 128 (13.12.2000). Куда Вы подевались - нет не рассылок, нет сайта? Укажите, пожалуйста, адреса, м. б. новые!!! |
Временно частота выпусков уменьшена до 2 в месяц из-за недостатка свободного времени. Перебои в работе сайта: www.liac.nm.ru в последнее время связаны с Новой почтой. Я обращался к ним по данному вопросу, но они ничего сделать не могут. У них постоянно возникают перегрузки сервера. Иногда бывает, что нет ftp-доступа, а в другой раз страницы не открываются. Сейчас анализируется информация по данной проблеме. Возможен переход к другому провайдеру, но тогда об этом будет сообщение. |
Вопрос. Разработайте, пожалуйста, мне программу ... |
Уважаемые господа, предприниматели, бизнесмены и просто случайные люди, читающие данный тест. Мы предлагаем Вам бесплатные услуги, но не работаем на халяву. Если Вы думаете, что разработка Access базы данных - это легкий и примитивный труд, то Вы сильно заблуждаетесь. Информация дается очень сложно, и короткий, в 10 строчек код, может разрабатываться сколько угодно долго, часы, дни и даже месяцы. Единственно, чем сразу можно Вам помочь, так это разместить информацию о проблеме в разделе: Архив вопросов. Ответ на вопрос дается только по истечении некоторого периода времени. Но если Вам срочно нужна новая программа, подробный ответ с написанием кода, то пишите разработчикам (смотрите Визитки), а также можете взять почтовые адреса из ответов в подписке. Могу гарантировать, что к Вам будут относиться более серьезно, если Вы напишите примерное письмо: "Уважаемый господин (...печатаете инициалы) Я посмотрел Вашу визитку (или решение). Предлагаемые Вами способы решения задач по Access, мне понравились. Прошу дать ответ на следующий вопрос. У меня есть проблема, которая требует срочного разрешения (...даете полное описание) Если сможете, то решите ее, готов оплатить все расходы за консультацию и разработку программы. С уважением, (... печатаете имя, организацию и желательно должность)" |
Copyright © 13.12.2000 Виктор Конюков, (Web: www.liac.nm.ru, Email: LiderAccess.bigfoot.com)
http://subscribe.ru/
E-mail: ask@subscribe.ru |
|
В избранное | ||