Home PocketPC Software Windows Software Demo/Beta Software

Shopping List application version 2.2

General Info
Basic usage info
Technical stuff
Future Plans
Contact info & Closing
Database Structure
Revision History



The latest version can be obtained on my here.


That disclaimer out of the way I want to thank you for using my shopping list application for the PocketPC. If you have any questions or comments feel free to contact me at siggi@gooeynet.net I would love to hear from you. If you have any problems please let me know and I'll do my best to help you out.

General Info:

This application will track your shopping list, allow you to define stores you shop at and associate each item with one or more stores. You can then filter your list based on store, or show a complete list. The application will remember all items you've ever entered; they can be viewed on the All Item tab of the application. Stores are defined on the Store tab. The List tab will show you the items currently marked as needed.

Basic usage info:

This application has three tabs. One titled List is where your currently needed items are. The next one is titled All Items, which lists all items ever added to the list. The third tab is titled Stores, which lists all defined stores. Before you can associate an item with a store you need to have defined both the item and the store. What I recommend is using the Stores tab to define some of the stores you wish to be able to associate items with. To create a new item in any tab simply press the new button in the lower left hand corner of the screen, type the name of the item or store and press save followed by Close
To add items to the list tab either find the item on the All Items tab (search function is available to help with that) and check the check box or add a new item from either the List tab or the All Items Tab. To use the search function simply type a word into the search field and press Go, and the grid will be reloaded with items that contain the word you entered. If you are viewing the List tab filtered to a particular store when you add a new item, that item will automatically be marked as needed. The store thatís selected will be pre-selected for you to associate with the item. You can also associate any item with any store, and as many stores as you choose. To associate an item with a store just select a store from the Associate with Store drop down and click Associate button. If you want to un-associate a store, select it and the Associate button will change to Un-Associate. Once a store has been select you can enter price and/or isle information.
To edit an item or store name simply click on the Edit button next to the item or the store name and you can edit everything about that item. To delete an item or a store, first edit it then press the Delete button.
This application supports multiple databases, although only one can be opened at any given time. Upon exit, the application will put the name of the database in use and any store filtering selection into a .ini file that is used upon startup. If the database last used cannot be found it will offer to create a new one, or search or browse for existing databases. Also if the .ini file cannot be read, you will be prompted for a database to use and filtering defaults set to none.

Technical stuff:

The structure of the underlying database is fairly simple. There are three tables: Items, Stores and ItemStores. The Items and Stores tables I think are self-explanatory, the ItemStores link the two together via many-to-many relationship. For those that are interested I've included the definition of the database in the form of SQL statements that will recreate the database if executed. The application itself was written in Microsoft eMbedded Visual Basic for PocketPC. I have only tested this on my Jornada 548, other PocketPC's should work though as I've included cabs for all the different processors. This may not work on older platforms, as they may not support all the features used. This has only been tested on PocketPC 2000, and PocketPC 2003. Thus you should have no problem running it under PocketPC 2002.

Future Plans:

Currently I have no plans to add any new features, although if you have ideas for additional functionality send them over and I might decide to implement them. If you have UI improvements ideas I'd love to hear them, I might even implement them. If you find a bug please send me details on how to reproduce the bug and I'll see what I can do about it. However if I can't reproduce the problem you are having there is not much I can do about it. The more detailed your report is the more chance there is I can repro it.


There is a sample database included in the distribution that is not copied to your device by default. I didn't want to automatically put stuff on your device that aren't needed, as I know space on these devices is limited. This sample file is just a simple Microsoft Access 2000 database that you can edit. However you should limit your editing to the Stores and Item tables data, any other modification could have unforeseen effects. It is best if you just use the form interface provided. You can edit it to include the items and stores you'd like. Then you would just copy it to your device and then simply use the open database function of the program to use it.

Contact info & Closing:

Again if you have any questions and/or comments feel free drop me email at siggi@gooeynet.net. I'd love to know what you think about this application.
Siggi Bjarnason

Database Structure:

CREATE TABLE [Items] ([ItemID] INT, [Description] TEXT, [Needed] BIT, [Qty] SMALLINT, [Coupon] BIT)
CREATE TABLE [ItemStores] ([StoreID] INT, [ItemID] INT, [pkID] INT, [Price] FLOAT, [Aisle] INT)
CREATE TABLE [Stores] ([StoreID] INT, [StoreName] TEXT, [Comment] TEXT)
CREATE INDEX [PrimaryKey] ON [ItemIDs] ([ItemID])
CREATE INDEX [PrimaryKey] ON [ItemStores] ([pkID])
CREATE INDEX [PrimaryKey] ON [Items] ([ItemID])
CREATE INDEX [PrimaryKey] ON [StoreIDs] ([StoreID])
CREATE INDEX [PrimaryKey] ON [Stores] ([StoreID])

Revision History:

Version 1.0:Initial Release
Version 1.1:Bug fixes
Version 1.2:Minor UI tweaks
Version 1.3:UI Enhancements
Version 1.4:Added capability to track file usage
Version 1.45:UI tweaks. Put in cleanup code that gets executed when terminated by OS.
Version 2.0:Revamped UI and added capability to track item price per store.
Version 2.1:Added capability to track item location in a store via Aisle field.
Version 2.2:Improved performance of Search feature, added duplication check and added a feature to total up price entered per store.