我有一个包含2个表(process
和data_type
)的MSaccess数据库。每个process
可以包含0种类型的data_type
。在访问权限内,我有一个表单显示一个带有列表框的进程,(see pic),其中包含所有data_types
。然后,用户可以检查每个data_types
所拥有的process
。
我们正在从访问MySQL迁移数据。作为其中的一部分,我创建了一个链接process2data
和process
表的data_type
表。不幸的是,我不知道如何在Access中创建一个表单(我们现在仍然使用它作为我们的显示引擎)来完成与在线数据相同的事情。
您可以下载我正在尝试的内容here:
(为简单起见,我将mySQL中的在线数据表的副本放在Access中作为脱机表。)
答案 0 :(得分:0)
多值字段仅适用于MS-Access数据库,模拟我们需要添加VBA代码和表来存储值。
添加代码以检查引用的值是否存在于中间表中:
Private Sub Form_Current()
On Error GoTo ErrExit
If Not IsNull(Me!ProcessID) Then
sql = "INSERT INTO ProcessList_DataType(ProcessList,DataType) " & _
"SELECT " & Me!ProcessID & ",datatype_id " & _
"FROM DataTypes WHERE datatype_id not in " & _
"(SELECT datatype_id from FilterQuery " & _
" WHERE ProcessList = " & Me!ProcessID & " )"
Set db = CurrentDb()
db.Execute sql
cnt = db.RecordsAffected
If cnt > 0 Then
NeedRefresh = True
End If
End If
ErrExit:
End Sub
享受!