0
我從一個表中獲取字段行併爲每行創建一個新表。新表格將具有與它們對應的行相同的名稱。訪問VBA:在循環中創建的新表導致錯誤
這裏是我的代碼:
Option Compare Database
Public Function createTables()
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim rst As DAO.Recordset
Dim fld As DAO.Field
Dim strSQL As String
strSQL = "Select SKUS from SKUS"
Set db = CurrentDb()
Set rst = db.OpenRecordset(strSQL)
Set fld = rst.Fields("SKUS")
'MsgBox fld.Value
rst.MoveFirst
Do While Not rst.EOF
Set tdf = db.CreateTableDef(fld.Value)
Set fld = tdf.CreateField("SKUS", dbText, 30)
tdf.Fields.Append fld
Set fld = tdf.CreateField("Count", dbInteger)
tdf.Fields.Append fld
db.TableDefs.Append tdf
rst.MoveNext
Loop
End Function
的問題是代碼(在創建第一個表)的第一個循環之後,它給了我指着線錯誤「無效操作」
...
Set tdf = db.CreateTableDef(fld.Value)
...
爲什麼你認爲這是?我有一種感覺,因爲我需要重新設置fld或rst,但我不確定。
任何人都可以幫我解決這個問題嗎? 謝謝!
爲什麼要這麼做?這違反了數據標準化。 –