Saturday, September 6, 2008

How To Export A Microsoft Access Report As A Pdf

Writen by Chris Le Roy

Microsoft Access is one of the most awesome prototyping tools anyone in software development could ever use, however there are also some really serious downsides as well. I know the software purists will be rolling over in their graves with my comments but after 20 plus years of commercial software development for some of the worlds largest companies I stand by my comments.

Microsoft Access makes it very easy and very cost effective to develop a database application and then roll it out onto the desktop. One of the downsides to this application is that it has always been incredibly difficult to export reports from Microsoft Access to another format. Most Microsoft Access developers that I know who build these systems use third party applications to export reports like Crystal Reports or Microsoft Word. The downside to using Microsoft Word is that you cannot export OLE Objects, using the merge process, you actually have to use VBA Code in Microsoft Word to call the ole object via ADO. Well that is one technique anyway. Now, with Adobe Acrobat Writer Version 7 we now have a new more effective method.

The exporting of OLE Objects has always been a major downside to Microsoft Access and Microsoft Word, but I was recently working with Adobe Acrobat writer Version 7 and I found that this version of the software now installs itself in all major Microsoft Office Applications. This is a fantastic step forward for Microsoft Access developers as this mean you can develop a report exclusively in Microsoft Access and then print the report straight to a PDF Format, rather than first going to Microsoft Word document then converting it into a Adobe Acrobat PDF File. The other key advantage is that if you are using a OLE Object Datatype in a Report, the Adobe PDF file will accept that data type and show a picture if that is what you are looking for. Alot of my clients have wanted to use Microsoft Access to develop reports that include photos and distribute them using Microsoft Word but up until now that has been able to be done easily. (Without using extensive VBA Code) Adobe Acrobat 7 allows us to create a pdf file from a report with OLE Objects and include them as photos etc within the PDF File. This means organisations that want to distribute staff files or product descriptions can create them using Microsoft Access. First of all they create the descriptions as a report and then convert them to PDF Format using Adobe Acrobat Writer.

Adobe has provided two ways to generate your PDF report. First off it installs an Adobe Drop Down Menu into the Microsoft Access main menu bar and from this drop down menu you can then choose to create the report as an ADOBE PDF. Note you must open the report first. You can even use this menu function to create the report and then email it direct to a third party. I think this feature alone is worth the $700AUD you pay for Adobe Acrobat Writer.

The second method is to open your report and then choose the File menu and then Print. The Print dialog box will open and then you choose Adobe Acrobat writer as the Printer and then choose the OK button which will then start Adobe Acrobat and generate your PDF.

With this new method to build a PDF file, you can even use Visual Basic for Access to automate the print process and then email the file using MAPI or CDO. If you are one of those people who like to use macro's over using VBA there is no way that I can find where you can achieve this. If you could find someone who could create a module for you that automates this process you could use a macro then by calling the Function in the module from the macro window. All this of course is dependent on finding the write person to write that function. I have not done this directly, because I have been using a form with VBA Code to automate the creation of the PDF and then email it via CDO.

One of the questions I get asked a lot, especially by people from GLobal Organisations who need to write monthly reports,"Would it be possible to automate this process and have the reports email themselves once a month". The answer to this is, ABSOLUTELY YES! The catch though is you would need to leave Microsoft Access open on a machine and then have a developer to write some code that acts like a timer and then once the computer clock ticks over the Form could simply create the associated reports and email them via MAPI. This seems complex all in all but for a competent VBA programmer, there should not be any problems doing this.

When Microsoft Office 2007 is released in 2007(hopefully), Microsoft has said that they will be including the functionality for producing PDF files from within Microsoft Office 2007, hopefully this functionality will be included for Microsoft Access 2007, which means in the next version, MACRO developers maybe able to export direct to PDF Format and then email direct to clients. If Microsoft does offer this in their new version, this to me would be the major reason I would recommend all companies upgrade to this new version. I wait in hope that this will be the case.

Chris Le Roy is a veteran of the software development having worked in the field for over 20 years and has been developing systems using Visual Basic 6, VB.Net, Microsoft Access and SQL Server, ASP, VB Script and Java Script. He currently runs a specialist Computer Training Centre in Townsville Australia, where people from all over the world, train to learn advanced techniques in programming in these applications. Many of his clients specifically focus on Microsoft Access development training. Chris has written a number of training programs, including Microsoft Access and they are available from his website at http://www.1-on-1.biz

Friday, September 5, 2008

The System Development Life Cycle

Writen by Michael Hart

[1] Identification of problems:

The proposal to develop a the new information system started with a formal request resulting from the identification of existing problems identified in the current systems used in the mail order and wholesales business operations.

Using the scenario information which provides details of the current installation, the areas of the companies operations to be redefined can be categorised into one of three areas., The opportunities for introduction of Information systems and technology are in this case not the objective of the business process re-engineering, but are more a by-product. These are as follows:

Information is an organizational resource which must be managed as carefully as other resources. Costs are associated with information processing.

[2]Feasibility study:

The need for a new system is clearly defined in the problem identification stage of the process. As identified by the clients, many of the company's systems that support the procedures have not been modified for many years. Others are regularly maintained. In order to improve productivity, it has been decided to re-engineer some of the core business processes. When two separate functions are performed by different people, the existence of two separate transaction processing computer systems, operated at two different terminals is not seen as a problem. In the proposed system one operative will be performing one new business function and obviously the one terminal and one computer system should support the new function.

[3] Information gathering on the proposed system:

For each application identified as a candidate for redesign, as identified during the problem definition stage, the process associated with each was investigated in detail to determine the advantages and disadvantages of its operation, its running cost, overall effectiveness, how the problems came about, and the detailed functional and technical system requirements necessary for the current system to achieve its results.

A detailed definition of the systems' functional operations and the flow of information in relation it is passed between organisational functions as follows here in an example:

a} Customer places order:

The customer places an order at your site, using their payment method of choice. When a customer places an order or requests a catalogue, information associated with the transaction is collected. This information required in fulfilling the order or catalogue request includes the customer's name, mailing address, products ordered, shipping addresses, and credit card information. The information is stored on our customer file in a completely secure environment.

b) Sales:

Customer orders received by a sales function are passed to an accounts function for processing and invoicing as well as to stores for despatch of goods.

c) Customer Order Processing:

This includes all the activities related to processing of customer orders and inventory control in an organization, under the current system an order-entry clerk would directly enter any order by way of a keyboard,.

Processing can streamline the order management cycle and improve customer service and satisfaction This function handles: Perform online credit check, maintain accurate records, advise customers of order status and item availability, direct dispatch of goods and issue invoices promptly. Sales Analysis and history features provide a valuable tool for management.

d) Invoicing:

This function is responsible for the production of customer invoices, requesting payment for goods or services delivered. Information generated by this function (about the customers and stock) is stored and is used to produce invoices, usually on pre-printed continuous stationery.

To charge the customer the accounting function requires the necessary sales information, which is supplied by the sales function.

e) Accounting:

Financial accounting is the process of documenting the financial transactions resulting from the activities of an organisation almost all of which generate materials of this nature. This function also acts as a control mechanism over the financial transactions of a business. Accounting records can than be analysed to provide information on the performance of a business over a period.

f) Payroll: Payroll systems are concerned with the production of payslip for employees and maintenance of records required for taxation and other deductions. In a manual system the preparation of payroll figures and the maintenance of payroll records is an intensive task. Although tedious and repetitive, it is a vitally important task.

g) Transaction Processing:
Easy entry of customer orders including copy of previous orders, partial shipping and billing and automatic release of back ordered items for shipping upon receipt

h) Query open orders:
Drill down to shipping information on line items, customer order history, including current, year-to-date, or all, customer, credit files, stock Files:

i) Returns Files:

Returned or damaged merchandise handling, return merchandise authorization credit note generation and automatically generated accounting entries.

j) Payments and receipts:

These may relate to sales orders or purchase orders. Receipts are amounts received from debtors. Payments are made by a business to settle debts with creditors (suppliers to the business).

[4] System analysis:

The current business systems are operating on fundamental principles developed in the foundation of the company. The restructuring of its procedures to enable centralised support operations and planning. Many of these are legacy systems for management of stock, order, returns and account files for keeping track of individual customer accounts, returned goods, and payments; it also needs to have information on stock levels transferred to a single relational database system.

The way in which commercial transactions are conducted will be directly effected be the fundamental change in the shift towards the importance of information exchange that is not intrinsically part of the current computer based applications to facilitate business processes, new systems to capture information on customers

[5] Design of the system:

The potential systems subsystems, functional and technical component parts must be reevaluated to determine how the system is to meet the requirements identified at the analysis phase. Coding (if required) the information system would take place then testing and debugging.

In this instance a prototype system should be run in a simulated operational environment with real staff but test data which would not affect the real operation of the old system still continuing, and would allow the system to be tested safely and adequately on the sample data as well as the people who will have to make it work in future.

[6] Implementation and evaluation:

Once the evaluation stage has been completed, all lessons learned should be incorporated, and a final evaluation made to check this has been carried out.

First installation and operation on real data of the new equipment and software to form the complete system should take place at a single non-mission critical site for further testing until all subsystems work as intended.

Staff training should have been happening throughout, to the extent that staff had been involved in the evaluation stages, but the training of the remainder can start at this stage using this non critical site as the 'school'. The new information system should be run in parallel with the previous operations of the company until the new system is working effectivity, to ensure that the operation can continue to function if the system runs into unforseen complications at this late stage.

Parallel implementation should be must effective in this situation as this is the safest option where both the old and the new systems operate simultaneously and the results of the old system are used as a benchmark; which can be compared against the results of the new system to determine the reliability and accuracy of the new system.

[7] Maintenance:

The performance of the new system should be monitored by the installation team for the first weeks of its operation to establish if there are any unforseen failings in the design of operational procedures and whether it addresses all the original requirements. Before the installation team log off they should put in place the continuing monitoring systems to be operated by the company's staff, and any necessary back - up / technical support service.

Formal updates to keep management and the operations staff involved must be conducted at each stage during the system design, development, test, and implementation phases.

© I am the website administrator of the Wandle industrial museum (http://www.wandle.org). Established in 1983 by local people to ensure that the history of the valley was no longer neglected but enhanced awareness its heritage for the use and benefits of the community.

Thursday, September 4, 2008

Ip Addresses Finding Understanding And Using

Writen by Adam Knife

IP addresses are like real-world addresses, they are identifiers for computers or devices connected to TCP/IP networks. The entire TCP/IP networking protocol is based on the concept of a unique IP address for every object connected to the network. Messages sent via TCP/IP networks are routed to their destination based on the IP address.

IP addresses have a fairly simple format. They are made of four octets (8 bits), separated by periods. An octet can be from 0-255 (the first octet cannot be 0), with the exception of a few 'reserved' patterns (127.0.0.1 should always resolve to the local machine).

Private networks, such as internal LANs can have any IP addresses they want as long as each is unique, however, to connect to the public and regulated Internet, you will need to use a registered IP address (distributed by the various Internet registries: ARIN, RIPE, etc.)

The number of available addresses in an IPv4 set up is slightly over 4,000,000,000, however, around 20,000,000 are reserved for special uses such as private networks. As more and more users and objects (with the VoIP revolution, as well as kitchens and cars becoming more and more connective, this problem will continue to become more severe) we are quickly closing in on the maximum number of IP addresses available. Thus, IPv6 was devised.

IPv6 uses significantly longer addresses: being 128 bits wide, IPv6 addresses can have 2128 different addresses, or according to Wikipedia: "If the earth were made entirely out of 1 cubic millimeter grains of sand, then you could give a unique address to each grain in 300 million planets the size of the earth."

On to actually finding your IP address… there are various ways to do it, and each can be "wrong" for the actual IP address you are looking for. Many people do not connect directly to the Internet, some go through corporate proxies, some go through server provider "compressing" or caching proxies, and many use proxies for other reasons. This makes finding an IP address significantly more difficult than one would expect.

Sites such as WhatIsMyIP.com provide an output of what that server sees as your IP. This works perfectly if you are not going through any external devices, however, if your Internet access is routed through a proxy, there's a good chance that WhatIsMyIP will show the proxy address, rather than your own, personal address.

On Windows 95 and 98 users may run the executable "winipcfg.exe" (to do this, go Start->Run then enter winipcfg.exe), which will show information about their connection. IP addresses consisting primarily of 255s, 0s, 1s, 192s, or 128s are likely masks or internal addresses, not the external address you are interested in finding.

On Windows NT/XP users may run ipconfig.exe, however, this is no longer a graphical program. To do this, you must run a command prompt (Start->Run->cmd.exe) then type ipconfig.exe within the command prompt. This will give you a range of output regarding your current connection information. For more help, run ipconfig.exe /? for a help output.

Depending on the Linux distro (and various other things), Linux users may run `ifconfig -a` at a terminal for networking information.

Adam X. Knife is a professional in the computer data and development field with a strong backing in computer networking. He directs a set of major websites, including exeLibrary.com and others. He has recently bought his son a LG Migo VX1000 and personally carries a Motorola C155. He is also working on developing his own home theater which he plans to document the entire thing, step by step.