When printing any document the normalisation issue comes up. Personally I use a TMemo and write two lines to it. The first line containing the field names - enclosed in " separated by ,. And the second line containing the corresponding field values - once again enclosed in " - all strings - separated by ,. Then I Memo1.SaveToFile () with a extension .csv. This technique works great for running ms word mailmerge. The fields are all those that appear once on every invoice.
For detail lines that are repeated - you need to automate word using tables. This is off topic. I can help you with this if you email me. Sincerely, Arnold Software Consultant. On 23 Sep 2014 22:48, "[email protected] [firebird-support]" < [email protected]> wrote: > > > Hello, I've posted this question in the "general" but the moderator told > me it's a "support" question. So here I go again! > > It's a design / normalization question: How to save Invoice detail > correctly? > > Each line on the invoice detail has its FK pointing to the Article's ID, > but sometimes the user needs to modify or add some text to the article > description just for that invoice. Or sometimes he/she needs to insert a > "free" line (pointing to no article at all) just filling the description. > > So my "big" doubt is: Is this a case for "denormalization" ? Should I add > a "description" field to the invoice detail (and 90% of the time having > exactly the same description of the article's table!!) > > Or should I have the "description" field in a separate table. In this case > I don't imagine how to update that table, as the user enters the data in a > DBGrid (I work with Delphi / IBDac) > > I hope I'm clear with my question! > > Thanks! > > > >
