vba - VBA 拆分函数不允许 Null
问题描述
我是一个菜鸟,需要帮助我如何更改代码以允许 null,因为会有 null 值。我从另一篇文章中提取了这段代码并对其进行了调整以适应我的目的。我正在创建一个表并从一个表部分拆分代码,然后将它们分解为已创建的表,SplitCodes_Part。它一直在脚本的 codelist = split(!code,",") 部分显示错误无效使用 null。零件表中的代码字段可以有多个代码,用逗号分隔,没有空格。我想将它们分成单独的行。
前:
后:
下面的代码:
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
解决方案
过滤掉具有空代码的记录:
Set rss = CurrentDb.OpenRecordset("Select ID, Bookid, Imagefile, Code, ext_remark From part Where Code Is Not Null")
推荐阅读
- database - 使用 Symfony 查询 On The Fly 解密数据
- php - 通过 Web 界面在 Linux 上挂载 CIFS 共享
- bash - 如何在linux中计算大于8000的选项卡之间的字符
- sqlite - SQLite 查询两个表。(Union All,Order By,Limit)
- javascript - 本地存储中每个项目的按钮
- c# - 有没有办法删除整个图片框数组列表(也删除图像)并创建一个新的?
- rust - 如何在 Rocket 响应器中转发来自 reqwest::blocking::Body 的数据?
- apache - HTTPD 不会在 Centos OS 7/Apache 2.4.6 上启动
- python - Appending strings across classes in python
- amazon-web-services - 通过 CloudFormation 将默认 KMS 密钥的使用权授予 IAM 角色