Функция разделения VBA не допускает Null - PullRequest
0 голосов
/ 14 января 2020

Я новичок и мне нужна помощь о том, как я могу изменить код, чтобы разрешить ноль, так как будут нулевые значения. Я взял этот код из другого поста и подправил его под свои цели. Я создаю таблицу и разделяю коды из одной таблицы, разделяю их на отдельные таблицы, SplitCodes_Part. Он продолжает отображать ошибку недопустимого использования null в кодовой части = split (! Code, ",") части скрипта. Поле кода в таблице деталей может содержать несколько кодов, разделенных запятой и без пробелов. Я хочу разбить их на отдельные строки.

До:

enter image description here

После:

enter image description here

Код ниже:

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

1 Ответ

0 голосов
/ 14 января 2020

Отфильтровать записи, имеющие Нуль Код:

Set rss = CurrentDb.OpenRecordset("Select ID, Bookid, Imagefile, Code, ext_remark From part Where Code Is Not Null")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...