<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1051282916754356279</id><updated>2012-02-16T17:17:10.058-08:00</updated><title type='text'>New information Global</title><subtitle type='html'>all information to you</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://new-informationglobal.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1051282916754356279/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://new-informationglobal.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>New Information Global</name><uri>http://www.blogger.com/profile/06096857122771235598</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1051282916754356279.post-7859499987275641634</id><published>2009-02-16T18:36:00.000-08:00</published><updated>2009-02-16T18:47:40.965-08:00</updated><title type='text'>India kicks off South Asia`s biggest air show</title><content type='html'>&lt;span style="font-family: verdana;font-size:100%;" &gt;Bangalore (ANTARA News) - South Asia's biggest airshow opened here Wednesday with firms from 25 countries showcasing their latest hardware in a chase for multi-billion dollar contracts with the Indian military.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Despite the global economic downturn, nearly 600 armament and aerospace companies -- half of them from overseas -- are taking part in this year's Aero India event in Bangalore.&lt;br /&gt;&lt;br /&gt;Regional rival Pakistan has not been invited to the five-day event but China is participating for the first time.&lt;br /&gt;&lt;br /&gt;"We don't invite Pakistan to our air shows," India's Defence Production Secretary Pradeep Kumar was quoted by AFP as saying. Tensions between the nuclear-armed neighbours have soared in the wake of last November's attacks in Mumbai which India blames on a Pakistan-based Islamist group.&lt;br /&gt;&lt;br /&gt;Even with India's economy showing signs of a deepening slowdown, its million-plus military says it cannot cut defence spending and plans to hand out contracts worth 30 billion dollars in the next three to four years.&lt;br /&gt;&lt;br /&gt;India has already imported military hardware worth 28 billion dollars since 2000.&lt;br /&gt;&lt;br /&gt;Among the prime pickings is a 12-billion dollar deal for 126 fighter jets. Six major aeronautical firms competing for the contract are participating in the air show.&lt;br /&gt;&lt;br /&gt;Leading the pack of 303 international companies at the event are Germany and France with 31 firms each. Twenty-six British, 24 Russian and 22 US firms are also present, along with 289 Indian defence companies.&lt;br /&gt;&lt;br /&gt;Britain's ambassador to New Delhi, Richard Stagg, said India needed modern weaponry.&lt;br /&gt;&lt;br /&gt;"Against the backdrop of a very turbulent neighbourhood and very difficult domestic security issues, India is keen to ensure that its armed forces are promptly equipped with the best equipment," he said in Bangalore.&lt;br /&gt;&lt;br /&gt;India says it is "fast-tracking" all arm procurement negotiations amid the heightened tensions with Pakistan.&lt;br /&gt;&lt;br /&gt;"For the first time, there will be business-to-business meetings on a large scale," secretary Kumar said, adding that 500 such discussions had already been scheduled.&lt;br /&gt;&lt;br /&gt;Besides the 126 fighter jets, transport aircraft and airborne early warning systems, the Indian military also plans to buy 700 helicopters worth 3.5 billion dollars and an array of air defence systems.&lt;br /&gt;&lt;br /&gt;Israel, which replaced France in 2007 as India's second-largest arms supplier after Russia, has sent its top 10 defence firms, including Rafael, which last September grabbed a 260-million-dollar missile contract.&lt;br /&gt;&lt;br /&gt;India also hopes to find buyers for a supersonic cruise missile it has jointly built with Russia.&lt;br /&gt;&lt;br /&gt;Security has been especially tight this year around the Yelahanka Air Force Station venue.&lt;br /&gt;&lt;br /&gt;"The effort is to have a fool-proof system," Kumar said.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1051282916754356279-7859499987275641634?l=new-informationglobal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://new-informationglobal.blogspot.com/feeds/7859499987275641634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://new-informationglobal.blogspot.com/2009/02/india-kicks-off-south-asias-biggest-air.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1051282916754356279/posts/default/7859499987275641634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1051282916754356279/posts/default/7859499987275641634'/><link rel='alternate' type='text/html' href='http://new-informationglobal.blogspot.com/2009/02/india-kicks-off-south-asias-biggest-air.html' title='India kicks off South Asia`s biggest air show'/><author><name>New Information Global</name><uri>http://www.blogger.com/profile/06096857122771235598</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1051282916754356279.post-6294121506139351378</id><published>2009-02-15T06:54:00.001-08:00</published><updated>2009-02-15T06:54:50.153-08:00</updated><title type='text'>Health Precautions</title><content type='html'>General Cautions&lt;br /&gt;Recent medical and dental exams should ensure that the traveler is in good health. Carry appropriate health and accident insurance documents and copies of any important medical records. Bring an adequate supply of all prescription and other medications as well as any necessary personal hygiene items, including a spare pair of eyeglasses or contact lenses if necessary.&lt;br /&gt;Drink only bottled beverages (including water) or beverages made with boiled water. Do not use ice cubes or eat raw seafood, rare meat or dairy products. Eat well-cooked foods while they are still hot and fruits that can be peeled without contamination. Avoid roadside stands and street vendors.&lt;br /&gt;Swim only in well-maintained, chlorinated pools or ocean water known to be free from pollution; avoid freshwater lakes, streams and rivers. Wear clothing which reduces exposed skin and apply repellents containing DEET to remaining areas.&lt;br /&gt;Sleep in well-screened accommodations. Carry anti-diarrhea medication. Reduce problems related to sun exposure by using sunglasses, wide-brimmed hats, sunscreen lotions and lip protection.&lt;br /&gt;&lt;br /&gt;Specific Concerns&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;AIDS occurs. Blood supply may not be adequately screened and/or single-use, disposable needles and syringes may be unavailable. When possible, travelers should defer medical treatment until reaching a facility where safety can be assured.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The large number of tropical plants and pollution levels inurban areas may cause children and adults with asthma problems severe discomfort.&lt;br /&gt;&lt;br /&gt;Immunizations&lt;br /&gt;These recommendations are not absolute and should not be construed to apply to all travelers. A final decision regarding immunizations will be based on the traveler's medical history, proposed itinerary, duration of stay and purpose for traveling.&lt;br /&gt;&lt;br /&gt;Hepatitis A&lt;br /&gt;Consider active immunization with hepatitis A vaccine or passive immunization with immune globulin (IG) for all susceptible travelers. Especially consider choosing active immunization for persons planning to reside for a long period or for persons who take frequent short-term trips to risk areas. The importance of protection against hepatitis A increases as length of stay increases. It is particularly important for persons who will be living in or visiting rural areas, eating or drinking in settings of poor or uncertain sanitation, or who will have close contact with local persons (especially young children) in settings with poor sanitary conditions.&lt;br /&gt;&lt;br /&gt;Hepatitis B&lt;br /&gt;Vaccination is advised for health care workers, persons anticipating direct contact with blood from or sexual contact with inhabitants, and persons planning extended stays of 6 months or greater (especially those who anticipate using local health care facilities, staying in rural areas, or having intimate contact with the local population).&lt;br /&gt;&lt;br /&gt;Japanese encephalitis&lt;br /&gt;Consider vaccination if staying a month or more on Bali, Irian Jaya, Java, Kalimantan, Lombok, Mollucas, Nusa Tenggara or Sulawesi, especially if travel includes rural areas. Also consider if staying less than 30 days and at high risk (in case of epidemic outbreak or extensive outdoor&lt;br /&gt;exposure in rural areas). While transmission likely occurs all year and varies by island, peak risk is generally from November to March, although it is June to July in some years. Human cases have historically been reported only on Bali and Java.&lt;br /&gt;one-time booster dose is recommended for travelers who have previously completed a standard course of polio immunization. Refer to CDC guidelines for vaccinating unimmunized or incompletely immunized persons. Pregnancy is a relative contraindication to vaccination; however, if protection is needed, either IPV or OPV may be used, depending on preference and time available.&lt;br /&gt;&lt;br /&gt;Rabies&lt;br /&gt;Preexposure vaccination should be considered for travel to Java, Kalimantan, Sumatra or Sulawesi for persons staying longer than 30 days who are expected to be at risk to bites from domestic and/or wild animals (particularly dogs), or for persons engaged in high risk activities such as spelunking or animal handling. Need for vaccination is more important if potential exposure is in rural areas and if adequate postexposure care is not readily available.&lt;br /&gt;&lt;br /&gt;Typhoid&lt;br /&gt;Vaccination should be considered for persons staying longer than 3 weeks, adventurous eaters, and those who will venture off the usual tourist routes into small cities, villages and rural areas. Importance of vaccination increases as access to reasonable medical care becomes limited.&lt;br /&gt;Contraindications depend on vaccine type.&lt;br /&gt;All routine vaccines (such as DTP or Td, Hib, MMR, polio, varicella, influenza and pneumococcal) should be kept up-to-date as a matter of good health practice unrelated to travel.&lt;br /&gt;&lt;br /&gt;Disease Risk Summary&lt;br /&gt;The general level of community sanitation and public health awareness is low throughout Indonesia.&lt;br /&gt;Insect-borne illness: considered an important cause of disease in this area.&lt;br /&gt;Encephalitis (Japanese type) - occurs (risk may extend to resort areas, including those on Bali)&lt;br /&gt;Filariasis - prevalent in rural areas&lt;br /&gt;Malaria - common&lt;br /&gt;Typhus (mite-borne) - occurs in deforested areas&lt;br /&gt;Food-borne and water-borne illness: these diseases are common.&lt;br /&gt;Cholera - occurs&lt;br /&gt;Dysentery (amoebic and bacillary) - occurs&lt;br /&gt;Fasciolopsiasis (giant intestinal fluke) - occurs&lt;br /&gt;Hepatitis - occurs&lt;br /&gt;Melioidosis - occurs&lt;br /&gt;Schistosomiasis - occurs on the island of Sulawesi&lt;br /&gt;&lt;br /&gt;Other hazards:&lt;br /&gt;Diseases such as measles and diphtheria are commonly reported, and cases of polio still occur regularly.&lt;br /&gt;Influenza risk extends throughout the year.&lt;br /&gt;Rabies - occurs on Java, Kalimantan, Sumatra and Sulawesi&lt;br /&gt;Trachoma - occurs&lt;br /&gt;&lt;br /&gt;Yellow fever&lt;br /&gt;A yellow fever vaccination certificate is required from&lt;br /&gt;travelers coming from infected areas. A certificate is also required from&lt;br /&gt;travelers arriving from countries in the endemic zones.&lt;br /&gt;&lt;br /&gt;Malaria Information&lt;br /&gt;&lt;br /&gt;Risk areas&lt;br /&gt;Risk exists throughout the year in all areas of Irian Jaya and in rural areas of other islands (exceptions are metropolitan areas of Jakarta, Jogakarta, Surabaya, Medan, and Denpasar plus contiguous tourist beach areas of Bali). Chloroquine-resistant falciparum is confirmed, and chloroquine-resistant .. vivax is reported. Fansidar resistance is reported in several areas and resistance to mefloquine may occur. WHO reports that P. falciparum is responsible for 49% of cases. Java and Bali report a total of 16,000 cases annually, with an added 59,000 reported from the Outer Islands.&lt;br /&gt;&lt;br /&gt;Protective measures&lt;br /&gt;advises that risk is limited to areas not usually visited by travelers and recommends that only travelers likely to have evening or nighttime exposure in risk areas undertake chemoprophylaxis with mefloquine in addition to personal protective measures. Persons with epilepsy, psychiatric disorders or known hypersensitivity to mefloquine should not use this drug and should consider alternate means of protection. Consult your physician regarding additional precautions and potential side effects.&lt;br /&gt;&lt;br /&gt;Current Health Concerns&lt;br /&gt;According to postings on ProMED, 8 people are dead and 46 others have been hospitalized in the eastern province of Nusa Tangara due to rabies. Initial investigation by health officials seemed to indicate that the disease was not rabies, but further tests proved that dogs carrying rabies were responsible for the deaths. An order has been issued to capture and destroy approximately 170,000 stray dogs in Nusa Tangara.&lt;br /&gt;&lt;br /&gt;Posted 15 May 1998.&lt;br /&gt;According to press reports, dengue hemorrhagic fever has claimed the lives of approximately 800 people in Indonesia since the beginning of the year.&lt;br /&gt;Dengue fever is common during the monsoon season, which generally lasts from October to April, but government officials have stated that this year's outbreak is extraordinary. At least 32,000 people have been infected since January 1998.&lt;br /&gt;Localized outbreaks have been recorded in several locations, notably the&lt;br /&gt;district of Palembang in South Sumatra Province, the cities of Bandung and Jakarta in West Java Province, the town of Dili in East Timor Province and the town of Palu in Central Sulawesi Province. Jakarta alone has seen nearly 80 deaths among 10,000 cases. At least 12 of Indonesia's 27 provinces have recorded fatalities, and the number of deaths reported is believed to be a fraction of the actual totals.&lt;br /&gt;&lt;br /&gt;Posted 15 May 1998.&lt;br /&gt;According to press reports, an outbreak of hepatitis A has affected more than 600 people in the regency of Bondowoso in Eastern Java. Eight villages in the districts of Tapan, Wonsari and Sukosari have been affected, the largest in the region's history. Poor hygiene and contaminated river water have been cited as causes of the outbreak.&lt;br /&gt;&lt;br /&gt;Posted 24 April 1998.&lt;br /&gt;According to press reports, a choking smog from forest fires burning out of control in the province of East Kalimantan on the island of Borneo has compromised the health of thousands of people in the cities of Samarinda and Balikpapan, as well as in surrounding areas. At least 300 cases of pneumonia have been reported, and ailments such as eye infections, respiratory infectionsand asthma are on the rise. One newspaper has reported that at least 2 people have died due to the haze. After dissipating for a few months, the haze has returned to Southeast Asia as land has been deliberately burned and seasonal monsoon rains have been held off by the El Nino weather phenomenon.&lt;br /&gt;&lt;br /&gt;Posted 24 March 1998.&lt;br /&gt;USDOS Advisory&lt;br /&gt;The material below is reprinted verbatim from the U.S. Department of State (USDOS). Recommendations regarding preventive health measures (including immunizations), if given here, may differ from those of the CDC/ACIP presented elsewhere in this report. Health-related entry requirements, if included here, may not agree with the official version of requirements reported by WHO and presented in the Official Health Data section of this report.&lt;br /&gt;&lt;br /&gt;Consular Information Sheet - April 24, 1998&lt;br /&gt;Country Description&lt;br /&gt;Indonesia is an independent republic consisting of more than 13,500 islands spread over 3,000 miles. Its economy is developing, and tourist services are plentiful in the major tourist sites.&lt;br /&gt;Entry Requirements: A passport valid for six months beyond the&lt;br /&gt;intended date of departure is required. A visa is not required for tourist&lt;br /&gt;stays up to two months. For additional information about entry requirements, travelers may contact the Embassy of the Republic of Indonesia, 2020 Massachusetts Avenue NW, Washington, DC 20036, telephone (202) 775-5200,&lt;br /&gt;http://www.kbri.org/&lt;br /&gt;&lt;br /&gt;Information on Crime&lt;br /&gt;The crime rate in Jakarta is moderate but rising. Minor crimes, such as pickpocketing and thefts, occur in popular tourist sites throughout the country. Incidents of carjackings and robbery have been reported. Lost or stolen passports should be reported to the local police and the citizins. Embassy or nearest consulate.&lt;br /&gt;&lt;br /&gt;Criminal Penalties: While in a foreign country, a citizen is subject to that country's laws and regulations, which sometimes differ significantly from those in their countries and do not afford the same protections available to the individual under their. law. Penalties for breaking the law can be more severe than in your countrie for similar offenses.&lt;br /&gt;Persons violating the law, even unknowingly, may be expelled, arrested or imprisoned. Criminal penalties for possession, use or trafficking of illegal drugs are strict, and convicted offenders can expect severe jail sentences and fines.&lt;br /&gt;&lt;br /&gt;Road Safety: All traffic operates on the left side of the road, and most vehicles use right-hand drive. Roads in major cities and toll roads are good. Roads are narrower and may be more poorly maintained in rural areas and remote regions. Driving at night outside major cities can be hazardous. Taxis are an affordable means of transportation. The safest option is to call the taxi company directly. Make sure the taxi driver agrees to take you to your destination, never get into a taxi already occupied by another passenger and always insist on using the taxi meter. A list of taxi safety tips, along with a list of more reputable taxi companies, is available from the U.S. Embassy in Jakarta.&lt;br /&gt;&lt;br /&gt;Aviation Oversight&lt;br /&gt;The U.S. Federal Aviation Administration (FAA) has assessed the Government of Indonesia civil aviation authority as Category 1 - in compliance with international aviation safety standards for oversight of Indonesia's air carrier operations. For further information, travelers may contact the Department of Transportation within the U.S. at (800) 322-7873 or visit the FAA Internet home page at http://www.faa.gov/AVR/iasa.htm&lt;br /&gt;&lt;br /&gt;The U.S. Department of Defense (DOD) separately assesses some foreign air carriers for suitability as official providers of air services. For information regarding the DOD policy on specific carriers, travelers may contact the Pentagon at (703) 697-7288.&lt;br /&gt;&lt;br /&gt;Embassy Location and Registration&lt;br /&gt;Americans are encouraged to register at the nearest U.S. embassy or consulate, where they may obtain updated information on travel and security within the country. The embassy is located in Jakarta at Medan Merdeka Selatan 5; telephone (62)(21) 344-2211, fax (62)(21)&lt;br /&gt;386-2259, Internet: http://www.usembassyjakarta.org/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1051282916754356279-6294121506139351378?l=new-informationglobal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://new-informationglobal.blogspot.com/feeds/6294121506139351378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://new-informationglobal.blogspot.com/2009/02/health-precautions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1051282916754356279/posts/default/6294121506139351378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1051282916754356279/posts/default/6294121506139351378'/><link rel='alternate' type='text/html' href='http://new-informationglobal.blogspot.com/2009/02/health-precautions.html' title='Health Precautions'/><author><name>New Information Global</name><uri>http://www.blogger.com/profile/06096857122771235598</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1051282916754356279.post-1232833055271102952</id><published>2009-02-14T07:42:00.000-08:00</published><updated>2009-02-14T08:01:05.970-08:00</updated><title type='text'>Operating System Functions</title><content type='html'>&lt;h3&gt;What is an Operating System&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;  &lt;p&gt;The operating system is the core software component of your computer. It performs many functions and is, in very basic terms, an interface between your computer and the outside world. In the section about hardware, a computer is described as consisting of several component parts including your monitor, keyboard, mouse, and other parts. The operating system provides an interface to these parts using what is referred to as "drivers". This is why sometimes when you install a new printer or other piece of hardware, your system will ask you to install more software called a driver. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;h3&gt;What does a driver do?&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;  &lt;span style=";font-family:&amp;quot;;font-size:12;"  &gt;&lt;span style="font-size:100%;"&gt;A driver is a specially written program which understands the operation of the device it interfaces to, such as a printer, video card, sound card or CD ROM drive. It translates commands from the operating system or user into commands understood by the the component computer part it interfaces with. It also translates responses from the component computer part back to responses that can be understood by the operating system, application program, or user. The below diagram gives a graphical depiction of the interfaces between the operating system and the computer component&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rqTUu5SUHxE/SZbqU9hT7tI/AAAAAAAAABM/DrsILDFOQjc/s1600-h/New+Picture.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_rqTUu5SUHxE/SZbqU9hT7tI/AAAAAAAAABM/DrsILDFOQjc/s320/New+Picture.png" alt="" id="BLOGGER_PHOTO_ID_5302683257107902162" border="0" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;h1&gt;Operating System Functions&lt;o:p&gt;&lt;/o:p&gt;&lt;/h1&gt;  &lt;h3&gt;What is an Operating System&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;  &lt;p&gt;The operating system is the core software component of your computer. It performs many functions and is, in very basic terms, an interface between your computer and the outside world. In the section about hardware, a computer is described as consisting of several component parts including your monitor, keyboard, mouse, and other parts. The operating system provides an interface to these parts using what is referred to as "drivers". This is why sometimes when you install a new printer or other piece of hardware, your system will ask you to install more software called a driver. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;h3&gt;What does a driver do?&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;  &lt;span style=";font-family:&amp;quot;;font-size:100%;"  &gt;A driver is a specially written program which understands the operation of the device it interfaces to, such as a printer, video card, sound card or CD ROM drive. It translates commands from the operating system or user into commands understood by the the component computer part it interfaces with. It also translates responses from the component computer part back to responses that can be understood by the operating system, application program, or user. The below diagram gives a graphical depiction of the interfaces between the operating system and the computer component&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;table class="MsoNormalTable" style="" border="0" cellpadding="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 450pt;"&gt;   &lt;td style="padding: 0.75pt; height: 450pt;" valign="top"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding: 0.75pt; height: 450pt;" valign="top"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1051282916754356279-1232833055271102952?l=new-informationglobal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://new-informationglobal.blogspot.com/feeds/1232833055271102952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://new-informationglobal.blogspot.com/2009/02/operating-system-functions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1051282916754356279/posts/default/1232833055271102952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1051282916754356279/posts/default/1232833055271102952'/><link rel='alternate' type='text/html' href='http://new-informationglobal.blogspot.com/2009/02/operating-system-functions.html' title='Operating System Functions'/><author><name>New Information Global</name><uri>http://www.blogger.com/profile/06096857122771235598</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_rqTUu5SUHxE/SZbqU9hT7tI/AAAAAAAAABM/DrsILDFOQjc/s72-c/New+Picture.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1051282916754356279.post-2689815656943294595</id><published>2009-02-13T00:34:00.000-08:00</published><updated>2009-02-13T01:00:56.583-08:00</updated><title type='text'>Accessing databases using the ADO Data Control</title><content type='html'>&lt;b&gt;&lt;span style="font-family:Verdana;"&gt;Download and Run Example Program&lt;/span&gt;&lt;/b&gt;&lt;h1&gt;&lt;a name="top"&gt;&lt;/a&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Okay, this is the promised &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;ADO&lt;/st1:place&gt;&lt;/st1:city&gt; example program. It's exactly the same as the example I did for the Data Control and the FlexGrid, but with a few added bells and whistles. Also, it works right away with an Access 97 &lt;i&gt;or &lt;/i&gt;2000 database, which makes things much more convenient. Okay, let's get into this thing:&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Okay, the steps to follow:&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0mm;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Just &lt;a href="http://pages.cpsc.ucalgary.ca/%7Esaul/vb_examples/tutorial3/ADOExample.zip"&gt;save      the file&lt;/a&gt; to your desktop.&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Double click the file to open      it with winzip.&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Click "Extract" and      extract the file to your desktop (note: you need to extract &lt;i&gt;both&lt;/i&gt;      files).&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;On your desktop, you should      now have a folder called "ADOExample"&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Go in there and double-click      "Projcet1.vbp" (.vbp stands for "Visual Basic      Project")&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Now, you should get VB loaded      up with that project, no problem!&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;      &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;With that going, you can push the play button (center of the top tool bar) and see what it looks like. There are a couple of things you can do with it:&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul style="margin-top: 0mm;" type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;You can add CDs to the      Database by entering some info in the textboxes and pushing the "Add      This Info" button&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul style="margin-top: 0mm;" type="circle"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;This has changed: now, the       "Add Entry" button will not enable until all three textboxes       contain text.&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;The "Track Count"       textbox will only accept numeric characters&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;This program does &lt;i&gt;not&lt;/i&gt;       check for duplicate entries in the database. If you do that, it'll crash.       :)&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;You can select a row from the      grid and hit the "Remove Selected" button to remove it permanently      from the database&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;The form now resizes      properly. So, if you resize the form, the grid and frames will resize      appropriately (to a certain point)&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;      &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;a name="OLE_LINK2"&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rqTUu5SUHxE/SZUyewML4tI/AAAAAAAAAAM/wKp38xRsns4/s1600-h/New+Picture.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 297px; height: 320px;" src="http://2.bp.blogspot.com/_rqTUu5SUHxE/SZUyewML4tI/AAAAAAAAAAM/wKp38xRsns4/s320/New+Picture.png" alt="" id="BLOGGER_PHOTO_ID_5302199640212103890" border="0" /&gt;&lt;/a&gt;&lt;a name="OLE_LINK1"&gt;&lt;/a&gt;&lt;span style="font-family:Verdana;"&gt;  &lt;!--[if !supportLineBreakNewLine]--&gt;  &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-family:Verdana;"&gt;  &lt;hr align="center" color="#aca899" noshade="noshade" size="1" width="97%"&gt;  &lt;/span&gt;&lt;/div&gt;  &lt;p&gt;&lt;span style="font-family:Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="example6_build"&gt;&lt;/a&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;"&gt;Build Example Program 6 from Scratch:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Okay, let's get down and dirty. :) This one's quite a bit bigger than the other one (although the bigger is more or less useless stuff that was thrown in for fun, haha!).&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;a name="example6_build_database"&gt;&lt;/a&gt;&lt;i&gt;&lt;span style="font-family:Verdana;"&gt;The Database Design&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt; &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0mm;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Open up MS Access (Start -      Programs - Microsoft Access)&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Pick "Start a blank      database" from the wizard that pops up&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Pick a spot to save the mdb      file and a name for it (mine was "CDCollectionA.mdb")&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;You'll get to the following      window, where you double click on "Create a table in design      view:"&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;p style="text-align: center;" align="center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rqTUu5SUHxE/SZUzR0S3wzI/AAAAAAAAAAU/kiF1Zgl3FSM/s1600-h/New+Picture+%281%29.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 319px; height: 320px;" src="http://2.bp.blogspot.com/_rqTUu5SUHxE/SZUzR0S3wzI/AAAAAAAAAAU/kiF1Zgl3FSM/s320/New+Picture+%281%29.png" alt="" id="BLOGGER_PHOTO_ID_5302200517487215410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;" &gt;the database design main window&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0mm;" start="5" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;When you double click that      "create table in design view" thingie, you get to this window:&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;p style="text-align: center;" align="center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rqTUu5SUHxE/SZUzztVAQKI/AAAAAAAAAAc/ZqDc2AK8NAc/s1600-h/New+Picture+%282%29.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 232px;" src="http://2.bp.blogspot.com/_rqTUu5SUHxE/SZUzztVAQKI/AAAAAAAAAAc/ZqDc2AK8NAc/s320/New+Picture+%282%29.png" alt="" id="BLOGGER_PHOTO_ID_5302201099732664482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;" &gt;The table design view window&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0mm;" start="6" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;You want to follow the      following steps to get the table I was working with:&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ol style="margin-top: 0mm;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Make a field called &lt;i&gt;ArtistName&lt;/i&gt;       whose type is &lt;i&gt;Text&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Make a field called &lt;i&gt;AlbumTitle&lt;/i&gt;       whose type is &lt;i&gt;Text&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Make a field called &lt;i&gt;Tracks&lt;/i&gt;       whose type is &lt;i&gt;Number&lt;/i&gt; (just a long integer is cool enough)&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Select the rows in the       design view (as pictured above) that have &lt;i&gt;ArtistName&lt;/i&gt; and &lt;i&gt;AlbumTitle&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Right-click on that       selection, and pick &lt;i&gt;Primary Key&lt;/i&gt; from the menu you get. This will       make both fields into primary keys. The idea is that they can be primary       because you'll never have identical artist names and album titles       (otherwise what's the point?!).&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Once you've got your table      built, just close that window. You'll be automatically prompted to save      changes to the table design and to give the table a name. I picked &lt;i&gt;CDs&lt;/i&gt;,      how original. :)&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Once that's all done, you can      either add a couple entries to the database by double clicking the CDs      table from the database design main window and inputting them manually or      just move on to:&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;a name="example6_build_software"&gt;&lt;/a&gt;&lt;i&gt;&lt;span style="font-family:Verdana;"&gt;Software Design&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Okay, as mentioned at the top of this article, we're going to use the &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;ADO&lt;/st1:place&gt;&lt;/st1:city&gt; (ActiveX Data Objects) data control for getting at data instead of the common data control used in &lt;a href="http://pages.cpsc.ucalgary.ca/%7Esaul/vb_examples/tutorial2/index.html#example3_run"&gt;Example 3&lt;/a&gt;. I know what you're thinking: who cares. :) In any case, &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;ADO&lt;/st1:place&gt;&lt;/st1:city&gt; can provide you with a little more customizability and a little bit more speed, but it's also a little more difficult to use. No problem, though, there's a cheap way around everything, so let's dive right in.&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0mm;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;First thing first, start up      VB with a Standard Exe project.&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Go to the &lt;b&gt;Project&lt;/b&gt; menu      and select &lt;b&gt;Components&lt;/b&gt; (near the bottom). You want to add two new      controls to your project:&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul style="margin-top: 0mm;" type="circle"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;the Microsoft ADO Data       Control (OLEDB) and&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;the Microsoft Hierarchical       FlexGrid Control 6.0 (note this is not the FlexGrid as used in Example 3)&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;  &lt;p style="text-align: center;" align="center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rqTUu5SUHxE/SZU0SUSRp3I/AAAAAAAAAAk/ua9f4T1f8FI/s1600-h/New+Picture+%283%29.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 284px;" src="http://2.bp.blogspot.com/_rqTUu5SUHxE/SZU0SUSRp3I/AAAAAAAAAAk/ua9f4T1f8FI/s320/New+Picture+%283%29.png" alt="" id="BLOGGER_PHOTO_ID_5302201625586280306" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:Verdana;"&gt;&lt;!--[endif]--&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;" &gt;the add components dialog&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0mm;" start="3" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Okay, now do the following      stuff to your main form:&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ol style="margin-top: 0mm;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Change the &lt;b&gt;caption&lt;/b&gt; of       your main form to something hip and jive ...&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Add a Heirarchical FlexGrid       to your form by picking the &lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1032" type="#_x0000_t75" alt="" style="'width:18.75pt;height:18pt'"&gt;        &lt;v:imagedata src="file:///C:\DOCUME~1\DICKYR~1\LOCALS~1\Temp\msohtml1\01\clip_image005.jpg" href="file:///C:\Documents%20and%20Settings\Program%20Gost\pam\Visual%20Basic%20Examples%20-%20Tutorial%203_files\school_481_vbintro38.jpg"&gt;       &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rqTUu5SUHxE/SZU086csXGI/AAAAAAAAAAs/dVt0S6WOlHk/s1600-h/New+Picture+%284%29.png"&gt;&lt;img style="cursor: pointer; width: 26px; height: 25px;" src="http://3.bp.blogspot.com/_rqTUu5SUHxE/SZU086csXGI/AAAAAAAAAAs/dVt0S6WOlHk/s320/New+Picture+%284%29.png" alt="" id="BLOGGER_PHOTO_ID_5302202357385026658" border="0" /&gt;&lt;/a&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;&lt;!--[endif]--&gt;tool and drawing it on your main form.&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Add an &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;ADO&lt;/st1:city&gt;&lt;/st1:place&gt; data source control to the form       using the &lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1027" type="#_x0000_t75" alt="" style="'width:16.5pt;height:14.25pt'"&gt;        &lt;v:imagedata src="file:///C:\DOCUME~1\DICKYR~1\LOCALS~1\Temp\msohtml1\01\clip_image006.jpg" href="file:///C:\Documents%20and%20Settings\Program%20Gost\pam\Visual%20Basic%20Examples%20-%20Tutorial%203_files\school_481_vbintro39.jpg"&gt;       &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rqTUu5SUHxE/SZU1bRwaHOI/AAAAAAAAAA0/ZyNT4fuO02Q/s1600-h/New+Picture+%285%29.png"&gt;&lt;img style="cursor: pointer; width: 23px; height: 20px;" src="http://3.bp.blogspot.com/_rqTUu5SUHxE/SZU1bRwaHOI/AAAAAAAAAA0/ZyNT4fuO02Q/s320/New+Picture+%285%29.png" alt="" id="BLOGGER_PHOTO_ID_5302202879037807842" border="0" /&gt;&lt;/a&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;&lt;!--[endif]--&gt;tool and drawing on the form. Change       its &lt;b&gt;visibility&lt;/b&gt; property to &lt;i&gt;False.&lt;/i&gt; &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Add two frames to the form       using the &lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1028" type="#_x0000_t75" alt="" style="'width:20.25pt;height:18.75pt'"&gt;        &lt;v:imagedata src="file:///C:\DOCUME~1\DICKYR~1\LOCALS~1\Temp\msohtml1\01\clip_image007.jpg" href="file:///C:\Documents%20and%20Settings\Program%20Gost\pam\Visual%20Basic%20Examples%20-%20Tutorial%203_files\school_481_vbintro25.jpg"&gt;       &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_rqTUu5SUHxE/SZU1qD8Jx2I/AAAAAAAAAA8/n_xCt-amWjY/s1600-h/New+Picture+%286%29.png"&gt;&lt;img style="cursor: pointer; width: 28px; height: 26px;" src="http://1.bp.blogspot.com/_rqTUu5SUHxE/SZU1qD8Jx2I/AAAAAAAAAA8/n_xCt-amWjY/s320/New+Picture+%286%29.png" alt="" id="BLOGGER_PHOTO_ID_5302203133027010402" border="0" /&gt;&lt;/a&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;&lt;!--[endif]--&gt;tool and drawing them on the form.&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul style="margin-top: 0mm;" type="square"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Change for one frame:&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul style="margin-top: 0mm;" type="square"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;its &lt;b&gt;caption&lt;/b&gt; to &lt;i&gt;Add         Entry&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;its &lt;b&gt;(name)&lt;/b&gt; to &lt;i&gt;fraAddEntry&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Change for the other        (second) frame: &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul style="margin-top: 0mm;" type="square"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;its &lt;b&gt;caption&lt;/b&gt; to &lt;i&gt;Remove         Entry&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;its &lt;b&gt;(name) &lt;/b&gt;to &lt;i&gt;fraRemoveEntry&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Draw the following controls       in the &lt;i&gt;Add Entry&lt;/i&gt; frame (yes, actually &lt;i&gt;in&lt;/i&gt; the frame):&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 108pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;span style=""&gt;1.&lt;span style=";font-family:&amp;quot;;" &gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;A text box with the &lt;b&gt;(name) &lt;/b&gt;&lt;i&gt;txtArtistName&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 108pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;span style=""&gt;2.&lt;span style=";font-family:&amp;quot;;" &gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;A label above that text box with the &lt;b&gt;caption&lt;/b&gt; &lt;i&gt;Artist Name &lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 108pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;span style=""&gt;3.&lt;span style=";font-family:&amp;quot;;" &gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;A text box with the &lt;b&gt;(name) &lt;/b&gt;&lt;i&gt;txtAlbumTitle&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 108pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;span style=""&gt;4.&lt;span style=";font-family:&amp;quot;;" &gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;A label above that text box with the &lt;b&gt;caption&lt;/b&gt; &lt;i&gt;Album Title &lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 108pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;span style=""&gt;5.&lt;span style=";font-family:&amp;quot;;" &gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;A text box with the &lt;b&gt;(name) &lt;/b&gt;&lt;i&gt;txtTrackCount&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 108pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;span style=""&gt;6.&lt;span style=";font-family:&amp;quot;;" &gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;A label above that text box with the &lt;b&gt;caption&lt;/b&gt; &lt;i&gt;Number of Tracks&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 108pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;span style=""&gt;7.&lt;span style=";font-family:&amp;quot;;" &gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;A command button with the &lt;b&gt;(name)&lt;/b&gt; &lt;i&gt;cmdAddEntry&lt;/i&gt; and the &lt;b&gt;caption &lt;/b&gt;&lt;i&gt;Add this info&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0mm;" start="3" type="1"&gt;&lt;ol style="margin-top: 0mm;" start="6" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Now, to the &lt;i&gt;Remove Entry&lt;/i&gt;       frame, add the following controls:&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;       &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 108pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;span style=""&gt;0.&lt;span style=";font-family:&amp;quot;;" &gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;A command button with the &lt;b&gt;(name) &lt;/b&gt;&lt;i&gt;cmdRemoveEntry&lt;/i&gt; and the &lt;b&gt;caption &lt;/b&gt;&lt;i&gt;Remove Selected&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 108pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;span style=""&gt;1.&lt;span style=";font-family:&amp;quot;;" &gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;A label with the &lt;b&gt;caption &lt;/b&gt;&lt;i&gt;Select the entry you want to remove and click the button:&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0mm;" start="4" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Now, the most complicated      part is formatting the Heirarchical FlexGrid (which is called &lt;i&gt;MSFHlexGrid1&lt;/i&gt;)      to do what you want. It's fairly customizable, but here's all I did for      this example program:&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ol style="margin-top: 0mm;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;the &lt;b&gt;AllowBigSelection&lt;/b&gt;       property was set to &lt;i&gt;False&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;       &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;the &lt;b&gt;AllowUserResizing&lt;/b&gt;       property was set to &lt;i&gt;0&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;the &lt;b&gt;FixedCols&lt;/b&gt;       property was set to &lt;i&gt;0&lt;/i&gt; while the &lt;b&gt;FixedRows&lt;/b&gt; property was set       to &lt;i&gt;1&lt;/i&gt; (this is recommended for pretty displaying of stuff)&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;the &lt;b&gt;FocusRect&lt;/b&gt;       property was set to &lt;i&gt;0&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;the &lt;b&gt;HighLight&lt;/b&gt;       property was set to &lt;i&gt;1&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;the &lt;b&gt;ScrollBars&lt;/b&gt;       property was set to &lt;i&gt;2&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;the &lt;b&gt;ScrollTrack&lt;/b&gt; property       was set to &lt;i&gt;True&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;the &lt;b&gt;SelectionMode&lt;/b&gt;       property was set to &lt;i&gt;1&lt;/i&gt; (selection by row only) &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;In the form design window,      double click the form, which should bring up the code window with a blank &lt;i&gt;Form_Load()      &lt;/i&gt;subroutine. &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;ol style="margin-top: 0mm;" start="5" type="1"&gt;&lt;ul style="margin-top: 0mm;" type="circle"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;You'll notice this time that       we do the data and database hookup in code instead of in the property       sheet. &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;For the &lt;b&gt;ConnectionString&lt;/b&gt;       property of the ADO Data Control, you can build it in the property sheet.       There's a wizard in there that will do it from scratch for you, but it's       pretty annoying to surf through. That's why I just included this string       instead (it was built in the wizard though) &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;You need two global       variables, and they appear right above the &lt;i&gt;Form_Load() &lt;/i&gt;method.&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;For the FlexGrid &lt;b&gt;DataSource&lt;/b&gt;,       note that the &lt;i&gt;Set&lt;/i&gt; command/directive/whatever is used!! Here's the       code: &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;  &lt;pre&gt;&lt;span style="font-size:100%;color:blue;"&gt;Option Explicit&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size:100%;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 153, 0);font-size:100%;" &gt;' couple'o global vars to track the form minimum size&lt;/span&gt;&lt;span style="font-size:100%;color:blue;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size:100%;color:black;"&gt;Dim MinHeight As Long&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size:100%;color:black;"&gt;Dim MinWidth As Long&lt;/span&gt;&lt;span style="font-size:100%;color:blue;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size:100%;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size:100%;color:blue;"&gt;Private Sub Form_Load()&lt;/span&gt;&lt;span style=";font-size:100%;" &gt;    &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);font-size:100%;" &gt;' set up the database connectivity for the &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;ADO&lt;/st1:city&gt;&lt;/st1:place&gt; data control&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;    &lt;/span&gt;&lt;span style="font-size:100%;"&gt;With Adodc1&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;    &lt;/span&gt;&lt;span style=";font-size:100%;" &gt;    &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;        &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);font-size:100%;" &gt;' the connection string just defines an interface to connect&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 153, 0);font-size:100%;" &gt;&lt;span style=""&gt;        &lt;/span&gt;' to the Access database.&lt;span style=""&gt;  &lt;/span&gt;We use the MS Jet SQL drivers for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 153, 0);font-size:100%;" &gt;&lt;span style=""&gt;        &lt;/span&gt;' simplicity's sake.&lt;span style=""&gt;  &lt;/span&gt;Side-note: you can build your own connection string&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 153, 0);font-size:100%;" &gt;&lt;span style=""&gt;        &lt;/span&gt;' from the property sheet for the ado data control, but I would advise&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 153, 0);font-size:100%;" &gt;&lt;span style=""&gt;        &lt;/span&gt;' against it, this is easier. :)&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;        &lt;/span&gt;&lt;span style="font-size:100%;"&gt;.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &amp;amp; _&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;            &lt;/span&gt;&lt;span style="font-size:100%;"&gt;App.Path &amp;amp; "\CDCollection.mdb;Persist Security Info=False"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;            &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;   &lt;/span&gt;&lt;span style=";font-size:100%;" &gt;     &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);font-size:100%;" &gt;' the record source just tells the data control what and how&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 153, 0);font-size:100%;" &gt;&lt;span style=""&gt;        &lt;/span&gt;' to pull out of the database. Just raw SQL here.&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;        &lt;/span&gt;&lt;span style="font-size:100%;"&gt;.RecordSource = "select * from CDs order by ArtistName"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;    &lt;/span&gt;&lt;span style="font-size:100%;"&gt;End With&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;    &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);font-size:100%;" &gt;' set the Flex Grid data source to be the &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;ADO&lt;/st1:city&gt;&lt;/st1:place&gt; data control.&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;    &lt;/span&gt;&lt;span style="font-size:100%;"&gt;Set MSHFlexGrid1.DataSource = Adodc1&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;    &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);font-size:100%;" &gt;' set up the format string for the flex grid.&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;    &lt;/span&gt;&lt;span style="font-size:100%;"&gt;MSHFlexGrid1.FormatString = "Artist Name | Album Title | Track Count"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;    &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);font-size:100%;" &gt;' position all the controls happily and store the form minimum size&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;    &lt;/span&gt;&lt;span style="font-size:100%;"&gt;MinHeight = Form1.Height&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;    &lt;/span&gt;&lt;span style="font-size:100%;"&gt;MinWidth = Form1.Width&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-size:100%;" &gt;    &lt;/span&gt;&lt;span style="font-size:100%;"&gt;Call Form_Resize&lt;/span&gt;&lt;span style=";font-size:100%;" &gt;    &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size:100%;color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;  &lt;ol style="margin-top: 0mm;" start="6" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Okay, that's done. From the      event ComboBox at the top of the code window, pick the &lt;b&gt;Resize&lt;/b&gt;      event. You should then get a shell for the &lt;i&gt;Form_Resize() &lt;/i&gt;method.      This gets called whenever you resize the form, and we'll just use it to      make a resized form look pretty. Here's what to fill in:&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;pre&gt;&lt;span style="color:blue;"&gt;Private Sub Form_Resize()&lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;' check to see if the form is getting too small (Note: this is just to avoid&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;&lt;span style=""&gt;    &lt;/span&gt;' the math necessary to shrink all the textboxes, hahahaha!!)&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;If MinHeight &gt; Form1.Height Then&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;        &lt;/span&gt;Form1.Height = MinHeight&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;        &lt;/span&gt;Exit Sub&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;ElseIf MinWidth &gt; Form1.Width Then&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;        &lt;/span&gt;Form1.Width = MinWidth&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;        &lt;/span&gt;Exit Sub&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;End If&lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;' resize the flexgrid to fit nicely on the screen&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;MSHFlexGrid1.Width = Form1.ScaleWidth&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;MSHFlexGrid1.Height = Form1.ScaleHeight / 2&lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;' resize the happy columns to look pretty (40% for each text column, 20% for Track)&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;MSHFlexGrid1.ColWidth(0) = 0.4 * MSHFlexGrid1.Width&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;MSHFlexGrid1.ColWidth(1) = MSHFlexGrid1.ColWidth(0)&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;MSHFlexGrid1.ColWidth(2) = MSHFlexGrid1.Width - (MSHFlexGrid1.ColWidth(0) * 2) - 60&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;' reposition&lt;span style=""&gt;  &lt;/span&gt;and resize the frames on the screen to fit nicely (there was no&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;&lt;span style=""&gt;    &lt;/span&gt;' science here, just did it by trial and error)&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;fraAddEntry.Top = (Form1.ScaleHeight / 2) + 100&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;fraAddEntry.Height = (Form1.ScaleHeight / 2) - 150&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;fraAddEntry.Width = (Form1.ScaleWidth * 0.64)&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;fraRemoveEntry.Height = (Form1.ScaleHeight / 2) - 150&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;fraRemoveEntry.Top = (Form1.ScaleHeight / 2) + 100&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;fraRemoveEntry.Width = (Form1.ScaleWidth * 0.36) - 100&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;fraRemoveEntry.Left = fraAddEntry.Width + 100&lt;span style="color:blue;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/pre&gt;  &lt;ol style="margin-top: 0mm;" start="7" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Now, go back to the form      design window and double click the &lt;i&gt;Add this info&lt;/i&gt; button. You should      now have a blank &lt;i&gt;cmdAddEntry_Click()&lt;/i&gt; subroutine. The code is pretty      much identical to the old database example, but here's what to fill in,      anyways:&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;pre&gt;&lt;span style="color:blue;"&gt;Private Sub cmdAddEntry_Click()&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;' add a new entry to our table.&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;With Adodc1.Recordset&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;        &lt;/span&gt;.AddNew&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;        &lt;/span&gt;!ArtistName = txtArtistName&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;        &lt;/span&gt;!AlbumTitle = txtAlbumTitle&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;        &lt;/span&gt;!Tracks = txtTrackCount&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;        &lt;/span&gt;.Update&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;        &lt;/span&gt;.Requery&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;End With&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;' refresh the data source and rebind it to the flexgrid (annoying!!)&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;Adodc1.Refresh&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;Set MSHFlexGrid1.DataSource = Adodc1&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;MSHFlexGrid1.FormatString = "Artist Name | Album Title | Track Count"&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;Call Form_Resize&lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;' clear the text fields once the new record is added&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;txtArtistName = ""&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;txtAlbumTitle = ""&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;txtTrackCount = ""&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;' set the focus back to the&lt;span style=""&gt;  &lt;/span&gt;artist name textbox&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;txtArtistName.SetFocus&lt;/pre&gt;&lt;pre&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;  &lt;ol style="margin-top: 0mm;" start="8" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Now you need the remove code.      In the form design window, double-click the &lt;i&gt;Remove Selected&lt;/i&gt; button.      You should get a shell for the &lt;i&gt;cmdRemoveEntry_Click()&lt;/i&gt; subroutine.      This is the code:&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;pre&gt;&lt;span style="color:blue;"&gt;Private Sub cmdRemoveEntry_Click()&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;' delete an entry from the database&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;With Adodc1.Recordset&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;        &lt;/span&gt;.Move (MSHFlexGrid1.Row - 1) &lt;span style="color: rgb(51, 153, 0);"&gt;' we minus one because row zero is the header row&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;        &lt;/span&gt;.Delete&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;        &lt;/span&gt;.Requery&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;End With&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;' refresh the data source and rebind it to the flexgrid (annoying!!)&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;Adodc1.Refresh&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;Set MSHFlexGrid1.DataSource = Adodc1&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;MSHFlexGrid1.FormatString = "Artist Name | Album Title | Track Count"&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;Call Form_Resize&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;' set the focus back to the first add field&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;txtArtistName.SetFocus&lt;/pre&gt;&lt;pre&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;  &lt;ol style="margin-top: 0mm;" start="9" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;&lt;span style="font-size:100%;"&gt;Okay, if you go to the form      design window, you have three textboxes: &lt;i&gt;txtArtistName, txtAlbumTitle, &lt;/i&gt;and      &lt;i&gt;txtTrackCount.&lt;/i&gt; Double click on each of them in turn to get their      associated &lt;i&gt;Change&lt;/i&gt;&lt;/span&gt; &lt;span style="font-size:100%;"&gt;methods and fill in the following code:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;pre&gt;&lt;span style="color:blue;"&gt;Private Sub txtArtistName_Change()&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;' here, just check to see if each text field has contents.&lt;span style=""&gt;  &lt;/span&gt;If they all have&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;&lt;span style=""&gt;    &lt;/span&gt;' contents (ie, they're not empty) enable the "Add Entry" button.&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;If txtArtistName.Text &lt;&gt; "" And txtAlbumTitle.Text &lt;&gt; "" And txtTrackCount.Text &lt;&gt; "" Then&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;        &lt;/span&gt;cmdAddEntry.Enabled = True&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;Else&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;        &lt;/span&gt;cmdAddEntry.Enabled = False&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;End If&lt;/pre&gt;&lt;pre&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color:blue;"&gt;Private Sub txtAlbumTitle_Change()&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;' just call the artist name change method because the code here would be&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;&lt;span style=""&gt;    &lt;/span&gt;' exactly the same.&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;Call txtArtistName_Change&lt;/pre&gt;&lt;pre&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color:blue;"&gt;Private Sub txtTrackCount_Change()&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;' just call the artist name change method because the code here would be&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;&lt;span style=""&gt;    &lt;/span&gt;' exactly the same.&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;Call txtArtistName_Change&lt;/pre&gt;&lt;pre&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;  &lt;ol style="margin-top: 0mm;" start="10" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;While you're still in the &lt;i&gt;txtTrackCount_Change()&lt;/i&gt;      method, go to the event ComboBox at the top of the code window and select      the &lt;b&gt;KeyPress &lt;/b&gt;event. You should get a shell for the &lt;i&gt;txtTrackCount_KeyPress(KeyAscii      as Integer)&lt;/i&gt; method. Here's the rest of the code for that, it just      filters out alphabetic and punctuation characters:&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;pre&gt;&lt;span style="color:blue;"&gt;Private Sub txtTrackCount_KeyPress(KeyAscii As Integer)&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;' TrackKey will store which key was pressed in an _ascii_ value.&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;Dim TrackKey As String&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;TrackKey = Chr(KeyAscii)&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;' if the key pressed was a)not a number and b) not the backspace key,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 153, 0);"&gt;&lt;span style=""&gt;    &lt;/span&gt;' just erase the keystroke (it won't get processed or sent)&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;If (Not IsNumeric(TrackKey) And Not (KeyAscii = vbKeyBack)) Then&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;        &lt;/span&gt;KeyAscii = 0&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;    &lt;/span&gt;End If&lt;/pre&gt;&lt;pre&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1051282916754356279-2689815656943294595?l=new-informationglobal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://new-informationglobal.blogspot.com/feeds/2689815656943294595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://new-informationglobal.blogspot.com/2009/02/accessing-databases-using-ado-data.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1051282916754356279/posts/default/2689815656943294595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1051282916754356279/posts/default/2689815656943294595'/><link rel='alternate' type='text/html' href='http://new-informationglobal.blogspot.com/2009/02/accessing-databases-using-ado-data.html' title='Accessing databases using the ADO Data Control'/><author><name>New Information Global</name><uri>http://www.blogger.com/profile/06096857122771235598</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_rqTUu5SUHxE/SZUyewML4tI/AAAAAAAAAAM/wKp38xRsns4/s72-c/New+Picture.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
