Отправляет email-рассылки с помощью сервиса Sendsay

Работа с MS Access

  Все выпуски  

Работа с MS Access : (014)


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Работа с MS Access

Ведущий рассылки Виктор Познев; Сайт проекта: http://msa.km.ru
 

Выпуск 014

СЕГОДНЯ В НОМЕРЕ

  1. Ваши вопросы
  2. Новости раздела "САД КАМНЕЙ"
  3. С чего начинается БД.
  4. Новости MSA.KM.RU
  5. Новые темы форума.

Ваши вопросы

Вопрос: Не подскажете, как создать форму на основе запроса, которая по умолчанию будет открываться не в виде формы, а в виде таблицы ? Не удобно при каждом открытии формы щёлкать по иконке "режим таблицы".

Ответ:  На вкладке "Макет" свойств формы установите значение "Таблица" для свойства "Режим по умолчанию". Можно открыть форму в режите таблицы из VBA, даже если свойство "Режим по умолчанию" для формы заданно другое:

DoCmd.OpenForm "МояФорма", acFormDS



Вопрос: Как сделать, чтоб по умолчанию база открывалась не в маленьком окне (minimize), а полноэкранном режиме (maximaze) ?

Ответ:  Делаем макрос с макрокомандой "развернуть" (аналог на VBA: DoCmd.Maximize) и сохраняем его под именем "AutoExec".


Вопрос: Прошу прощения за беспокойство, но все-таки задам вопрос. Ситуация такова: нужно сделать базу данных одного предприятия в принципе ничего сложного, если уметь это делать и иметь знания, но если нет ни того ни другого то в результате тоже ноль. Вопрос такой: Как обратиться к определенной ячейке в таблице Accsess используя  модули. Кроме этого вопросов еще куча, но пока это первостепенный. Заранее спасибо.

Ответ:  Вопрос конечно интересный, но в Access-е к сожелению (а может быть и к счастью) отсутствуют ячейки хранения. Чувствуется, что автор вопроса долго работал с Excel :) Значит в Access-е дело обстоит так: cтроки в таблицах называются записями, а столбцы - полями. Что бы узнать "ячейку" в таблице, нам необходимо знать запись и название поля. Для того, что бы узнать нужную нам запись обычно используются SQL запросы с условием. Вот так выглядет пример обращения к определенной записи в VBA:

  Dim Записи As Recordset
  Set Записи = CurrentDb.OpenRecordset("SELECT Периоды.*" _
      & "FROM Периоды WHERE (((Периоды.МеткаТекущего)=True));")
  MsgBox ("Период=" & Записи!Период)
  Записи.Close

 

 

Новости раздела "САД КАМНЕЙ"

 

Может, не всегда лучше лопатить форум в отсутствие материала на сайте, а задать вопрос здесь? Пусть он будет комплексный - качество сайта от этого только выиграет! А если решение спорное - можно сделать и дискуссионную статью. Хочу показывать, обсуждать, сравнивать. Не как одиночка, нет! Надо жить, господа! А жизнь начинается не там, где вы говорите, что Вы чудесатый программист. (Я даже слова этого боюсь). Жизнь начинается там - где Вы утверждаете кому-то кроме себя: ВОТ ЗДЕСЬ Я ВРАЩАЮ ЗЕМЛЮ. Даже если Ваше умение заключается только в классном составлении запросов... Над названием рубрики долго не думал, просто взял почтовый ник и перевел на русский - Сад Камней. Конечно, как вы лодку назовете - так она и поплывет. =о)

С чего начинается БД

Так сказать, микросервис =о)
Итак, начиная новую базу я руководствуюсь несколькими правилами.
Главное, я не сажусь писать базу пока не сложится некий самодостаточный образ =o).

Принципы построения больших и малых судов в данной статье не рассматриваются. Но.
Человек, начинающий работу над базой данных, общеизвестно, должен иметь маленькую голову, большую задницу и коротко остриженные ногти на правой руке.
Так вот речь - о ногтях или, конкретнее, о заточке инструмента.

Поехали...

1. Создаю дополнительную панель управления
    * Это помогает быстро переключаться между окнами объектов базы данных и для отладки (Эт-то как кому удобно...)

2.В течение разработки базы никогда не устанавливаю другую строку меню, кроме основной.
   * При открытии формы можно назначить меню с которым она будет работать.  А при отладке достаточно переключиться на окно базы данных, чтобы появилась главная менюшка. Таким образом половое влечение к кнопкам Ctrl+F11 у меня явно поуменьшилось =o)

3. Копирую в базу модуль с названием QuickService
    * В этом модуле все основные операции, которые приходится выполнять практически в любой базе

А вот здесь поподробнее. QuickService

Первая процедура  это определение пути к базе данных. Придумано все до меня. Функция Subdir возвращает путь к базе данных.


Function Subdir() As String
'Возвращает путь каталога БД
Dim CurDB As String
CurDB = CurrentDb.Name
Subdir = Left(CurDB, Len(CurDB) - Len(Dir$(CurDB)))
'MsgBox Subdir
End Function

'Sample:
Kill Subdir & "txtFile.txt"

 

Следующие процедуры закрывают все формы


Function CloseAllForm()
'закрыть все формы
Do While Forms.Count > 0
   If IsFOpen(Forms(0).Name) Then DoCmd.Close acForm, Forms(0).Name
Loop
End Function

Function IsFOpen(MyFormName) As Boolean
'открыта ли форма
Dim frm As Form
IsFOpen = False
For Each frm In Forms
   If frm.Name = MyFormName Then
      IsFOpen = True
      Exit Function
   End If
Next frm
End Function

 

....

GardenStone

С полной версией статьи можно ознакомиться здесь.

 

Новости MSA.KM.RU

 

Новые темы форума

- Помогите Люди добрые (шайтан поселился)
- Ленточная форма и CheckBox
- фильтр по выделенному
- Работа с каждой записью в ленточной форме
- Помогите вставить объект *.AVI в фому, чтобы он при её открытии запускался:(((((
- НЕ выводится внедренная таблица из Word97
- Как автоматизировать сжатие базы данных ?
- Помогите сравнить два поля!
- В отчете не выводится внедренная таблица.
- В отчете не выводится внедренная таблица.
- Окно диалога печати при просмотре отчета в MDE.
- Архивация базы...HELP! очень HELP!
- Невозможно создание объекта компонента ActiveX
- ...

Архив Рассылки

 
Рассылка 'Работа с MS Access'

При перепечатке или любом другом публичном использовании материалов ссылка обязательна.



http://subscribe.ru/
E-mail: ask@subscribe.ru

В избранное