关于回滚事务的处理的问题!

现在我碰到一个大问题,我是用VBA开发了一个单据打印程序,原来应用程序自带的单据开单,没法用,一个人用的时候没有问题,是直接挂在数据库上读写的,但是当二个人同时用的时间,会出现存入的单据号重复,也就把二张不同性质的单据保存到一起,这个原理我知道。就像去银行取钱,插卡,录入密码,下单,拿钱,走人,一气呵成。这个如何在服务器端也写一个什么的,让一次开单能回滚事务,请大家帮我出出主意!
谢谢大家!

问题总结一下:
1、回滚事务应该写在什么地方?是写在客户端还是服务器端,我表单开单只有客户端,服务器上我是直接写数据库的,
2、如果要写回滚事务是否要写服务器端的什么东东?