我有一个包含两个表的数据库:人员和日志。
我创建了一个显示Person信息的Details页面,另外还包括相关的日志记录。所有这一切都是通过添加标准详细信息页面来完成的 - 而不是自定义编码等。
当用户点击绿色+为该人的日志添加一行时,我想自动填充一些列。为此,我打开了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
但是,我不确定如何在代码中完成此操作?
答案 0 :(得分:4)
为了避免非规范化数据(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
这将允许每人多张卡。如果你真的想做你想做的事,那你就走在了正确的轨道上。确保在Person和Log(一个人到多个日志)之间存在关系,并且您的代码将是
Private Sub Log_Created()
Me.Create_Date = Date.Now
Me.CardNumber = Person.CardNumber
End Sub