jwcolby
jwcolby at colbyconsulting.com
Tue May 27 22:36:29 CDT 2008
Rocky, While that is technically unbound, you still have a recordset object open. IF you are setting a lock then you are right back to the issues I am trying to get around. I would call that "quasi-unbound". Truly unbound opens a recordset, transfers the values to controls, closes the recordset, modifies the data, opens the recordset, performs all of the checks and balances needed to prevent data corruption, writes changes / new records back to the data set, closes the dataset. John W. Colby www.ColbyConsulting.com Rocky Smolin at Beach Access Software wrote: > Jennifer: > > You use DAO to navigate the recordset =MovePrevious,Next,First,Last, > FindFirst,Next, etc - and when you fetch a record call a sub that transfer > the values from the fields to the unbound text boxes. You need a save > button on the form for the user to save the edited (or added) record because > it doesn't happen automatically just by moving off the record. Save calls a > sub that copies the values from the unbound text boxes to the DAO record. > > > > > Rocky Smolin > Beach Access Software > 858-259-4334 > www.e-z-mrp.com > www.bchacc.com > > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jennifer Gross > Sent: Tuesday, May 27, 2008 5:12 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VBA Unbound data entry / update form > > I have no idea how to create an unbound form in Access. I always use bound > forms. Though I would be interested to know how it's done. Unless I've got > it wrong, that seems to be the basic question here - For those of you who do > it, how do you create an unbound form? How do you populate the textboxes > initially and then how do you save the information back to the tables? > > It's beginning to sound like nobody really does it. > > Jennifer > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby > Sent: Tuesday, May 27, 2008 2:49 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] VBA Unbound data entry / update form > > > 1) If your situation gives you the choice between Access and SQL Server, > then you can use SQL Server Express. For your customer's benefit - it's > free! > > I know that, and you know that, but they have used an MDB BE for most of a > decade. SQL Server is the great unknown. > > > 2) How many concurrent users? Too Many? > > In the majority of cases, no. There ARE specific places where too many > users cause mysterious issues with an MDB. > Memos are written in "pages", as are indexes. If you open a record and > start to edit it, it "locks" an entire "page" of the index structure or the > memo area, which locks not just your record but potentially many others. > > This simply doesn't happen in SQL Server because SQL Server doesn't have > this "page" system for storing memo fields etc. > > > 3) How many indexes on the tables? > > Not the point, the point is that ALL indexes are stored in Index pages, and > entire pages of indexs can be locked by a single edit. > > Creating / using Indexes should be determined by need, not arcane locking > issues within Jet. > > > 4) Are you starting up by setting a recordset to open and leaving it that > way? > > If you are talking about creating and holding locks on the BE, yes I am, but > that isn't the issue either. > > John W. Colby > www.ColbyConsulting.com > > > Dan Waters wrote: >> John - I've been reading this with interest: >> >> 1) If your situation gives you the choice between Access and SQL >> Server, then you can use SQL Server Express. For your customer's >> benefit - it's free! >> >> 2) How many concurrent users? Too Many? >> >> 3) How many indexes on the tables? I actually only use the primary >> key as an index on every table. More indexes slows down writing > performance. >> 4) Are you starting up by setting a recordset to open and leaving it >> that way? This greatly reduces 'churn' in the locking database. When >> I set this up all my users reported a significant performance improvement. > Code below: >> '------------------------------------------------------------------------ >> Dim stgConnect As String >> Dim dbs As DAO.Database >> Dim tdf As DAO.TableDef >> >> stgConnect = BEFullPath >> Set dbs = DBEngine(0)(0) >> Set tdf = dbs.TableDefs("tblConnect") >> If tdf.Connect <> ";Database=" & stgConnect Then >> tdf.Connect = ";Database=" & stgConnect >> tdf.RefreshLink >> End If >> dbs.Close >> >> Set GrstConnect = DBEngine(0)(0).OpenRecordset("tblConnect", >> dbOpenSnapshot) >> '--------------------------------------------------------------------- >> --- >> >> Notes: BEFullPath is a function to return the full path to the BE. >> tblConnect is a one row one field table in the BE. >> The table link is refreshed because the table link is in a > library. >> GrstConnect is a globally defined DAO recordset. >> GrstConnect remains open until just before the database is closed. >> >> Good Luck! >> Dan > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > No virus found in this incoming message. > Checked by AVG. > Version: 8.0.100 / Virus Database: 269.24.1/1469 - Release Date: 27/5/2008 > 13:25 >