一个ACCESS文档 , 孟加拉 达卡海关提供的
文档的功能是把手工录入的空运舱单信息自动转换成XML格式向达卡机场海关申报
我现在想把原来需要手工录入的舱单信息改成自动录入舱单信息
舱单信息数据源是Main_FFM()二维数组,已经用正则表达式抓取了所有需要录入的数据
测试用的 Main_FFM(15,11) as string
目前遇到的问题是,如下面代码所示,当我用addnew 更新整个Main_FFM()数组时,更新到第4行报错自动停止,
而且没有出错提示,可能是ACCESS文档做了设置禁止了出错提示
当我只更新11列中的任意小部分列时(1-4列),整个数组共15行数据都可以正常更新。。。。。。
当我只更新11列中的任意大部分列时(6-8列),,更新到第8或者第9行报错自动停止,。。。。。。
我现在怀疑文档中是不是限制了更新的数据量,一次不能更新太多数据?
请教各位大神我的怀疑正确否?怎么搞??
问题已找到,其中一个字段限制35字符
由于原始数据里此字段也限制为35字符,所以刚开始我没有考虑这个问题
但正则表达式抓数据时把一些不显示的特殊字符也抓了,所以此字段的某些行超35字符。。。。。
由于文档没有错误提示,搞死我了
那位回复一下,我送分结贴了
代码如下
'//////////////////////////////////////////////////////////
Dim dbx As Database
Dim rstx As Recordset
Set dbx = CurrentDb
Set rstx = dbx.OpenRecordset("shipping_bol")
For rawb = 1 To Line_number
rstx.AddNew
rstx!Customs_office_code.Value = Customs_office_code
rstx!Voyage_number.Value = Voyage_number
rstx!Date_of_departure.Value = Date_of_departure
rstx!Bol_reference.Value = Main_FFM(rawb, 1)
rstx!Line_number.Value = CInt(Main_FFM(rawb, 2))
rstx!Consolidated_Cargo.Value = Main_FFM(rawb, 3)
rstx!Port_of_origin_code.Value = Main_FFM(rawb, 4)
rstx!Place_of_unloading_code.Value = "BDDAC"
rstx!Exporter_name.Value = Main_FFM(rawb, 5)
rstx!Exporter_address.Value = Main_FFM(rawb, 6)
'rstx!Notify_name.Value = Main_FFM(rawb, 7)
'rstx!Notify_address.Value = Main_FFM(rawb, 8)
'rstx!Consignee_name.Value = Main_FFM(rawb, 7)
'rstx!Consignee_address.Value = Main_FFM(rawb, 8)
rstx!Number_of_packages.Value = CInt(Main_FFM(rawb, 9))
rstx!Gross_mass.Value = CDbl(Main_FFM(rawb, 10))
rstx!Goods_description.Value = Main_FFM(rawb, 11)
rstx!Num_of_ctn_for_this_bol.Value = 0
rstx.Update
MsgBox "写入数据库第" & rawb & "行完成"
Next
rstx.Close
Set rstx = Nothing