0

我有一个包含两个表的数据库:人员和日志。

我创建了一个详细信息页面,该页面显示人员信息并另外包含相关的日志记录。所有这一切都是通过添加标准详细信息页面完成的——而不是自定义编码等。

当用户单击绿色 + 为该人添加一行到日志时,我想自动填充一些列。为此,我打开了 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

但是,我不确定如何在代码中完成此操作?

4

1 回答 1

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
于 2011-08-15T20:48:33.170 回答