( First three groups of tutorials grouped to help you do first things first )
( Other tutorials, for when you've got started )
( Et cetera )
Just before we continue to the main part of this page....
... to all the people who have deemed these pages worthy of recommendation to others. I maintain several tutorials on the web, and this one gets the most editing because this one gets the most traffic. It is very gratifying to find the site recommended not just on sites written in English, but also on German, Russian, Spanish and Greek sites! If you would like other way$ of saying thank you, I have a page listing some charities I consider worthy.
My pages are browser friendly. Make your browser window as wide as you want it. The text will flow nicely. It is easier to read in a narrow window... and the rest of your screen will be free for your ooBase exercises! Hold down the control key ("ctrl") and press the plus sign, the minus sign, or zero to change the size of the text in Firefox and other good browsers. This and another good hint explained on my Power Browsing page!
Page contents © TK Boyd, Sheepdog Software ®, 2/06-6/10.
Take a moment to visit my http://Flat-Earth-Academy.com? It aims to help kids (or adults who missed out in school!) interested in science know what the questions are, to attain a "basic framework" of knowledge, on which they can build a good understanding. No "sugar", not a log of flashy graphics or page layout... just some concentrated Good For You stuff. There must be SOME people left who aren't afraid to "work" their way to the expansion of their knowledge? Also mention it in any relevant forum you visit, please? (Opens in new tab or window, so you can get back here just by closing it.))
(Opens in new tab or window)
Two tables; one form: Use a form... one form... to look at records in two tables, and edit, add, delete records in the tables. A basic skill. You should not work directly with tables.
Moving data between Open Office Applications: Easier than you might fear! This is one of the peripheral topics.
Cascading selectors... with datasheets: A form with a datasheet listing first names. You select one. When you have done that, a second datasheet on the form displays everyone with that first name in your "People" table.
Cascading selectors: Second Level. Using a ListBox, and generally being more clever. Does the job first without a macro, and WILL improve on that at the cost of a LITTLE macro.
I won't promise that nothing involving a macro will appear anywhere else, but I will try to keep most things involving macros here.
I sweated blood to become familiar with doing macros, and overcoming some (old) limitations "at the (previous) frontier" of ooBase. About two weeks after I'd finished, I became aware of a new version of ooBase. Limited tests suggest that it overcomes the limitations ! ! This is an "Hurrah!", not a moan. (Well, a bit of a moan.... for the fact that I timed my adventure badly.)
With ooBase 3.1 you can store macros within a given database's .odb file. You can store macros in the database they are for. You will also be able to have images in reports. (Give upgrading serious consideration, if you are still using something from before 3.1. I've done several OpenOffice upgrades over the years, under Windows, without regrets.. but take the usual precautions.) (For images in reports, you also need the Oracle Report Builder, previously known as the Sun Report Builder, or SRB. I did my tests with version 1.1. So far I can get a form to display images held in the database and images which only have the path to them stored in the database. So far, I can only get reports to print out images of the former sort. Another Good Thing in OO3.1 + SRB 1.1 is that a "Keep Ratio" option has been introduced for displaying images.
= = = = =
OOP and Events: A an important tutorial covering fundamental elements and principles involved in any macro work with Open Office module. Some of the material here will help you understand practices that I follow when working with macros which are not "laid down" by the general requirements of Open Office. Not an easy read, but I commend it to you.
First steps with Macros: An important tutorial if you want to work with macros in any Open Office module, or understand material in any of my other macros tutorials. A simple "Hello World" button is created to illustrate sundry points. Many things explained in words of one syllable. A beginner's tutorial, or a review for intermediate macro programmers.
Miscellaneous thoughts on macro use: Not one of my better tutorials, but if you want to master using macros, working your way through this will give you additional knowledge. Among other things, in it we look at working with a checkbox on an ooWriter document. Again: Explained in words of one syllable.
Running some buttons with ooBasic: In this tutorial, you are given less help, you have to have some grasp of what you are doing.... which you can attain by working through the tutorials above, if need be.
User defined functions: Creating new "words" for Open Office work, especially ooCalc. In this tutorial, we create a function which works out the "with tax" price of something when we know the "before tax" price and tax rate. Once we've done the things explained in the tutorial, we are able to merely put things like =tkbWithTax(200,3) in a worksheet, and get 206.
Working with files: A macro which will delete one file, and copy another. Note: This "work" is on closed documents sitting on your disc, not with "stuff" inside a file. (One of the files can be open at the time the macro is called, but we only copy the current disc copy of that. Even unsaved changes to the file are not copied.)
Document properties: This looks at... without finding all of the answers... examining the properties of the document your macro is stored in. Along the way, we look at some of the documentation available to Open Office programmers.. the API and ooBase.
Accessing functions and procedures inside external DLLs. A Windows .DLL is provided for your use while taking your first steps. An example is developed using an ooCalc worksheet, but I believe the principles are general. A function in the DLL is called; it returns a string, which we then display in a cell of the worksheet. A subroutine in the DLL puts "Hello World" on the screen in a message box, when something happens in the ooCalc worksheet to invoke the subroutine.
Exporting CSV with the click of a button: This is not just for people who want to export CSV. If you want to use macros with ooBase, read this essay. It takes you through the basic skills, using exporting a file to CSV as an example. It starts almost from scratch, but if you having used macros in Open Office before, or are a beginner, you would do well to review at least the first two tutorials in this, the "Macros" section. They talk about "simple" macros in Open Office. Everything they entail will be needed for working with macros in ooBase.... and more!
Where are the macros? This short essay discusses where macros are stored, and has details about a related ooBase issue.
Moving data from spreadsheet to database: A "bad" tutorial- doesn't explain, you won't understand... but it may give you a "click this" answer, if that's all you want. Paves the way for....
Simple mailing list- creating mailing labels: Another "bad" tutorial- doesn't explain, you won't understand... but it may give you a "click this" answer, if that's all you want.
How to clone an Open Office database: Cloning your data tables, forms, queries, reports, and registering the clone.
Sharing Data: How to give copies of a database to others; how to use on a different computer.
Looking up things in the manual: There's a manual? Where to get it!
Concatenate fields: Turn strings from two or more fields into one string. Make "Jane" and "Smith" - > "Jane Smith", for instance. Or even "Smith, Jane"!
Radio buttons for forms: Radio buttons are a good way to help users enter only valid data. Also gives an example of stepwise development... a tool to get you where you want to be sooner rather than later. Less haste, more speed.
Using DDE to keep documents in step. DDE is a mature technology for sharing data between documents, and Open Office has it "as standard".
Draw maps with countries colored in according to data about them. There's a really easy way to get really impressive results!
Export data to CSV Files: The way to do it for any Open Office application. (CSV files explained elsewhere.)
Fix Linux Form Wizard problems: There seems to have been an issue with the Forms Wizard with the ooBase installed by Ubuntu at one point. Problem may still exist. Easily fixed, but the "fix" may bring other issues... I'm not Ubuntu expert enough to know about that... but I haven't seen other problems in limited tests.
Make an Auto-incrementing field: Using AutoValue to create fields which are filled in for you by the computer. Useful for primary keys, serial numbers, etc.
Change Auto-increment Start: Do you have a field with AutoValue set true? Want to change the number that will be used for the next record? This "How to" tells you how... and it is easy to do!
The following pages are less "keystroke- by- keystroke", less in the "how- to" vein. They are more like lectures. They are probably not as easy or as fun to read, but do give them a try? The are listed from "easy/ important" to "less easy / less critical" topics. While the one about data types isn't particularly easy, it is particularly important! Of course, I can't be sure which are important to your needs. I hope they are all useful!
= = = = =
Data "types": Critical to table design.
CSV data files: A short, general explanation of "Comma Separated Values" files, aka "Comma Delimited" files... useful for moving data between applications. The specifics of using them in Open Office (generally) are explained elsewhere... specifics of importing data, of exporting it, and of moving data between Open Office applications.
Run SQL command directly? Analyze SQL?: ooBase is (for a database!) novice-friendly. However, there comes a time when its "help" gets in the way. Then you run your SQL directly. Who cares. When. How to do it.
Apache / MySQL / PHP: Ready for a challenge? Want to use ooBase with a free multi-user database? (ooBase on its own isn't multi-user.) Want to access databases across a LAN or across the web, again using ooBase at the client machine? Want users with varied and narrowly defined privileges? This essay tries to help.... but it isn't a quick read! (Along the way, it also talks about the fun you could have creating dynamic web pages by means of PHP.)
Examples of databases filling specific needs. Don't look at the subjects of these case studies and say "Telephone numbers list? I don't need to do a telephone list." They all illustrate general points, and all may give you "That's a good idea!" thoughts.
If it felicitously happens that you do need to set up a telephone numbers list, well and good, However, I attempted to achieve a more general usefulness as I wrote the case studies. In each, you read about decisions I took in solving a particular problem. You read about tools that I've used. You should take away ideas which are useful in many databases... for instance the database you are trying to create today!
= = = = =
Family History: A database of ancestors: A work in progress, but significant elements of a database to "pour" what you know... and how you know it... about people from the past. Marriages, children, important dates, etc.
Linked Lists, DNA, Family History: This essay is a little different from most in the site. It talks (at length!) about a problem, and makes some progress with analyzing how to solve it. But a full, Open Office Base solution is not yet available. I hope someone can send a solution! Until then, the essay remains a valuable exercise in looking at data, and how it might be coded. The data would fill a matrix but sparsely. The data might best be stored in a linked list. Can such a structure be held in an RDBMS? The whole thing arose along the way to designing a database for matching DNA for the purposes of family history research.
Department of Motor Vehicles- in Paradise: This database is a foundation for other tutorials. The database can be downloaded. It has four tables, with relationships established. It is the basis of a data management system for a hypothetical Caribbean island's traffic police.
Form with two sub-forms: A modest little thing. In the context of a small database with information on plants as an example, a form with two sub-forms is created.
Annual giving to charity: A database for keeping track of donations to worthy causes. No "rocket science"; a fairly basic system.
Stock Market Investing: Notes on a database which tracks essential data for a stock market investor. Also, I hope, of interest to novice private investors, for general points on records you need to keep.
A "real world" example: Description of some rather "messy" work done to satisfy some real world needs.
Project Participation: A database tracking the people working on a group of projects. Useful as an illustration of having "lines" of info for multiple entities, and other things. You can download the database, if you wish. Not "complete" yet... but the description of the tables, useful in its own right, is.
Some "Illustrations" to support many of the other pages on this website. They are readable on their own, and linked to frequently, especially in introductory tutorials.
(So, Hagop Merjian, I do remember something from English classes 40 years ago. For those of you unfamiliar with Henry Reed's "Naming of Parts", it is worth a visit. Written about a soldier's experience in WWII, although I have to admit I mis-remembered it as being from Wilfred Owen and WWI. Probably could apply to almost any soldier's life with just a few changes.)
But you, gentle reader, are probably not a soldier, so I will not here digress into piling swivels, which in your case you have not got, or anything else that you have not got.
v v v v v v - - - . . . Parts topics . . . - - - v v v v v v
ooBase main project manager window: Discusses the main window from which you normally manage any ooBase project. Some users of ooBase databases set up by others may be more familiar with a Switchboard front end, but most users will normally work through the window described here, which I usually refer to as "the ooBase main project manager window".
"Design mode on/off" button and Form Navigator window: Two important tools for the designer. Don't confuse the form navigator with the more general navigator which you can launch with your F5 key.
"Form Controls" and "More Controls" toolbars: How to access to them.
Firstly....
The database shipped with OpenOffice, version 2 (and higher) does typical database tasks well, and is as easy to use as anything of comparable power. It accepts SQL. See the articles above for help mastering ooBase.
Forget any experiences with Adabas, which came with the commercial version of OpenOffice 1. The OpenOffice version 2 database, ooBase, is unrelated, and has been carried forward into version 3.
Remember: the whole OpenOffice suite, being open source, is free, including ooBase. (You will also see ooBase referred to as "Base".)
The OpenOffice suite is available not only for Windows, but also for Macs and Linux. I have been using it on Ubuntu. In fact I am doing more and more on Ubuntu... what a wonderful feeling it is to be getting away from being in the thrall of Microsoft. If the day comes when I decide to turn off all of my Windows boxes, there will be things I miss, but for wordprocessing, spreadsheets, databases (and some other apps), when I turn to my Linux box, I won't even know it isn't Windows... I'll still be using the applications I was using on Windows. (Firefox has my browsing activities in the same happy circumstances.)
Speaking of the wonderful world of open source programs, have you tried the open software and open hardware Arduino microcontroller? A lot of fun, if you like tinkering with electronics. And if you are only into software, there's the multi-platform Pascal called FPC, which I promote at the same page as my Arduino material. FPC comes in versions for Window, Linux, and Macs.
With OpenOffice 2, you get a free, capable, useful database program. It derives from an existing product, HSQL. To quote from www.hsqldb.org:
"Our group was formed in 2001.... We have.... released six new versions of the database (RDMS) since April 2001... The project enjoys a top 50 ranking among all SourceForge projects (100,000) with over 1,000,000 downloads.
"(HSQL is) completely free to use and distribute under our licenses, (which are) based on the standard BSD license."
And (adapted) from (an earlier version of) what used to be at.......http://www.openoffice.org/product/base.html.....(that page may be slow to load.)
"With BASE, you can....
"Using BASE, not only can you browse your data, but also...
"BASE includes a full version of the HSQL database engine, storing data in XML files. It can also access dBASE files natively for simple database work.
"For more advanced requirements, BASE supports many popular databases database natively (Adabas D, ADO, Microsoft Access, MySQL), or any database through industry-standard ODBC and JDBC drivers. It also supports any LDAP compliant address book, as well as common formats such as Microsoft Outlook, Microsoft Windows, and Mozilla."
(N.B.: In the case of at least Access, that support includes access to tables within the database, but excludes any capability to run Access macros, forms, reports. But that's a glass more than half full, if you think about it.
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. There are two aspects to that: The way it is split up, and the way it is posted.
These tutorials derive from an older project explaining Delphi programming. The site you are reading now was started early in 2006, when I was new to Open Office's ooBase, version 2. As the site grew, I split it up into 'bite-sized' pieces. I indicate which pieces are basic, of general importance, and which address more specific issues which also happen to be complex, or depend on more fundamental issues.
I.e. I try to help you walk before inviting you to run.
OpenOffice users have an HTML capable wordprocessor, so I make use of HTML in these documents. Is this a problem?
You should be able to read the tutorials on-line without difficulty. However, you should ALSO find it easy to capture them for off-line use. You should be able to save the pages from a browser, and re-load them from your hard disc later. Here's how to do that...
Create a folder for the tutorials so that you can retain my filenames with no risk of name clashes with files already on your system.
On-line, use your browser to view the tutorial you want to capture.
Use the browser's File | Save As... to save the web-page to your disc. At this point you can log off, or visit other pages, perhaps saving them, too.
When you have logged off, just use your browser's File | Load command to view the material.
Filenames/ folders: I've tried to be organized: All of the tutorials about OpenOffice's "Base" are in the folder "FDB", for "Free Data Base". Many filenames begin with "fdb" and a digit. Even though I think "OO" ("oh, oh") is too easily confused with "zero, zero".. and no browser will accept one where the other is expected, some tutorials about broader issues have filenames beginning "opof", from "OPenOFfice.
Please remember the material is copyright. (TK Boyd, 2006 and later) The procedures above are suggested only for convenient personal use of the material, however, also....
Feel free to use this information in computer courses, etc, but a credit of the source, quoting the URL, would be appreciated. If you simply copy the pages to other web pages you will do your readers a disservice: Your copies won't stay current. Far better to link to these pages, and then your readers see up-to-date versions. For those who care- thank you- I have posted a page with more information on what copyright waivers I extend, and suggestions for those who wish to put this material on CDs, etc. (There is at least one prison using the material for inmate education. I do understand that situations exist where an internet connection isn't possible!)
Search the ooBase tutorials. Results will open in new page.
Click here to visit editor's Sheepdog Software (tm) freeware, shareware pages.
Page tested for compliance with INDUSTRY (not MS-only) standards, using the free, publicly accessible validator at validator.w3.org
. . . . . . . P a g e . . . E n d s . . . . .