AUTHOR'S MAIN SITE   > > > > >  TABLE OF CONTENTS for Open Office database tutorials.
Delicious Bookmark this on Delicious   Recommend to StumbleUpon

Open Office
DDE: A way to communicate data between documents.

You may find that the database being shipped with OpenOffice (ver.2 and higher) delights you as much as it has me. This page tries to help you use it.

Forget anything you may have heard about Adabas, which came with Star Office, the commercial version of Open Office 1. The current Open Office's database, "Base", aka "ooBase", is unrelated. And remember that Open Office, including ooBase, is free! But don't let that fool you. And it's not new. Big organizations, government and civilian, are adopting it as their standard office suite... and saving million$, but still Getting The Job Done.

There's more about ooBase in the main index to this material.

This page is "browser friendly". Make your browser window as wide as you want it. The text will flow nicely for you. It is easier to read in a narrow window. With most browsers, pressing plus, minus or zero while the control key (ctrl) is held down will change the texts size. (Enlarge, reduce, restore to default, respectively.) (This is more fully explained, and there's another tip, at my Power Browsing page.)

Page contents © TK Boyd, Sheepdog Software ®, 3/11.



DDE_______________

DDE, Dynamic Data Exchange, is an elderly technology... but that doesn't mean that it doesn't still have the power to help you Do What Needs To Be Done.

In anthropomorphic terms, DDE installs "a little pixie" in as many of your documents as you wish. The pixie has been told: "In this document, MyDocDest, here we want xxx from that other document, MyDocSource. It could be something as simple as the following....

Suppose you had a "master list" of the telephone numbers of some committee chairmen (and women). And suppose in other documents, you wanted to cite someone's telephone number.

The master list is what I called MyDocSource above. If you just typed the phone number in other documents (multiple MyDocDests), then if someone's telephone number changed, you would need to go through all the documents, by hand, fixing the entry.

If, instead, in each of the MyDocDests, you had used DDE to pull a particular chairman's telephone number from the "master list", then all would be well!

When you have all that working nicely, you say that MyDocSource (the "master list", in our example) is a DDE server, and the other documents, the MyDocDests, the documents fetching material from the server document, are DDE clients.

I'm not going into the details here, but it can work well, with a little care.

Let me also say that in this essay, we are only talking about simple, server- to- client DDE. Perhaps some of the complaints you hear about DDE being "unreliable" stem from the "extra bits" that people tried to bolt on, in particular ways for a client to "poke" data back, "upstream" at servers. (In the oooforum.org archives, there are pleas for help from people trying to use the "poke" feature. I don't know if their issues were resolved.)

This tutorial is, I confess, put together quite quickly. Also, I have not made much use of DDE over the years.

But even so, if you are wanting to try DDE, I hope this will answer some of the questions for you. I hope that no serious errors have crept in... but if you find one, or if when you try what I suggest below, things don't go well, I hope you will take the trouble to complain. It is easy to contact me. And if you alert me to a problem, think of all the others who would have encountered it after you? Do your bit! (If you write, do, please cite the page reference: opof8dde.htm)

Actually, I explored DDE in the world of Open Office because I wanted to use it elsewhere. I wasn't making the progress I'd hoped, so thought I'd try Open Office's DDE, to see if I could learn something there. I haven't (yet!) solved the issues of accessing non-Open Office documents as servers for Open Office DDE clients... but I believe it is possible, and hope someone will write and tell me how someday!

In addition to this work on DDE within Open Office, I have done some work on writing DDE servers and clients using Delphi. So far, though, I fear no tutorial is available. If I understand things, neither side of a conversation, client or server, "cares" about how the other half of the conversation was created. This is one of the strengths of DDE.

My experiments to date, in Open Office DDE, have been restricted to ooCalc. However, in my reading I have frequently come across references to using DDE with other Open Office documents as either the server or as the client. Whereas you typically share the contents of a cell with DDE under ooCalc, there seem to be ways to share a section of an ooCalc worksheet, and ways to share "pieces" (sections, again) of ooWriter documents. I suspect that things can be shared from the excellent ooBase, too.

I believe that DDE is basically a Windows mechanism, but I also believe that none- the- less something similar is built into the various Open Offices for the different platforms it runs on.

And I don't think that the mighty Excel can do what I am going to show you how to do in ooCalc. Ha!

How to create DDE servers and clients in Open Office

Well! Enough introduction?

Not only is it pretty clever that ooCalc can do these things, but it does it "as standard". There are no add-ons to install, nothing to "turn on."

Create a spreadsheet called "DDEserverInRoot" in the root of your C drive. It may be possible to do these things in other folders, but for now do thing The Easy Way.

In cell B9, sheet1, put "Hello" (without the quotes)

Now, leaving the first worksheet running, start a second worksheet, called what you like, saved where you like.

Put....

=DDE("soffice";"C:\DDEserverInRoot.ods";"Sheet1.B9")

...in one of the cells in the new worksheet. Presto! You should see "Hello". (You can leave out the "Sheet1." if you are referring to B9 on a simple worksheet which only uses the first page, and you haven't re-named that first page.)

Leave the new worksheet (the "DDE Client") running. Go back to the first worksheet, the "DDE server". Change the contents of cell B9. Oh poo! The contents of the cell in the other worksheet didn't immediately change... but click anywhere you like on the DDEClient worksheet, and as soon as it acquires focus, the cell fetching data from the DDE Server will be updated. Pretty cool, I'd say!

===

Close the client worksheet.

Make a change in B9 on the server worksheet.

Save and close the server worksheet.

Re-open the client worksheet.

EVEN THOUGH THE OTHER FILE IS CLOSED, as you open the DDEClient worksheet, you are told of "links to other files" and asked if you want them updated.... and if you say "yes", the client worksheet fetches the "new" value from B9, inside the closed file! Now THAT's COOL... and a bit more than what I understand DDE to entail, strictly speaking. But whatever you call it, it could be useful!

===

Most of this drawn from http://wiki.services.openoffice.org/wiki/Documentation/How_Tos/Calc:_DDE_function... which includes something I haven't talked about here. In circumstances explained in the openoffice.org document, the menu command "Edit| Links" lists DDE links, and allows them to be modified, manually updated or broken. What all that means, exactly, I'm not entirely sure... but it is something that anyone going further with DDE probably needs to sort out!



So long, farewell...

I'm stopping here for now. As I said, this is a more hastily written tutorial than most of what I have on my sites... but I hope that even so, parts of it were helpful to you.



Editorial Philosophy

This material is "browser-friendly"... in particular, you can (and I recommend that you do!) make your browser window narrow, so that you don't have to try to read long lines.

I dislike 'fancy' websites with more concern for a flashy appearance than for good content. For a pretty picture, I can go to an art gallery. Of course, an attractive site WITH content deserves praise... as long as that pretty face doesn't cost download time. In any case....

I am trying to present this material in a format which makes it easy for you to USE it. See the main index to this material for more information about the way it is posted.


Ad from page's editor: Yes.. I do enjoy compiling these things for you... I hope they are helpful. However.. this doesn't pay my bills!!! If you find this stuff useful, (and you run an MS-DOS or Windows PC) please visit my freeware and shareware page, download something, and circulate it for me? Links on your page to this page would also be appreciated!

PLEASE >>> Click here to visit editor's Sheepdog Software (tm) freeware, shareware pages <<< PLEASE


If you liked this ooBase tutorial, see the main index for information other help from the same author.

Editor's email address. Suggestions welcomed!     - - -    Want a site hosted, or email? I like 1&1's services.




Valid HTML 4.01 Transitional Page tested for compliance with INDUSTRY (not MS-only) standards, using the free, publicly accessible validator at validator.w3.org


One last bit of advice: Be sure you know all you need to about spyware.

. . . . . P a g e . . . E n d s . . . . .