To use Data Bound controls or not ?

Posted on 1998-08-03
Last Modified: 2010-05-03
From books, DBList, DBCombo and also the List, Combo separately could utilize DAO recordsets.  Which provides more accuracy even though more code is required ? Which provides greater data access speed ?  Which do you prefer ?
Question by:optical

Expert Comment

ID: 1467694
In my experience, data controls are evil. <g>  They have the tendency to "snap-back" to the first record in the recordset once you update a record (from what I remember), and what you change in the control directly updates the data (again, from what I remember. There are probably ways of dealing with these behaviors, but I never pursued them--data-bound controls scared me!

One advantage of data-bound controls, though,  is that they require less code.

I've used DAO and RDO and they seem to require the same amount of coding.

But I would recommend RDO for several reasons, the not the least being that RDO seems to be the successor to DAO, it's also faster than both data-bound (which are a dog) and DAO; it allows batch processing as well as asynchronous transactions, and it is event-driven.

Look into it for yourself, run some comparable tests, there's enough information in Books Online to help you decide.


Expert Comment

ID: 1467695
Here are some rambling thoughts. It has been a Monday and I am writing this with a beer in my hand. Pardon any incoherency.

IMHO, in DAO it is a toss-up. If your form is based on one table, you can get some decent performance improvement going unbound (because you can use a table-type recorset), but I typically have only trivial forms which are based on one table. Searching through multiple table-type recordsets is almost always less efficient than using a dynaset on a query with a join. If you have large numbers of users, unbound will help increase the maximum number of effective users. Of course, if you have a large number of users, why are you using DAO?

As for ADO & RDO I definitely prefer working unbound. You can manage your connections much better manually than with data controls.

Expert Comment

ID: 1467696
tomook.... I hear the beer.  It is a Monday indeed.

I agree with the management of your connections.  You always know precisely what's what.

Expert Comment

ID: 1467697
My opinion is, that it depends on your comfort level and the task you are undertaking.

Although I am using DAO in most case now, I had used data control and bounded control for my first couple of years, and I had not experienced significant trouble.  

However, DAO (and RDO) gives you more capbility and flexibility, although it required significant more code.

If you feel more confortable with coding, and have a good idea as how to doing it, by all means use DAO.  If you are relatively new in VB database programming, I would suggest you start with data control, but do pay attention to some of the behaviors of data control.


Expert Comment

ID: 1467698
tomook.... I hear the beer.  It is a Monday indeed.

I agree with the management of your connections.  You always know precisely what's what.
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline


Expert Comment

ID: 1467699
  The data control is an anathema to me. Very difficult to understand its behaviour. I find it
always convenient to use the unbound controls. The flexibilty available easily offsets the
difficulty in coding. Moreover complex insert update and select queries is easier to handle
in the unbound mode.

Expert Comment

ID: 1467700
Id depends on the type of application u are developing.For a 3tier client server application data bound controls are a strict no-no as they take a lot of time to make connection and fetchn data.RDO is better.For stand alone apps.Data bound controls are better.

Expert Comment

ID: 1467701
Data-bound controls completely violate three-tier architecture.

Expert Comment

ID: 1467702

Accepted Solution

DQ earned 50 total points
ID: 1467703
IF your application is relatively simple, use data control give you a quick start, with reasonably satisfactory results. It will help you learn. If you are dealing with a remote date source, with non native database, doing a lot of SQL query, datacontrol is not suitable.

Based on your question, I think you can start with data control. When you get more skilled with coding, migrate to DAO.

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now