我需要一些幫助踢首發的方式來驗證字符串出現在某一特定領域的表的所有記錄的完整性:驗證基於基線公式
表阿爾法:
| A-ID* | Description** | Formula** |
|-------|------------------------------|--------------------------|
| A101 | House + 2 bed + 1 bath | TYPH + numbdB + numbathA |
| A212 | Apartment + 1 bed + 1 bath | TYPA + numbdA + numbathA |
| A342 | Condominium + 4 bed + 3 bath | TYPC + numbdC + numbathZ |
*主鍵;固定長度 **可變長度
現在組成「描述」的項目(表阿爾法[以上])在單獨的表中找到:
表布拉沃:
| Housing_ID* | HousingDes** |
|-------------|--------------|
| TYPH | House |
| TYPA | Apartment |
| TYPC | Condominium |
表查理:
| Room_ID* | RoomDes** |
|----------|-----------|
| numbdA | 1 bed |
| numbdB | 2 bed |
| numbdC | 4 bed |
表三角洲:
| Bath_ID* | BathDes** |
|----------|-----------|
| numbathA | 1 bath |
| numbathZ | 3 bath |
*主鍵;固定長度 **可變長度
現在,我需要一種方法來驗證記錄(表格Alpha)的「說明」與表格Bravo指定的相關「公式」(表格Alpha)一致 - 三角洲。例如,關於表阿爾法的記錄1,記錄的「描述」可能被無意中修改。我怎麼能「標記」這個不正確的記錄?
| A-ID* | Description** | Formula** |
|-------|----------------------------|--------------------------|
| A101 | House"ee" + 2 bed + 1 bath | TYPH + numbdB + numbathA |
如何重建表阿爾法[讓我們把這種新的表,表FormAlphaBuild]基於「公式」而已?對於每個「A-ID」,我可以將Table Alpha中的「Description」與表FormAlphaBuild中的「Description」進行比較,然後查詢該差異,以便知道哪些記錄需要更正。
任何輸入,將不勝感激。我的想法如下:
Private Sub VerifyDescription_Click()
Dim dbHouse As Database
Dim rsAlp, rsFAB As Recordset
Dim Description, Formula, Housing_ID, Room_ID, Bath_ID As String
Set dbhouse = CurrentDb
Set rsFAB = dbs.OpenRecordSet ("Table_FormAlphaBuild")
Set rsAlp = dbs.OpenRecordSet ("Table_Alpha")
rsAlp.MoveLast
rsAlp.MoveFirst
Do Until rsAlp.EOF
rsFAB.AddNew
rsFAB![A-ID] = rsAlp![A-ID]
rsFAB![Formula] = rsAlp![Formula]
rsFAB.Update
rsAlp.MoveNext
Loop
rsFAB.MoveLast
rsFAB.MoveFirst
Do Until rsFAB.EOF
Housing_ID = Mid(rsFAB![Formula], 1, 4)
Room_ID = Mid(rsFAB![Formula], 5, 6)
Bath_ID = Mid(rsFAB![Formula], 9)
Description = DLookup("HousingDes", "Table_Bravo") "+" DLookup("RoomDes", "Table_Charlie") "+" DLookup("BathDes", "Table_Delta") & Mid(Bath_ID, x, 8)
我該如何解釋一個可變數量的bathroom_IDs?他們總是會在單一的Housing_ID + Room_ID後出現。
有些洞察請 - 如何列出每個「A-ID」的正確描述。
我需要幫助來創建FormAlphaBuild表。一旦我有了這個,我想我可以想出一個比較Alpha「描述」和FormAlphaBuild「描述」的機制。
請使用http://ozh.github.io/ascii-tables/顯示在表格的形式,而不是列出了樣本數據。請擺脫印刷引用''「'並使用標準引號'」「'代替(雙+單引號)。 – Andre
謝謝你,安德烈。我已經更新了我的初始文章。 – Ludwig
可能值得重新訪問您的數據庫模式(結構)。通常,將多個信息合併到一個列中並不是一個好主意。例如,您可以將您的數據分爲三列:房屋類型(可能是在另一張桌子中用簡單英文名稱查找的鍵),牀數和浴缸數。然後,您可以使用該信息進行查詢,以您喜歡的任何格式撰寫純英文描述。有關更多閱讀,請查看https://en.wikipedia.org/wiki/Database_normalization –