在MS Access 2007应用程序中,我需要生成[Date]。[SequenceNumber]的文档名称,例如2010-12-07.013,其中SequenceNumber每天重置为1.
为了保持数据完整性,我想在MySQL中创建一个返回序列号的函数。我设置了一个'序列'表:
CREATE TABLE `doc_sequence_number` (
`SequenceDate` date NOT NULL,
`SequenceNumber` int(11) NOT NULL,
`ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`SequenceDate`,`SequenceNumber`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
MySQL函数应该使用服务器的Date创建一条新记录,并且序列号递增1,并返回SequenceDate和SequenceNumber字段。
任何人都可以建议如何编写这样的函数(这是我的第一个MySQL函数)。
如何通过ODBC使用VBA调用并获取返回值?
由于这对我来说是新的,我很感激有关如何实现这一目标的任何建议。 MTIA。
答案 0 :(得分:1)
我对MySql没有多少经验,但如果我在MSSQL中这样做,我会希望有一个带有常规自动递增ID的表。然后,该表将清除其记录,并且每天将序列重置为1。然后,我将设置一个存储过程以将记录插入此临时表并读回ID。将其附加到服务器日期,这是您的文件名。
至于VBA中的返回值,看看这个关于MSSQL的链接,它们应该非常相似
http://bytes.com/topic/access/answers/205120-get-stored-procedure-output-value-back-vba