Создать базу данных сотрудников

Тема в разделе "Lotus - Программирование", создана пользователем -, 23 сен 2007.

Статус темы:
Закрыта.
  1. Гость

    Я новичек в Lotus'е.
    Нужно разработать простую базу данных сотрудников, которые принадлежат к определенной компании и к пределенному офису этой компании.
    Пользователю предоставляется возможность выполнять набор простых манипуляций с базой.
    Пожалуйста, кто имеет опыт, подскажите какими объектами пользоваться при разработке?..
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Халев
    2 формы - работники и организации, парочка видов ( зависит от того что хотять видет )
     
  3. Гость

    Немного уточню. Работник должен два параметра - компания и офис. Поэтому я решил сделать 3 формы:
    1) Companies - с полями CompanyName, CompanyID.
    2) Offices - с полями OfficeName, OfficeID, CompanyID.
    3) Employees - с полями EmployeeName, CompanyID, OfficeID.
    Т. е. как делается в реляционных базах.
    Дальше, я так понимаю, необходимо создать виды. Подскажите, пожалуйста, от чего нужно отталкиваться при этом и как можно добавлять данные в поля форм. Например, необходимо будет иметь возможность изменять имя работника и его принадлежность к компании, офису.

    Заранее благодарен за ответ!..
     
  4. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Халев
    Можно и три, но надо ли?

    Поля ID тут ( в ЛОтусе ) имеют немного другой смысл.

    Вам надо абстрагироватсья от СУБД.
    Для начала: таблица приблизительно это документ.
    Вид - это не результат отбора командой селект, а всего лишь фильтр который накладываеться на все документы таблицы и отображает только те которые под этот фильтр подходят


    ну а дальше зависит от архитектуры
     
  5. Гость

    Хорошо, но (извините за безграмотность) объясните на пальцах что в Designer'е нужно нажать, чтобы кроме описания полей там появились какие-то данные?
     
  6. major

    major Гость

    http://www.ibm.com/developerworks/ru/edu/l...courseware.html
    - Это интерактивный обучающий кутс от IBM. На русском языке.
    Не панацея, но основные вопросы снимет (куда нажать, что такое View, как сделать выборку, как сохранить док...)
     
  7. Kron

    Kron Гость

    Вопрос, а какие цели приследуются при создании данной базы??? <_<
     
  8. Гость

    <!--QuoteBegin-Kron+25:09:2007, 10:18 -->
    <span class="vbquote">(Kron @ 25:09:2007, 10:18 )</span><!--QuoteEBegin-->Вопрос, а какие цели приследуются при создании данной базы??? dry.gif
    [snapback]79450" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Ну я думаю цель тут одна - начальство трбует ,значит надо сделать <_<
     
  9. Гость

    Спасибо за ссылку, гляну.
     
  10. Гость

    Просмотрел я этот IBM-ский курс - довольно неплохой для начинающего.
    Однако все-таки для решения у меня маловато опыта.
    Если я создал 2 формы: компании с офисами и работники (с указанием индентификатора компании и идентификатора офиса), то как мне сделать, чтобы при создании документов "Работник" в поле "Компания", который будет типа combobox (или может быть сделать его RadioButton) дать возможность пользователю выбрать одну из компаний (имена которых выбрать из соответствующих документов), а затем записать в поле индекс выборанной компании (для последующего отображения во View "Сотрудники")?
    Буду благодарен даже за наводку на то как это можно сделать в Lotus'е
     
  11. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Для: Халев
    для "чтобы при создании документов "Работник" в поле "Компания", который будет типа combobox" cмотри @DbColumn
     
  12. Гость

    DbColumn требует view. А можно перебрать документы, созданные по форме "Компании", без использования view? Ну и получить набор значений для combobox/radiobutton/dialog list (пока не знаю что лучше)..
     
  13. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Халев
    а я бы зделал пиклистом

    зделать просто db.serch по форме - и всё.
     
  14. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Код (Text):
    Dim CompDc As NotesDocumentCollection
    Set CompDc = Db.Search({Form = "Company"}, Nothing, 0)


    if CompDc.Count > 0 then
    Dim i As Integer
    Redim Companies(CompDc.Count - 1) As String

    Dim CompDoc as NotesDocument
    Set CompDoc = CompDc.GetFirstDocument
    While Not CompDoc Is Nothing
    Companies(i) = CompDoc.CompanyName(0)
    i = i + 1
    Set CompDoc = CompDc.GetNextDocument(CompDoc)
    Wend
    end if
    Потом уже преобразуешь array (unique, sorting и т.д.) и пишешь, куда надо.
    Примерно так.
     
  15. Гость

    Код (Text):
    Dim CompDc As NotesDocumentCollection
    Set CompDc = Db.Search({Form = "Company"}, Nothing, 0)
    if CompDc.Count > 0 then
    Dim i As Integer
    Redim Companies(CompDc.Count - 1) As String

    Dim CompDoc as NotesDocument
    Set CompDoc = CompDc.GetFirstDocument
    While Not CompDoc Is Nothing
    Companies(i) = CompDoc.CompanyName(0)
    i = i + 1
    Set CompDoc = CompDc.GetNextDocument(CompDoc)
    Wend
    end if
    ok. Вставил этот код в combobox, в событие Initialize. При старте ругнулось 'Variant does not contain an object', тогда добавил еще:

    Dim s As New NotesSession
    Dim db As NotesDatabase

    Set db = s.CurrentDatabase

    Перестало ругаться, но список combobox'а пустой. Чего ему еще нужно подкрутить?..
     
  16. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Халев
    так... во первых этот код как для начала надо ставить в кнопку рядом с полем "Компания"

    и в конце кода , перед end if добавить что поле "Компания" = Companies
     
  17. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Для: Халев
    Ну я же не буду за тебя программить.
    Наше дело наставить на путь истинный.
    А дальше сам <_<
     
  18. Гость

    Опишу немного подробней что хочу:
    Cоздавать документы с помощью формы, которая у меня называется Employee (работник) и имеет поля EmployeeName (имя работника), Company и Office. С именем работника все ясно - оно просто вбивается. Что касается Company и Office у меня созданы документы другой формы - Companies, имеющей поля CompanyName и Offices.
    Остановимся для начала на компаниях (поле Company для формы Employee). Здесь я хочу, чтобы при открытии формы Emplyee на создание документа можно было открыть combobox, который перед этим запонялся бы существующими именами компаний.

    - в обработчик какого события нужно вставить код?

    Я новичек в Lotus'е, поэтому как затем хранить выбранное занчение тоже не до конца понимаю - как индекс выбора или как символьную строку с именем компании?..
     
  19. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-Халев+27:09:2007, 11:45 -->
    <span class="vbquote">(Халев @ 27:09:2007, 11:45 )</span><!--QuoteEBegin-->Я новичек в Lotus'е, поэтому как затем хранить выбранное занчение тоже не до конца понимаю - как индекс выбора или как символьную строку с именем компании?..
    [snapback]79767" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    сматря для чего, если в дальнейшем чтото надо меять опираясь на компанию храните заодно и айдиху, но то что Вам надо хранить символьное зачение єто 100%
    потому что это НЕ РЕЛЯЦИОНКА, и не стоит при открытии документа одновлять запись имени конторы по её ID как это делалось бы в стандартной СУБД
     
  20. Гость

    Т. е., если я правильно понимаю, в моем случае имеется ввиду айдиха - можно использовать UNID или UniversalID документа, из которого взято CompanyName?
    И еще: символьное значение можно ли забить затем в это же поле, в котором combobox? Если не трудно киньте в меня строчкой кода, please..
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей