我有一个保存在网络上的中央数据库,用于存储机器各种组件的零件号和描述。通常,人们在设计过程中需要使用离线副本,并向其中添加新条目。是否有脚本可以查找差异并更新网络上的主文件?我尝试了联合查询,但我正在努力更新原始文件和原始表。我的sql/microsoft访问知识有限。
为了清楚起见,我们这样称呼这些文件:
网络数据库:Network_DB.mdb
离线数据库:Offline_DB.mdb
表:MISC_CAT
最佳答案
根据我的经验,通用解决方案非常困难。我倾向于将我想要的字段名称存储在表中,然后运行相关更新:
Public Function UpdateData()
Dim db As Database
Dim qd As QueryDef
Dim rs As Recordset
Dim strSQL As String
On Error GoTo Err_UpdateData
Set db = CodeDb
strSQL = "SELECT fldName FROM MyTables WHERE tblName = 'MISC_CAT'"
Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot)
Do Until rs.EOF
strSQL = "UPDATE MISC_CAT_Network INNER JOIN MISC_CAT_Offline ON MISC_CAT_Network.KeyID = MISC_CAT_Offline.KeyID " & _
"SET MISC_CAT_Network.[" & rs!fldName & "] = [MISC_CAT_Offline].[" & rs!fldName & "] " & _
"WHERE (((Nz([MISC_CAT_Network].[" & rs!fldName & "],''))<>Nz([MISC_CAT_Offline].[" & rs!fldName & "],'')))"
db.Execute strSQL, dbFailOnError
rs.MoveNext
Loop
db.Execute strSQL, dbFailOnError
rs.Close
db.Close
Exit_UpdateData:
Set rs = Nothing
Set qd = Nothing
Set db = Nothing
Exit Function
Err_UpdateData:
Debug.Print "Error - " & Err.Number & " - " & Err.Description
Resume Exit_UpdateData
End Function
关于mysql - 组合访问表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35004311/