1

AccountRight Enterprise v19,使用 ODBCAU1001。

在发现我的 MYOB 版本的 ODBC 问题应该发布到 StackOverflow 之前,我已将其发布到 MYOB 论坛,所以就在这里。

我需要清除客户卡中的一些字段,但 MYOB 不允许我这样做,我希望有人能够向我展示正确的方法。

我尝试这样做的方式是写入 Import_Customer_Cards 表,为多个客户联系字段提供更新的数据。具体来说,我正在尝试清除 Address1Phone1、Address1Salutation 等,同时覆盖其他字段,例如 Address1Email。

我正在使用 ADO 从 Microsoft Access VBA 执行此操作。我正在使用的代码如下:

strSQL = "INSERT INTO Import_Customer_Cards (CoLastName, Address1Phone1, Address1Phone2, Address1Phone3, Address1Fax, Address1Email, Address1ContactName, Address1Salutation)
VALUES ('Customer Name', '', '123456789', '987654321', '555333222', 'some@email.com', 'Contact Name','')"

cn.BeginTrans
cn.Execute strSQL
cn.CommitTrans

多年来我一直在针对 MYOB 进行编程;我曾经是 MYOB 开发伙伴,我对使用 MYOB ODBC 非常熟悉,不管你信不信,我以前从未需要清除字段。

我对上述代码的期望是所有字段都将根据 VALUE 子句进行更新。具体来说,由于长度为零的字符串,我希望 Address1Phone1 和 Address1Salutation 为空白。不过,观察到的结果令人沮丧。其他字段按预期成功更新,但是,Address1Phone1 和 Address1Salutation 中的值不会更改,无论它们以前是否保存值。

我尝试对这两个字段使用零长度字符串,我尝试使用空值,我尝试使用单个空格字符。似乎没有什么可以清除这两个领域。如果我使用可打印的字符,比如句点 ( . ),字段的值会按预期更改,但我不能让自己在生产环境中做这样的事情。

我做错了什么,还是有一种我不知道的方法?

非常感谢您查看此问题。

问候,格雷厄姆

4

0 回答 0