LightSwitch: на новой строке, выберите информацию для родителей - PullRequest
0 голосов
/ 13 августа 2011

У меня есть база данных с двумя таблицами: люди и журналы.

Я создал страницу сведений, которая отображает информацию о персонале и дополнительно включает в себя связанные записи журналов. Все это было сделано путем добавления стандартной страницы сведений, а не пользовательского кодирования и т. Д.

Когда пользователь нажимает на зеленый +, чтобы добавить строку в Журналы для этого человека, я хочу автоматически заполнить несколько столбцов. Для этого я открыл класс Log и добавил следующее:

Private Sub Log_Created()
     Me.Create_Date = Date.Now
End Sub

Это прекрасно работает. Но я также хочу получить номер карты, связанной с человеком. В конце мой код должен выглядеть примерно так (псевдо):

Private Sub Log_Created()
     Me.Create_Date = Date.Now
     Me.CardNumber = SelectedPerson.CardNumber
End Sub

Однако я не совсем уверен, как это сделать в коде?

1 Ответ

4 голосов
/ 16 августа 2011

Чтобы избежать денормализованных данных (http://en.wikipedia.org/wiki/Database_normalization), Я бы не стал настраивать вашу модель данных таким образом. Я бы использовал подход

Person (Class)
 - Name
 - Address
 - ...
 - Cards (Collection of Card)

Card (Class)
 - CardNumber
 - Person 
 - Logs (Collection of Log)

Log (Class)
 - CreateDate
 - Card 

Это позволило бы использовать несколько карт на человека. Если выдействительно хотите делать то, что вы пытаетесь сделать, вы на правильном пути. Убедитесь, что у вас есть отношения между человеком и журналом (один человек для многих журналов), и ваш код будет

Private Sub Log_Created()
     Me.Create_Date = Date.Now
     Me.CardNumber = Person.CardNumber
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...