Я новичок и мне нужна помощь о том, как я могу изменить код, чтобы разрешить ноль, так как будут нулевые значения. Я взял этот код из другого поста и подправил его под свои цели. Я создаю таблицу и разделяю коды из одной таблицы, разделяю их на отдельные таблицы, SplitCodes_Part. Он продолжает отображать ошибку недопустимого использования null в кодовой части = split (! Code, ",") части скрипта. Поле кода в таблице деталей может содержать несколько кодов, разделенных запятой и без пробелов. Я хочу разбить их на отдельные строки.
До:
После:
Код ниже:
Sub split()
Dim dbb As DAO.Database
Dim tdff As DAO.TableDef
Dim fldd As Field
Set dbb = CurrentDb()
Set tdff = db.CreateTableDef("SplitCodes_Part")
Set flddA = tdff.CreateField("ID", dbText, 250)
Set flddB = tdff.CreateField("Bookid", dbText, 250)
Set flddC = tdff.CreateField("Imagefile", dbText, 250)
Set flddD = tdff.CreateField("Code", dbText, 250)
Set flddE = tdff.CreateField("ext_Remark", dbText, 250)
flddE.AllowZeroLength = True
tdff.Fields.Append flddA
tdff.Fields.Append flddB
tdff.Fields.Append flddC
tdff.Fields.Append flddD
tdff.Fields.Append flddE
tdff.Fields.Refresh
dbb.TableDefs.Append tdff
dbb.TableDefs.Refresh
Dim rss As DAO.Recordset
Dim rss_out As DAO.Recordset
Dim x As Long
Dim SplitCodes() As Variant
Set rss = CurrentDb.OpenRecordset("SELECT id, bookid, imagefile, code, ext_remark from part")
Set rss_out = CurrentDb.OpenRecordset("SplitCodes_Part")
With rss
Do
CodeList = Split(!Code, ",")
For x = LBound(CodeList) To UBound(CodeList)
rss_out.AddNew
rss_out!Code = CodeList(x)
rss_out!imagefile = rss!imagefile
rss_out!bookid = rss!bookid
rss_out!id = rss!id
rss_out!EXT_REMARK = rss!EXT_REMARK
rss_out.Update
rss_out.AddNew
Next x
.MoveNext
Loop Until .EOF
End With
rss_out.Close
Set rs_out = Nothing
rss.Close
Set rss = Nothing
dbb.TableDefs.Refresh
End Sub