2011-12-24 158 views
0

我正在寻找MS-excel或MS-word中的发票。此发票将包含发票编号,客户名称,产品信息,数量,金额,日期,客户地址,电话号码等多个字段。等等。发票的功能是为了生成一个唯一的发票号码,每次我打开它,然后供应商会提及客户的信息,产品的信息,并点击提交按钮或保存它。发票中提到的信息将自动保存在MS-Access数据库中,无论何时单击提交按钮或保存文档。从ms-access到ms-word获取数据

因此,客户的所有记录都将保存在MS-Access数据库中。每当我需要搜索特定的客户时,我应该能够从发票编号中搜索它。或该特定发票的任何唯一字段。我希望我的问题得到明确解释。请让我知道最简单的方法来做到这一点。我没有关于这个主题的广泛知识,所以给我一些新手可以理解的建议。

回答

0

我现在可以告诉你,用Access生成Word文件在屁股上有点痛苦。如果你真的想格式化它会变得很难(是我的经验)。

我最终生成了HTML文件,我可以在其中控制一切,并打开它们作为.doc s。但是,如果您真的对此感到陌生,我建议您从一些VBA教程开始,向他们解释如何从数据库获取记录,并通过它们循环以生成输出。然后您可以开始查看VBA中的文件写入功能。

找不到任何教程真正的快(我的女朋友生气,因为我们说话),但这里是一个示例: http://www.access-programmers.co.uk/forums/showthread.php?t=25354

只要看看周围的论坛,查找文件生成,并通过记录循环。

+0

你能否给我建议一些链接 – Mishigen 2011-12-24 09:12:15

+0

我觉得这里有一个误区。如前所述,我的第一个任务是插入上述字段的值,然后将它们保存在数据库中。稍后,我想从数据库中搜索客户。 – Mishigen 2011-12-24 09:26:53

+0

@saratis从Access运行mailmerge并不算太糟糕。 – Fionnuala 2011-12-24 13:16:34

2

我想你是从错误的结局开始的。使用Access表单获取数据并运行邮件合并,最简单的方法是从Access中输出文本文件作为数据文件,并使用Word模板进行合并。

只要您需要的是唯一号码,自动编号就可以适用于发票号码。如果你需要记录的连续数字,你将不得不自己创建。你怎么做取决于同时工作的用户数量。

+0

thnks的建议。我想知道你是否可以给我任何可以更好地解释它的例子。我已经在Access中创建了表格和表单。我需要做的唯一事情就是在发票中提取这些细节。 – Mishigen 2011-12-24 14:59:15

+0

@sumit为要打印的发票创建一个查询,使用'docmd.TransferText'将其导出为文本(您可以链接到Access,但最后更容易),请按照Word向导创建一个mailmerge使用现有的数据源,并选择刚刚创建的文件。第一次手动做,看看是否都适合。如果是这样,这只是一个自动运行邮件合并的问题。我可以用代码来帮助你。 – Fionnuala 2011-12-24 16:15:06

+0

@Remou不能定义单词mailmerge以使用Access表或查询作为其源代码吗?这将允许您跳过'DoCmd.TransferText'步骤。 – phoog 2011-12-27 01:55:33

0

嗨,刚刚阅读您的文章,就像Remou l强烈建议您使用Access来输入和存储数据。可以让用户将数据输入电子表格并将数据写回Access DB。不是我会为新手推荐的东西,here is a link to some code on how it could be done

回到第一个问题,创建发票的问题是否考虑过使用报告从Access生成发票?它们可以打印成PDF格式,或导出为各种电子格式。或者是否有使用Word/Excel的具体原因?如果正在使用Word生成发票的路线,请使用Remou建议的模板。有关示例,请参见link,请参阅标题为Access> Word的部分。我用这些例子作为访问Word的基础。一些例子虽然使用了一种称为DAO的技术,但我明白在Windows 7之后的任何操作系统中都不会包含DAO。只是需要注意的一点。

在数据库表中搜索记录这个link has one possible solution。作者还包括一个示例数据库。