From kost36 at otenet.gr Sun Mar 1 00:46:24 2015 From: kost36 at otenet.gr (Kostas Konstantinidis) Date: Sun, 1 Mar 2015 08:46:24 +0200 Subject: [AccessD] limit drop down from another field... In-Reply-To: References: , <1421580844680.67486@cactus.dk>, <0E808DB35E8C4331BDD7FA49F161AEF3@kost36PC><54F224C1.32159.48FC47E@stuart.lexacorp.com.pg> <59157172FB2F4A0BA651FD3020D53F0A@HAL9007><54F24269.9000700@gmail.com><35BB2755EECD40BFB7B32AF0AA33E376@kost36PC> Message-ID: <5A483B43C8474610A6882D4097143961@kost36PC> yes.... today is a better day.. it works many many thank's to all of you guys /kostas -----?????? ??????----- From: Rocky Smolin Sent: Sunday, March 01, 2015 1:03 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] limit drop down from another field... So you 1. took out the line of code setting the RowSourceType 2. Changed the RowSourceType in the property sheet to Table/Query 3. Fixed the Where clause So, now it compiles, yes? And what do you see when you run the program and drop the combo box list? R -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kostas Konstantinidis Sent: Saturday, February 28, 2015 2:56 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] limit drop down from another field... no, it's not a good day today... it doen't want to work... it's really "table/query" my office is an English version... -----?????? ??????----- From: John W. Colby Sent: Sunday, March 01, 2015 12:34 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] limit drop down from another field... The other thing is that "table/query" might be something else if the Office was another language. John W. Colby On 2/28/2015 5:18 PM, Rocky Smolin wrote: > Are you still trying to make the row source type something other than > 'Table/Query'? > > r > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kostas > Konstantinidis > Sent: Saturday, February 28, 2015 12:52 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] limit drop down from another field... > > Hi Stuart, > well this stops the error but the combo doesn't return any data it's > just null > > /kostas > > -----?????? ??????----- > From: Stuart McLachlan > Sent: Saturday, February 28, 2015 10:27 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] limit drop down from another field... > > Come on people, it's simples :) > > Kostas, your line: > > WHERE(([0simperasmata].tip) = "z") > > should be: > > "WHERE(([0simperasmata].tip) = 'z')" > > (You forgot the quotes around that substring that you are building > into your SQL string) > > > On 28 Feb 2015 at 17:26, Kostas Konstantinidis wrote: > >> Hi, >> There are three fields into the same form >> >> [result_zscore_ostiki_piknotita]--> decimal >> [result_tscore_ostiki_piknotita]--> decimal >> [simperasma_1] --> combo box with record source >> SELECT [0simperasmata].ID_symperasmata, [0simperasmata].simperasma, >> [0simperasmata].tip FROM 0simperasmata ORDER BY >> [0simperasmata].simperasma; >> >> into [0simperasmata].tip are saved three different values "z", "t" and >> "zt" >> >> what I need is to limit the drop down list the based on >> [result_zscore_ostiki_piknotita] or [result_tscore_ostiki_piknotita] >> values >> >> I tried: >> >> Private Sub result_zscore_ostiki_piknotita_AfterUpdate() >> If Not IsNull(result_zscore_ostiki_piknotita) Then >> Me.simperasma_1.RowSourceType = "0simperasmata" >> Me.simperasma_1.RowSource = "SELECT ID_symperasmata, simperasma, >> tip >> FROM 0simperasmata " & _ >> WHERE(([0simperasmata].tip) = "z") >> Else >> End If >> End Sub >> >> but it doen't work >> >> any help please? >> thank's >> /kostas >> >> -- >> 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 -- 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 From jwcolby at gmail.com Sun Mar 1 10:06:51 2015 From: jwcolby at gmail.com (John W. Colby) Date: Sun, 01 Mar 2015 11:06:51 -0500 Subject: [AccessD] limit drop down from another field... In-Reply-To: <5A483B43C8474610A6882D4097143961@kost36PC> References: , <1421580844680.67486@cactus.dk>, <0E808DB35E8C4331BDD7FA49F161AEF3@kost36PC><54F224C1.32159.48FC47E@stuart.lexacorp.com.pg> <59157172FB2F4A0BA651FD3020D53F0A@HAL9007><54F24269.9000700@gmail.com><35BB2755EECD40BFB7B32AF0AA33E376@kost36PC> <5A483B43C8474610A6882D4097143961@kost36PC> Message-ID: <54F3391B.9080509@gmail.com> Wonderful! John W. Colby On 3/1/2015 1:46 AM, Kostas Konstantinidis wrote: > yes.... today is a better day.. > it works > > many many thank's to all of you guys > > /kostas > > -----?????? ??????----- From: Rocky Smolin > Sent: Sunday, March 01, 2015 1:03 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] limit drop down from another field... > > So you > > 1. took out the line of code setting the RowSourceType > 2. Changed the RowSourceType in the property sheet to Table/Query > 3. Fixed the Where clause > > So, now it compiles, yes? And what do you see when you run the > program and > drop the combo box list? > > R From marksimms at verizon.net Sun Mar 1 20:21:49 2015 From: marksimms at verizon.net (Mark Simms) Date: Sun, 01 Mar 2015 21:21:49 -0500 Subject: [AccessD] Automatic Update Function In-Reply-To: <56A13F9EEB88408C8DCC1FA6241397FC@XPS> References: <56A13F9EEB88408C8DCC1FA6241397FC@XPS> Message-ID: <000701d0548f$a40e4700$ec2ad500$@net> I second this. My clients are running rock-solid with this product. Everyone is happy with it. > You can't beat Tony Towes AutoFE Updater. > > http://autofeupdater.com/ > > While it's no longer free, the price is reasonable for everything it > does. > > You'd spend far more trying to develop all that, especially if you > deal > with a lot of different environments. > > Jim. From Lambert.Heenan at aig.com Mon Mar 2 09:46:02 2015 From: Lambert.Heenan at aig.com (Heenan, Lambert) Date: Mon, 2 Mar 2015 15:46:02 +0000 Subject: [AccessD] Automatic Update Function In-Reply-To: References: Message-ID: " Having version details or control values in the tables managed by the app requires the app, or in this case the DBMS to run to check and also to update those values." If you are worried that an application is not capable of reliably storing its version information locally, then why would you trust it to store any data, anywhere? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button Sent: Friday, February 27, 2015 5:35 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function I am not saying there is any difficult to surmount problems with having data in local database tables, just that I would prefer to be able to totally replace the front-end facility with the batch copy process. Not so much KISS as Keep It Dead Simple - and avoid anything on the local system that is part of the downloaded app, rather than a conditioner to have that local copy completely replaced. Having version details or control values in the tables managed by the app requires the app, or in this case the DBMS to run to check and also to update those values. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Friday, February 27, 2015 9:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function " I'd be wary about the process that has the version in a local store" - why? " - and the implications of whatever else is in local stores " - what implications would those be? More correctly, what are you assuming here? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button Sent: Friday, February 27, 2015 1:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function I'd be wary about the process that has the version in a local store - and the implications of whatever else is in local stores - I'd prefer to have a check before actually starting the application's environment, and 'fix' the facility before the windows OS begins to start it up. Then again I try to work on the basis that idiot-proof is having to deal with improved models getting even more help from the OS and software facility writers all the time, so they don't need any extra help from me! However - the question is what is in the setup managed by Janet and her associates. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Friday, February 27, 2015 3:35 PM To: 'Database Advisors' Subject: Re: [AccessD] Automatic Update Function My update process works as follows: The application front end has a table which holds the version number. When it starts up the application looks at a particular folder where the most recent version sits and checks if the version number is greater than the one the user is currently running. If there is a new version, the application then calls an existing vbscript which is stored in the same place as the application latest version file. The running, older copy of the application then shuts itself down. The vbscript then checks the folder where the user's copy of the application resides and sits in a loop waiting for the laccdb file to disappear. When that happens the script then copies the new version into place and launches it. If the loop waiting for the lock file to go away takes longer than 60 seconds it gives up and displays a message to the user. Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach Sent: Friday, February 27, 2015 9:45 AM To: Database Advisors Subject: [AccessD] Automatic Update Function Hello all - Do any of you have a favorite approach/module that you use to automatically update the front end on the user's machine? My monster application from WIFI hell has had auto update issues as well as corruption issues. My co-worker that developed part of the app with me wrote an auto update module that Creates a batch file on the fly Closes Access Runs the batch file to copy the new front end to the user's machine and then re-opens access At least that's what's supposed to happen...there have been a number of times that I've been suspicious about whether or not this auto update is somehow triggering back-end corruption too, although I don't know why it would. There have been many times when the app is up and running fine on 10 machines and when the 11th machine starts up and goes into auto-update mode the whole thing comes crashing down. Maybe that's just coincidence. BTW, I'm implementing the 'write to CSV' option today to try and stop the corruption... Janet Erbach -- 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 -- 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From df.waters at outlook.com Mon Mar 2 10:14:07 2015 From: df.waters at outlook.com (Dan Waters) Date: Mon, 2 Mar 2015 10:14:07 -0600 Subject: [AccessD] Automatic Update Function In-Reply-To: References: Message-ID: Several few years ago I needed to create a method to be sure my customers go the latest file. This is how I did it. 1) In my app, I made a table named 'tblLatestUpdate' which has just one row. A date column is named 'LatestUpdate' and a text column is named 'DeveloperPC'. 2) I made a form named 'frmShutdown' which is opened by startup code as an invisible form. When the app shuts down, the form_closing sub has code which will put the current date/time into the LatestUpdate column IF the name of the PC running the app if = the name as the DeveloperPC - MY development PC. 3) In the AutoUpdater file I wrote (I wrote it in Access - needed a lot of customization so Tony's didn't work), there is a check to compare 'LatestUpdate' dates between the app on the client and the app on the server. If they don't match, and the PC Name <> Client PC name, then the AutoUpdater file will update the app. Otherwise, an update isn't needed. For one of my customers this is important because their connection to their server will be quite slow for the next year or so. With this setup, I can forget all about it. The LatestUpdate field on my PC gets the current date/time every time I close the app, but that only happens on my PC. The comparison happens every time a client opens the app, and the update is triggered automatically if needed. Dan PS - I used to do this using the Last Modified Date, but that's only accurate once a day. Occasionally I needed to update more frequently. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Monday, March 02, 2015 9:46 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function " Having version details or control values in the tables managed by the app requires the app, or in this case the DBMS to run to check and also to update those values." If you are worried that an application is not capable of reliably storing its version information locally, then why would you trust it to store any data, anywhere? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button Sent: Friday, February 27, 2015 5:35 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function I am not saying there is any difficult to surmount problems with having data in local database tables, just that I would prefer to be able to totally replace the front-end facility with the batch copy process. Not so much KISS as Keep It Dead Simple - and avoid anything on the local system that is part of the downloaded app, rather than a conditioner to have that local copy completely replaced. Having version details or control values in the tables managed by the app requires the app, or in this case the DBMS to run to check and also to update those values. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Friday, February 27, 2015 9:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function " I'd be wary about the process that has the version in a local store" - why? " - and the implications of whatever else is in local stores " - what implications would those be? More correctly, what are you assuming here? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button Sent: Friday, February 27, 2015 1:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function I'd be wary about the process that has the version in a local store - and the implications of whatever else is in local stores - I'd prefer to have a check before actually starting the application's environment, and 'fix' the facility before the windows OS begins to start it up. Then again I try to work on the basis that idiot-proof is having to deal with improved models getting even more help from the OS and software facility writers all the time, so they don't need any extra help from me! However - the question is what is in the setup managed by Janet and her associates. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Friday, February 27, 2015 3:35 PM To: 'Database Advisors' Subject: Re: [AccessD] Automatic Update Function My update process works as follows: The application front end has a table which holds the version number. When it starts up the application looks at a particular folder where the most recent version sits and checks if the version number is greater than the one the user is currently running. If there is a new version, the application then calls an existing vbscript which is stored in the same place as the application latest version file. The running, older copy of the application then shuts itself down. The vbscript then checks the folder where the user's copy of the application resides and sits in a loop waiting for the laccdb file to disappear. When that happens the script then copies the new version into place and launches it. If the loop waiting for the lock file to go away takes longer than 60 seconds it gives up and displays a message to the user. Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach Sent: Friday, February 27, 2015 9:45 AM To: Database Advisors Subject: [AccessD] Automatic Update Function Hello all - Do any of you have a favorite approach/module that you use to automatically update the front end on the user's machine? My monster application from WIFI hell has had auto update issues as well as corruption issues. My co-worker that developed part of the app with me wrote an auto update module that Creates a batch file on the fly Closes Access Runs the batch file to copy the new front end to the user's machine and then re-opens access At least that's what's supposed to happen...there have been a number of times that I've been suspicious about whether or not this auto update is somehow triggering back-end corruption too, although I don't know why it would. There have been many times when the app is up and running fine on 10 machines and when the 11th machine starts up and goes into auto-update mode the whole thing comes crashing down. Maybe that's just coincidence. BTW, I'm implementing the 'write to CSV' option today to try and stop the corruption... Janet Erbach -- 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 -- 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 -- 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 From jerbach.db at gmail.com Mon Mar 2 10:52:54 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Mon, 2 Mar 2015 10:52:54 -0600 Subject: [AccessD] Automatic Update Function In-Reply-To: <54F0D388.23284.1CE3FD3A@stuart.lexacorp.com.pg> References: <54F0D388.23284.1CE3FD3A@stuart.lexacorp.com.pg> Message-ID: Stuart - what specific PITA issues are you referring to? I did already create the CVS logic...but since I'm going to be continuing to mess with the guts of this thing for a while yet, I could always change it. What experience have you had with CSV? On Fri, Feb 27, 2015 at 2:28 PM, Stuart McLachlan wrote: > Just back in Port Moresby after three weeks in Bougainville working on > electoral roll updates > where we had a dozen DPOs working 24/7 using a split Access application. > > BER.accdb is the front end. > > This is the contents of a .cmd file that sits on each PC (with a shrotcut > to it on the desktop): > > @copy \\BERMSERV\BERMS\BER.accdb c:\BER > @START C:\BER\BER.accdb > > I can drop a new copy of BER.accdb on the server at anytime. > Every time the operator starts the application, they get a new copy of it. > It is also handy in > avoiding bloat if you use termporary tables in the FE. > > BTW, don't write to CVS (comma separated values)- that format is a PITA > to work with. use > Tab separated) > > -- > Stuart > > On 27 Feb 2015 at 8:44, Janet Erbach wrote: > > > Hello all - > > > > Do any of you have a favorite approach/module that you use to > > automatically update the front end on the user's machine? My monster > > application from WIFI hell has had auto update issues as well as > > corruption issues. > > > > My co-worker that developed part of the app with me wrote an auto > > update module that > > > > Creates a batch file on the fly > > Closes Access > > Runs the batch file to copy the new front end to the user's machine > > and then re-opens access > > > > At least that's what's supposed to happen...there have been a number > > of times that I've been suspicious about whether or not this auto > > update is somehow triggering back-end corruption too, although I don't > > know why it would. There have been many times when the app is up and > > running fine on 10 machines and when the 11th machine starts up and > > goes into auto-update mode the whole thing comes crashing down. Maybe > > that's just coincidence. > > > > BTW, I'm implementing the 'write to CSV' option today to try and stop > > the corruption... > > > > Janet Erbach > > -- > > 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 > From jamesbutton at blueyonder.co.uk Mon Mar 2 11:01:29 2015 From: jamesbutton at blueyonder.co.uk (James Button) Date: Mon, 2 Mar 2015 17:01:29 -0000 Subject: [AccessD] Automatic Update Function In-Reply-To: References: Message-ID: The point is that it needs the app to be started in order to detect that the app that started is not the version that should have started, and Then it needs that incorrect version of the app to closedown and release the app (and dbms) files and loack so that the new version of the app can be imported. KISS - don't require the app to be started - as in installed and running in order to be able to replace it. Then again, that is my approach, and I accept that my approach is not the only one that can be used. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Monday, March 02, 2015 3:46 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function " Having version details or control values in the tables managed by the app requires the app, or in this case the DBMS to run to check and also to update those values." If you are worried that an application is not capable of reliably storing its version information locally, then why would you trust it to store any data, anywhere? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button Sent: Friday, February 27, 2015 5:35 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function I am not saying there is any difficult to surmount problems with having data in local database tables, just that I would prefer to be able to totally replace the front-end facility with the batch copy process. Not so much KISS as Keep It Dead Simple - and avoid anything on the local system that is part of the downloaded app, rather than a conditioner to have that local copy completely replaced. Having version details or control values in the tables managed by the app requires the app, or in this case the DBMS to run to check and also to update those values. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Friday, February 27, 2015 9:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function " I'd be wary about the process that has the version in a local store" - why? " - and the implications of whatever else is in local stores " - what implications would those be? More correctly, what are you assuming here? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button Sent: Friday, February 27, 2015 1:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function I'd be wary about the process that has the version in a local store - and the implications of whatever else is in local stores - I'd prefer to have a check before actually starting the application's environment, and 'fix' the facility before the windows OS begins to start it up. Then again I try to work on the basis that idiot-proof is having to deal with improved models getting even more help from the OS and software facility writers all the time, so they don't need any extra help from me! However - the question is what is in the setup managed by Janet and her associates. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Friday, February 27, 2015 3:35 PM To: 'Database Advisors' Subject: Re: [AccessD] Automatic Update Function My update process works as follows: The application front end has a table which holds the version number. When it starts up the application looks at a particular folder where the most recent version sits and checks if the version number is greater than the one the user is currently running. If there is a new version, the application then calls an existing vbscript which is stored in the same place as the application latest version file. The running, older copy of the application then shuts itself down. The vbscript then checks the folder where the user's copy of the application resides and sits in a loop waiting for the laccdb file to disappear. When that happens the script then copies the new version into place and launches it. If the loop waiting for the lock file to go away takes longer than 60 seconds it gives up and displays a message to the user. Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach Sent: Friday, February 27, 2015 9:45 AM To: Database Advisors Subject: [AccessD] Automatic Update Function Hello all - Do any of you have a favorite approach/module that you use to automatically update the front end on the user's machine? My monster application from WIFI hell has had auto update issues as well as corruption issues. My co-worker that developed part of the app with me wrote an auto update module that Creates a batch file on the fly Closes Access Runs the batch file to copy the new front end to the user's machine and then re-opens access At least that's what's supposed to happen...there have been a number of times that I've been suspicious about whether or not this auto update is somehow triggering back-end corruption too, although I don't know why it would. There have been many times when the app is up and running fine on 10 machines and when the 11th machine starts up and goes into auto-update mode the whole thing comes crashing down. Maybe that's just coincidence. BTW, I'm implementing the 'write to CSV' option today to try and stop the corruption... Janet Erbach -- 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 -- 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 -- 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 From df.waters at outlook.com Mon Mar 2 11:12:14 2015 From: df.waters at outlook.com (Dan Waters) Date: Mon, 2 Mar 2015 11:12:14 -0600 Subject: [AccessD] Automatic Update Function In-Reply-To: References: Message-ID: Hi Jim, That's not correct. With my AutoUpdater, and with Tony Toew's AutoUpdater, the shortcut on the client PC points to the AutoUpdater file, not the app. So the comparison of last update dates and any updating of the app happens before the app is opened. Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button Sent: Monday, March 02, 2015 11:01 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function The point is that it needs the app to be started in order to detect that the app that started is not the version that should have started, and Then it needs that incorrect version of the app to closedown and release the app (and dbms) files and loack so that the new version of the app can be imported. KISS - don't require the app to be started - as in installed and running in order to be able to replace it. Then again, that is my approach, and I accept that my approach is not the only one that can be used. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Monday, March 02, 2015 3:46 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function " Having version details or control values in the tables managed by the app requires the app, or in this case the DBMS to run to check and also to update those values." If you are worried that an application is not capable of reliably storing its version information locally, then why would you trust it to store any data, anywhere? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button Sent: Friday, February 27, 2015 5:35 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function I am not saying there is any difficult to surmount problems with having data in local database tables, just that I would prefer to be able to totally replace the front-end facility with the batch copy process. Not so much KISS as Keep It Dead Simple - and avoid anything on the local system that is part of the downloaded app, rather than a conditioner to have that local copy completely replaced. Having version details or control values in the tables managed by the app requires the app, or in this case the DBMS to run to check and also to update those values. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Friday, February 27, 2015 9:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function " I'd be wary about the process that has the version in a local store" - why? " - and the implications of whatever else is in local stores " - what implications would those be? More correctly, what are you assuming here? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button Sent: Friday, February 27, 2015 1:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function I'd be wary about the process that has the version in a local store - and the implications of whatever else is in local stores - I'd prefer to have a check before actually starting the application's environment, and 'fix' the facility before the windows OS begins to start it up. Then again I try to work on the basis that idiot-proof is having to deal with improved models getting even more help from the OS and software facility writers all the time, so they don't need any extra help from me! However - the question is what is in the setup managed by Janet and her associates. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Friday, February 27, 2015 3:35 PM To: 'Database Advisors' Subject: Re: [AccessD] Automatic Update Function My update process works as follows: The application front end has a table which holds the version number. When it starts up the application looks at a particular folder where the most recent version sits and checks if the version number is greater than the one the user is currently running. If there is a new version, the application then calls an existing vbscript which is stored in the same place as the application latest version file. The running, older copy of the application then shuts itself down. The vbscript then checks the folder where the user's copy of the application resides and sits in a loop waiting for the laccdb file to disappear. When that happens the script then copies the new version into place and launches it. If the loop waiting for the lock file to go away takes longer than 60 seconds it gives up and displays a message to the user. Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach Sent: Friday, February 27, 2015 9:45 AM To: Database Advisors Subject: [AccessD] Automatic Update Function Hello all - Do any of you have a favorite approach/module that you use to automatically update the front end on the user's machine? My monster application from WIFI hell has had auto update issues as well as corruption issues. My co-worker that developed part of the app with me wrote an auto update module that Creates a batch file on the fly Closes Access Runs the batch file to copy the new front end to the user's machine and then re-opens access At least that's what's supposed to happen...there have been a number of times that I've been suspicious about whether or not this auto update is somehow triggering back-end corruption too, although I don't know why it would. There have been many times when the app is up and running fine on 10 machines and when the 11th machine starts up and goes into auto-update mode the whole thing comes crashing down. Maybe that's just coincidence. BTW, I'm implementing the 'write to CSV' option today to try and stop the corruption... Janet Erbach -- 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 -- 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 -- 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jamesbutton at blueyonder.co.uk Mon Mar 2 13:00:13 2015 From: jamesbutton at blueyonder.co.uk (James Button) Date: Mon, 2 Mar 2015 19:00:13 -0000 Subject: [AccessD] Automatic Update Function In-Reply-To: References: Message-ID: Dan, No argument with that - My response is re the response: If you are worried that an application is not capable of reliably storing its version information locally, then why would you trust it to store any data, anywhere?" to my earlier comment " Having version details or control values in the tables managed by the app requires the app, or in this case the DBMS to run to check and also to update those values." Considering the differences in the processing associated with the various dbms facilities. I have come to be a firm believer in not having apps where there are parts of the data stored locally and other parts stored on a central server. It's OK to have the client systems store data locally while they are active, but any restart of the app should check that the data held locally is as held on the central store. And that there needs to be a robust facility for getting the local parts of an app to be reset. That reset being able to deal with the client PC being restored from a non-contemporaneous set of files. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Monday, March 02, 2015 5:12 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function Hi Jim, That's not correct. With my AutoUpdater, and with Tony Toew's AutoUpdater, the shortcut on the client PC points to the AutoUpdater file, not the app. So the comparison of last update dates and any updating of the app happens before the app is opened. Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button Sent: Monday, March 02, 2015 11:01 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function The point is that it needs the app to be started in order to detect that the app that started is not the version that should have started, and Then it needs that incorrect version of the app to closedown and release the app (and dbms) files and loack so that the new version of the app can be imported. KISS - don't require the app to be started - as in installed and running in order to be able to replace it. Then again, that is my approach, and I accept that my approach is not the only one that can be used. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Monday, March 02, 2015 3:46 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function " Having version details or control values in the tables managed by the app requires the app, or in this case the DBMS to run to check and also to update those values." If you are worried that an application is not capable of reliably storing its version information locally, then why would you trust it to store any data, anywhere? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button Sent: Friday, February 27, 2015 5:35 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function I am not saying there is any difficult to surmount problems with having data in local database tables, just that I would prefer to be able to totally replace the front-end facility with the batch copy process. Not so much KISS as Keep It Dead Simple - and avoid anything on the local system that is part of the downloaded app, rather than a conditioner to have that local copy completely replaced. Having version details or control values in the tables managed by the app requires the app, or in this case the DBMS to run to check and also to update those values. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Friday, February 27, 2015 9:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function " I'd be wary about the process that has the version in a local store" - why? " - and the implications of whatever else is in local stores " - what implications would those be? More correctly, what are you assuming here? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button Sent: Friday, February 27, 2015 1:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function I'd be wary about the process that has the version in a local store - and the implications of whatever else is in local stores - I'd prefer to have a check before actually starting the application's environment, and 'fix' the facility before the windows OS begins to start it up. Then again I try to work on the basis that idiot-proof is having to deal with improved models getting even more help from the OS and software facility writers all the time, so they don't need any extra help from me! However - the question is what is in the setup managed by Janet and her associates. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Friday, February 27, 2015 3:35 PM To: 'Database Advisors' Subject: Re: [AccessD] Automatic Update Function My update process works as follows: The application front end has a table which holds the version number. When it starts up the application looks at a particular folder where the most recent version sits and checks if the version number is greater than the one the user is currently running. If there is a new version, the application then calls an existing vbscript which is stored in the same place as the application latest version file. The running, older copy of the application then shuts itself down. The vbscript then checks the folder where the user's copy of the application resides and sits in a loop waiting for the laccdb file to disappear. When that happens the script then copies the new version into place and launches it. If the loop waiting for the lock file to go away takes longer than 60 seconds it gives up and displays a message to the user. Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach Sent: Friday, February 27, 2015 9:45 AM To: Database Advisors Subject: [AccessD] Automatic Update Function Hello all - Do any of you have a favorite approach/module that you use to automatically update the front end on the user's machine? My monster application from WIFI hell has had auto update issues as well as corruption issues. My co-worker that developed part of the app with me wrote an auto update module that Creates a batch file on the fly Closes Access Runs the batch file to copy the new front end to the user's machine and then re-opens access At least that's what's supposed to happen...there have been a number of times that I've been suspicious about whether or not this auto update is somehow triggering back-end corruption too, although I don't know why it would. There have been many times when the app is up and running fine on 10 machines and when the 11th machine starts up and goes into auto-update mode the whole thing comes crashing down. Maybe that's just coincidence. BTW, I'm implementing the 'write to CSV' option today to try and stop the corruption... Janet Erbach -- 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 -- 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 -- 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 -- 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 From Lambert.Heenan at aig.com Mon Mar 2 13:10:15 2015 From: Lambert.Heenan at aig.com (Heenan, Lambert) Date: Mon, 2 Mar 2015 19:10:15 +0000 Subject: [AccessD] Automatic Update Function In-Reply-To: References: Message-ID: IMHO the version number information in the front end is not an example of an "[app] apps where there are parts of the data stored locally and other parts stored on a central server". The version number is not part of the data being managed by the application, it is a property of the application, an attribute of it, which is independent of the data the app handles. The version number could be stored in a local text file, as a property of the MS Access accde/accdb file, as an entry in a table in the front end, a registry entry in the local machine, a table entry in another remote location. In short there are any number of ways of keeping track of the application version and none of them have anything to do with the data the application is working with. Just my 2 cents. Lambert :-) -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button Sent: Monday, March 02, 2015 2:00 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function Dan, No argument with that - My response is re the response: If you are worried that an application is not capable of reliably storing its version information locally, then why would you trust it to store any data, anywhere?" to my earlier comment " Having version details or control values in the tables managed by the app requires the app, or in this case the DBMS to run to check and also to update those values." Considering the differences in the processing associated with the various dbms facilities. I have come to be a firm believer in not having apps where there are parts of the data stored locally and other parts stored on a central server. It's OK to have the client systems store data locally while they are active, but any restart of the app should check that the data held locally is as held on the central store. And that there needs to be a robust facility for getting the local parts of an app to be reset. That reset being able to deal with the client PC being restored from a non-contemporaneous set of files. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Monday, March 02, 2015 5:12 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function Hi Jim, That's not correct. With my AutoUpdater, and with Tony Toew's AutoUpdater, the shortcut on the client PC points to the AutoUpdater file, not the app. So the comparison of last update dates and any updating of the app happens before the app is opened. Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button Sent: Monday, March 02, 2015 11:01 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function The point is that it needs the app to be started in order to detect that the app that started is not the version that should have started, and Then it needs that incorrect version of the app to closedown and release the app (and dbms) files and loack so that the new version of the app can be imported. KISS - don't require the app to be started - as in installed and running in order to be able to replace it. Then again, that is my approach, and I accept that my approach is not the only one that can be used. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Monday, March 02, 2015 3:46 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function " Having version details or control values in the tables managed by the app requires the app, or in this case the DBMS to run to check and also to update those values." If you are worried that an application is not capable of reliably storing its version information locally, then why would you trust it to store any data, anywhere? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button Sent: Friday, February 27, 2015 5:35 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function I am not saying there is any difficult to surmount problems with having data in local database tables, just that I would prefer to be able to totally replace the front-end facility with the batch copy process. Not so much KISS as Keep It Dead Simple - and avoid anything on the local system that is part of the downloaded app, rather than a conditioner to have that local copy completely replaced. Having version details or control values in the tables managed by the app requires the app, or in this case the DBMS to run to check and also to update those values. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Friday, February 27, 2015 9:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function " I'd be wary about the process that has the version in a local store" - why? " - and the implications of whatever else is in local stores " - what implications would those be? More correctly, what are you assuming here? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button Sent: Friday, February 27, 2015 1:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Automatic Update Function I'd be wary about the process that has the version in a local store - and the implications of whatever else is in local stores - I'd prefer to have a check before actually starting the application's environment, and 'fix' the facility before the windows OS begins to start it up. Then again I try to work on the basis that idiot-proof is having to deal with improved models getting even more help from the OS and software facility writers all the time, so they don't need any extra help from me! However - the question is what is in the setup managed by Janet and her associates. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Friday, February 27, 2015 3:35 PM To: 'Database Advisors' Subject: Re: [AccessD] Automatic Update Function My update process works as follows: The application front end has a table which holds the version number. When it starts up the application looks at a particular folder where the most recent version sits and checks if the version number is greater than the one the user is currently running. If there is a new version, the application then calls an existing vbscript which is stored in the same place as the application latest version file. The running, older copy of the application then shuts itself down. The vbscript then checks the folder where the user's copy of the application resides and sits in a loop waiting for the laccdb file to disappear. When that happens the script then copies the new version into place and launches it. If the loop waiting for the lock file to go away takes longer than 60 seconds it gives up and displays a message to the user. Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach Sent: Friday, February 27, 2015 9:45 AM To: Database Advisors Subject: [AccessD] Automatic Update Function Hello all - Do any of you have a favorite approach/module that you use to automatically update the front end on the user's machine? My monster application from WIFI hell has had auto update issues as well as corruption issues. My co-worker that developed part of the app with me wrote an auto update module that Creates a batch file on the fly Closes Access Runs the batch file to copy the new front end to the user's machine and then re-opens access At least that's what's supposed to happen...there have been a number of times that I've been suspicious about whether or not this auto update is somehow triggering back-end corruption too, although I don't know why it would. There have been many times when the app is up and running fine on 10 machines and when the 11th machine starts up and goes into auto-update mode the whole thing comes crashing down. Maybe that's just coincidence. BTW, I'm implementing the 'write to CSV' option today to try and stop the corruption... Janet Erbach -- 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 -- 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 -- 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 -- 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at gmail.com Mon Mar 2 13:11:45 2015 From: jwcolby at gmail.com (John W. Colby) Date: Mon, 02 Mar 2015 14:11:45 -0500 Subject: [AccessD] Automatic Update Function In-Reply-To: References: <54F0D388.23284.1CE3FD3A@stuart.lexacorp.com.pg> Message-ID: <54F4B5F1.7010601@gmail.com> Janet, CSV is a standard used to "wrap" data that might contain commas (addresses for example) in double quotes - " - and then "separate" the fields with commas. So you end up with something like: "Data1", "data2", "data3" CRLF "Data4", "Data5", "Data6" CRLF Etc. As a standard, it works as well as any other. The problem is that some folks don't use the enclosing quotes, and then if a comma slips into the data, the importer things there is an extra field in the line and all ... breaks loose. Tab delimited doesn't necessarily solve that problem. I often use pipe delimited since the pipe is less often used than tab. If you have control of both ends, just use CSV and don't worry about it. John W. Colby On 3/2/2015 11:52 AM, Janet Erbach wrote: > Stuart - what specific PITA issues are you referring to? I did already > create the CVS logic...but since I'm going to be continuing to mess with > the guts of this thing for a while yet, I could always change it. What > experience have you had with CSV? > > On Fri, Feb 27, 2015 at 2:28 PM, Stuart McLachlan > wrote: > >> Just back in Port Moresby after three weeks in Bougainville working on >> electoral roll updates >> where we had a dozen DPOs working 24/7 using a split Access application. >> >> BER.accdb is the front end. >> >> This is the contents of a .cmd file that sits on each PC (with a shrotcut >> to it on the desktop): >> >> @copy \\BERMSERV\BERMS\BER.accdb c:\BER >> @START C:\BER\BER.accdb >> >> I can drop a new copy of BER.accdb on the server at anytime. >> Every time the operator starts the application, they get a new copy of it. >> It is also handy in >> avoiding bloat if you use termporary tables in the FE. >> >> BTW, don't write to CVS (comma separated values)- that format is a PITA >> to work with. use >> Tab separated) >> >> -- >> Stuart >> >> On 27 Feb 2015 at 8:44, Janet Erbach wrote: >> >>> Hello all - >>> >>> Do any of you have a favorite approach/module that you use to >>> automatically update the front end on the user's machine? My monster >>> application from WIFI hell has had auto update issues as well as >>> corruption issues. >>> >>> My co-worker that developed part of the app with me wrote an auto >>> update module that >>> >>> Creates a batch file on the fly >>> Closes Access >>> Runs the batch file to copy the new front end to the user's machine >>> and then re-opens access >>> >>> At least that's what's supposed to happen...there have been a number >>> of times that I've been suspicious about whether or not this auto >>> update is somehow triggering back-end corruption too, although I don't >>> know why it would. There have been many times when the app is up and >>> running fine on 10 machines and when the 11th machine starts up and >>> goes into auto-update mode the whole thing comes crashing down. Maybe >>> that's just coincidence. >>> >>> BTW, I'm implementing the 'write to CSV' option today to try and stop >>> the corruption... >>> >>> Janet Erbach >>> -- >>> 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 >> From jerbach.db at gmail.com Mon Mar 2 13:52:51 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Mon, 2 Mar 2015 13:52:51 -0600 Subject: [AccessD] Automatic Update Function In-Reply-To: <54F4B5F1.7010601@gmail.com> References: <54F0D388.23284.1CE3FD3A@stuart.lexacorp.com.pg> <54F4B5F1.7010601@gmail.com> Message-ID: Ah. Thank you for spelling it out - I am aware of the issues you mentioned, and am not concerned for this app that commas will slip in to mess things up. I was concerned that there might be another 'gotcha' that I hadn't run into yet. :) I will leave it as CSV then, since it's already written that way. On Mon, Mar 2, 2015 at 1:11 PM, John W. Colby wrote: > Janet, > > CSV is a standard used to "wrap" data that might contain commas (addresses > for example) in double quotes - " - and then "separate" the fields with > commas. So you end up with something like: > > "Data1", "data2", "data3" CRLF > "Data4", "Data5", "Data6" CRLF > > Etc. > > As a standard, it works as well as any other. The problem is that some > folks don't use the enclosing quotes, and then if a comma slips into the > data, the importer things there is an extra field in the line and all ... > breaks loose. Tab delimited doesn't necessarily solve that problem. I > often use pipe delimited since the pipe is less often used than tab. > > If you have control of both ends, just use CSV and don't worry about it. > > John W. Colby > > > On 3/2/2015 11:52 AM, Janet Erbach wrote: > >> Stuart - what specific PITA issues are you referring to? I did already >> create the CVS logic...but since I'm going to be continuing to mess with >> the guts of this thing for a while yet, I could always change it. What >> experience have you had with CSV? >> >> On Fri, Feb 27, 2015 at 2:28 PM, Stuart McLachlan > > >> wrote: >> >> Just back in Port Moresby after three weeks in Bougainville working on >>> electoral roll updates >>> where we had a dozen DPOs working 24/7 using a split Access application. >>> >>> BER.accdb is the front end. >>> >>> This is the contents of a .cmd file that sits on each PC (with a shrotcut >>> to it on the desktop): >>> >>> @copy \\BERMSERV\BERMS\BER.accdb c:\BER >>> @START C:\BER\BER.accdb >>> >>> I can drop a new copy of BER.accdb on the server at anytime. >>> Every time the operator starts the application, they get a new copy of >>> it. >>> It is also handy in >>> avoiding bloat if you use termporary tables in the FE. >>> >>> BTW, don't write to CVS (comma separated values)- that format is a PITA >>> to work with. use >>> Tab separated) >>> >>> -- >>> Stuart >>> >>> On 27 Feb 2015 at 8:44, Janet Erbach wrote: >>> >>> Hello all - >>>> >>>> Do any of you have a favorite approach/module that you use to >>>> automatically update the front end on the user's machine? My monster >>>> application from WIFI hell has had auto update issues as well as >>>> corruption issues. >>>> >>>> My co-worker that developed part of the app with me wrote an auto >>>> update module that >>>> >>>> Creates a batch file on the fly >>>> Closes Access >>>> Runs the batch file to copy the new front end to the user's machine >>>> and then re-opens access >>>> >>>> At least that's what's supposed to happen...there have been a number >>>> of times that I've been suspicious about whether or not this auto >>>> update is somehow triggering back-end corruption too, although I don't >>>> know why it would. There have been many times when the app is up and >>>> running fine on 10 machines and when the 11th machine starts up and >>>> goes into auto-update mode the whole thing comes crashing down. Maybe >>>> that's just coincidence. >>>> >>>> BTW, I'm implementing the 'write to CSV' option today to try and stop >>>> the corruption... >>>> >>>> Janet Erbach >>>> -- >>>> 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 >>> >>> > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From stuart at lexacorp.com.pg Mon Mar 2 14:33:35 2015 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Tue, 03 Mar 2015 07:33:35 +1100 Subject: [AccessD] Automatic Update Function In-Reply-To: References: , <54F0D388.23284.1CE3FD3A@stuart.lexacorp.com.pg>, Message-ID: <54F4C91F.4287.EE1D527@stuart.lexacorp.com.pg> The main hassle is dealing with embedded quotes and commas in text fields and parsing a mixture of text and numeric fields where only the text fields rare quoted. It is a real PITA if you are using data generated by anyone else since there is no standard for CSVs ( ie, whether to quote numeric fields, how to "escape" embedded quotes etc). If you use Tabs as your delimiter, you don't need to worry about quoting and parsing text fields (and as a bonus, Excel understands Tab separated columns). -- Stuart On 2 Mar 2015 at 10:52, Janet Erbach wrote: > Stuart - what specific PITA issues are you referring to? I did > already create the CVS logic...but since I'm going to be continuing to > mess with the guts of this thing for a while yet, I could always > change it. What experience have you had with CSV? > > On Fri, Feb 27, 2015 at 2:28 PM, Stuart McLachlan > wrote: > > > Just back in Port Moresby after three weeks in Bougainville working > > on electoral roll updates where we had a dozen DPOs working 24/7 > > using a split Access application. > > > > BER.accdb is the front end. > > > > This is the contents of a .cmd file that sits on each PC (with a > > shrotcut to it on the desktop): > > > > @copy \\BERMSERV\BERMS\BER.accdb c:\BER > > @START C:\BER\BER.accdb > > > > I can drop a new copy of BER.accdb on the server at anytime. > > Every time the operator starts the application, they get a new copy > > of it. It is also handy in avoiding bloat if you use termporary > > tables in the FE. > > > > BTW, don't write to CVS (comma separated values)- that format is a > > PITA to work with. use Tab separated) > > > > -- > > Stuart > > > > On 27 Feb 2015 at 8:44, Janet Erbach wrote: > > > > > Hello all - > > > > > > Do any of you have a favorite approach/module that you use to > > > automatically update the front end on the user's machine? My > > > monster application from WIFI hell has had auto update issues as > > > well as corruption issues. > > > > > > My co-worker that developed part of the app with me wrote an auto > > > update module that > > > > > > Creates a batch file on the fly > > > Closes Access > > > Runs the batch file to copy the new front end to the user's > > > machine and then re-opens access > > > > > > At least that's what's supposed to happen...there have been a > > > number of times that I've been suspicious about whether or not > > > this auto update is somehow triggering back-end corruption too, > > > although I don't know why it would. There have been many times > > > when the app is up and running fine on 10 machines and when the > > > 11th machine starts up and goes into auto-update mode the whole > > > thing comes crashing down. Maybe that's just coincidence. > > > > > > BTW, I'm implementing the 'write to CSV' option today to try and > > > stop the corruption... > > > > > > Janet Erbach > > > -- > > > 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 > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From stuart at lexacorp.com.pg Mon Mar 2 14:38:36 2015 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Tue, 03 Mar 2015 07:38:36 +1100 Subject: [AccessD] Automatic Update Function In-Reply-To: <54F4B5F1.7010601@gmail.com> References: , , <54F4B5F1.7010601@gmail.com> Message-ID: <54F4CA4C.4521.EE66BDA@stuart.lexacorp.com.pg> That's a very simple example. Try 10,"Some text",200,"Sone, other text with a comma","3,000","the last one was a number, not text- but it was formatted!","3,2"," and that last one had a comma because it's a german decimal number!" :( On 2 Mar 2015 at 14:11, John W. Colby wrote: > Janet, > > CSV is a standard used to "wrap" data that might contain commas > (addresses for example) in double quotes - " - and then "separate" the > fields with commas. So you end up with something like: > > "Data1", "data2", "data3" CRLF > "Data4", "Data5", "Data6" CRLF > > Etc. > > As a standard, it works as well as any other. The problem is that > some folks don't use the enclosing quotes, and then if a comma slips > into the data, the importer things there is an extra field in the line > and all ... breaks loose. Tab delimited doesn't necessarily solve > that problem. I often use pipe delimited since the pipe is less often > used than tab. > > If you have control of both ends, just use CSV and don't worry about > it. > > John W. Colby > > On 3/2/2015 11:52 AM, Janet Erbach wrote: > > Stuart - what specific PITA issues are you referring to? I did > > already create the CVS logic...but since I'm going to be continuing > > to mess with the guts of this thing for a while yet, I could always > > change it. What experience have you had with CSV? > > > > On Fri, Feb 27, 2015 at 2:28 PM, Stuart McLachlan > > wrote: > > > >> Just back in Port Moresby after three weeks in Bougainville working > >> on electoral roll updates where we had a dozen DPOs working 24/7 > >> using a split Access application. > >> > >> BER.accdb is the front end. > >> > >> This is the contents of a .cmd file that sits on each PC (with a > >> shrotcut to it on the desktop): > >> > >> @copy \\BERMSERV\BERMS\BER.accdb c:\BER > >> @START C:\BER\BER.accdb > >> > >> I can drop a new copy of BER.accdb on the server at anytime. > >> Every time the operator starts the application, they get a new copy > >> of it. It is also handy in avoiding bloat if you use termporary > >> tables in the FE. > >> > >> BTW, don't write to CVS (comma separated values)- that format is a > >> PITA to work with. use Tab separated) > >> > >> -- > >> Stuart > >> > >> On 27 Feb 2015 at 8:44, Janet Erbach wrote: > >> > >>> Hello all - > >>> > >>> Do any of you have a favorite approach/module that you use to > >>> automatically update the front end on the user's machine? My > >>> monster application from WIFI hell has had auto update issues as > >>> well as corruption issues. > >>> > >>> My co-worker that developed part of the app with me wrote an auto > >>> update module that > >>> > >>> Creates a batch file on the fly > >>> Closes Access > >>> Runs the batch file to copy the new front end to the user's > >>> machine and then re-opens access > >>> > >>> At least that's what's supposed to happen...there have been a > >>> number of times that I've been suspicious about whether or not > >>> this auto update is somehow triggering back-end corruption too, > >>> although I don't know why it would. There have been many times > >>> when the app is up and running fine on 10 machines and when the > >>> 11th machine starts up and goes into auto-update mode the whole > >>> thing comes crashing down. Maybe that's just coincidence. > >>> > >>> BTW, I'm implementing the 'write to CSV' option today to try and > >>> stop the corruption... > >>> > >>> Janet Erbach > >>> -- > >>> 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 > >> > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jerbach.db at gmail.com Mon Mar 2 10:51:39 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Mon, 2 Mar 2015 10:51:39 -0600 Subject: [AccessD] Automatic Update Function In-Reply-To: References: Message-ID: Once again, I thank all of you for your suggestions. I really like the idea about downloading a new version every time the user opens the app - that's so clean and straightforward. I also really, really like the idea of Tony's Auto Updater - but I know they'll never pony up for that. I realize after reading through the thread that I shouldn't implement a new FE update procedure until I take care of a major design change. I need to make a second (and local) backend for the app and populate it with the local data that is specific to each user's production machine configuration. The app uses local tables all day long because of WIFI interruptions, and right now when the app updates it pulls whatever local data is in the server front-end copy and then has to re-create new local tables that are pertinent to the work area. Man, this has been a learning experience for me, and my hind sight vision is better than ever.... On Mon, Mar 2, 2015 at 10:14 AM, Dan Waters wrote: > Several few years ago I needed to create a method to be sure my customers > go > the latest file. This is how I did it. > > 1) In my app, I made a table named 'tblLatestUpdate' which has just one > row. > A date column is named 'LatestUpdate' and a text column is named > 'DeveloperPC'. > > 2) I made a form named 'frmShutdown' which is opened by startup code as an > invisible form. When the app shuts down, the form_closing sub has code > which will put the current date/time into the LatestUpdate column IF the > name of the PC running the app if = the name as the DeveloperPC - MY > development PC. > > 3) In the AutoUpdater file I wrote (I wrote it in Access - needed a lot of > customization so Tony's didn't work), there is a check to compare > 'LatestUpdate' dates between the app on the client and the app on the > server. If they don't match, and the PC Name <> Client PC name, then the > AutoUpdater file will update the app. Otherwise, an update isn't needed. > For one of my customers this is important because their connection to their > server will be quite slow for the next year or so. > > With this setup, I can forget all about it. The LatestUpdate field on my > PC > gets the current date/time every time I close the app, but that only > happens > on my PC. The comparison happens every time a client opens the app, and > the > update is triggered automatically if needed. > > Dan > > PS - I used to do this using the Last Modified Date, but that's only > accurate once a day. Occasionally I needed to update more frequently. > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert > Sent: Monday, March 02, 2015 9:46 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Automatic Update Function > > " Having version details or control values in the tables managed by the app > requires the app, or in this case the DBMS to run to check and also to > update those values." > > If you are worried that an application is not capable of reliably storing > its version information locally, then why would you trust it to store any > data, anywhere? > > Lambert > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button > Sent: Friday, February 27, 2015 5:35 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Automatic Update Function > > I am not saying there is any difficult to surmount problems with having > data > in local database tables, just that I would prefer to be able to totally > replace the front-end facility with the batch copy process. > > Not so much KISS as Keep It Dead Simple - and avoid anything on the local > system that is part of the downloaded app, rather than a conditioner to > have > that local copy completely replaced. > > Having version details or control values in the tables managed by the app > requires the app, or in this case the DBMS to run to check and also to > update those values. > > JimB > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert > Sent: Friday, February 27, 2015 9:58 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Automatic Update Function > > " I'd be wary about the process that has the version in a local store" - > why? > > " - and the implications of whatever else is in local stores " - what > implications would those be? More correctly, what are you assuming here? > > Lambert > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button > Sent: Friday, February 27, 2015 1:58 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Automatic Update Function > > I'd be wary about the process that has the version in a local store - and > the implications of whatever else is in local stores - > > I'd prefer to have a check before actually starting the application's > environment, and 'fix' the facility before the windows OS begins to start > it > up. > > Then again I try to work on the basis that idiot-proof is having to deal > with improved models getting even more help from the OS and software > facility writers all the time, so they don't need any extra help from me! > > > However - the question is what is in the setup managed by Janet and her > associates. > > JimB > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert > Sent: Friday, February 27, 2015 3:35 PM > To: 'Database Advisors' > Subject: Re: [AccessD] Automatic Update Function > > My update process works as follows: > > The application front end has a table which holds the version number. When > it starts up the application looks at a particular folder where the most > recent version sits and checks if the version number is greater than the > one > the user is currently running. > > If there is a new version, the application then calls an existing vbscript > which is stored in the same place as the application latest version file. > The running, older copy of the application then shuts itself down. > > The vbscript then checks the folder where the user's copy of the > application > resides and sits in a loop waiting for the laccdb file to disappear. When > that happens the script then copies the new version into place and launches > it. > > > If the loop waiting for the lock file to go away takes longer than 60 > seconds it gives up and displays a message to the user. > > > Lambert > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach > Sent: Friday, February 27, 2015 9:45 AM > To: Database Advisors > Subject: [AccessD] Automatic Update Function > > Hello all - > > Do any of you have a favorite approach/module that you use to automatically > update the front end on the user's machine? My monster application from > WIFI hell has had auto update issues as well as corruption issues. > > My co-worker that developed part of the app with me wrote an auto update > module that > > Creates a batch file on the fly > Closes Access > Runs the batch file to copy the new front end to the user's machine and > then > re-opens access > > At least that's what's supposed to happen...there have been a number of > times that I've been suspicious about whether or not this auto update is > somehow triggering back-end corruption too, although I don't know why it > would. There have been many times when the app is up and running fine on > 10 machines and when the 11th machine starts up and goes into auto-update > mode the whole thing comes crashing down. Maybe that's just coincidence. > > BTW, I'm implementing the 'write to CSV' option today to try and stop the > corruption... > > Janet Erbach > -- > 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 > > -- > 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 > > -- > 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at gmail.com Mon Mar 2 15:26:51 2015 From: jwcolby at gmail.com (John W. Colby) Date: Mon, 02 Mar 2015 16:26:51 -0500 Subject: [AccessD] Analyzing groups of dated records Message-ID: <54F4D59B.9010405@gmail.com> I wrote an application that updates 500 million records a month. The process involves exporting the records out of SQL Server to text files, feeding the files off to a third party app, and then re-importing the files back into SQL Server. I would like to analyze the number of files processed per hour, per day etc. This would allow me to discover whether there is an optimum time of day / week / month to do this processing. When I export the files I create a parent "supervisor" record (and class instance in C#) which class instance is then tasked with exporting the files out to disk. As files are exported, a process record (and class instance) is created for each file. The process record is then updated with the date / time that the various processes occur: 1) The date time that the file is created on disk 2) The date / time that the file is sent to the virtual machine for processing, as well as which VM is processing that file. 3) The date / time that the resulting file comes back from the VM 4) The date / time that the file is imported back into SQL Server. Each of these processes runs on threads that can be started and stopped individually. Step 1 (export to disk) can occur whether or not the VMs are being fed with data. Step 2 (file to VM) can occur as soon as (and as long as) any file is out on disk ready for processing. Step 3 (file back from VM) can occur as soon as the result file is ready out on the VM Step 4 (file into SQL Server) can occur as soon as (and as long as) any result file has been brought back from the VM. Step 1 truly is standalone, and can occur whenever the source data table is ready to be processed. I create a start date / time to begin processing each database. Steps 2 and 3 are actually (and unfortunately) run on the same thread and can be thought of as a single process. A file is sent to the VM, the date / time / VM name is logged, and then the thread just watches for the resulting file. When the file is created, the thread copies the file back from the VM to a receiving directory and the date / time is logged. Step 4 is standalone, at least in that if there are files available in the receiving directory (returned flag is set) , then that process can run. My objective when designing this whole thing was to make the processing asynchronous, allow multiple VMs, allow me to take VMs off line and still process etc. It all works quite well. So basically, the bottle neck is the third party process running in the VMs. Each VM can process one file at a time. Each VM will process approximately 1 million records / hour. However in the middle of the process out on the VM, the data has to be uploaded over the internet to a server out in California for processing, and then change records downloaded back down to the VM and changes integrated back into the data in that file. IOW Change of Address records, actual MOVES comes back. And finally the app spits out a (pipe delimited) CSV of the data I sent to the VM plus additional flag fields. It turns out that the upload / process / download on the remote server is the overall bottleneck. Since I have "Date / time sent to vm" and "Date / time received from VM" recorded in my process records, I can (if I can figure out how) analyze how many records / hour I am processing over a given time window. I want to know does it change? I know for a fact that I am one of the largest users in terms of total records per month. I also know that the server in California runs small files before large files. What I do not know is how that selection process works. Nor do I know the time of day loads on his servers. I could program my system to "self throttle", only work at specific times of day, only work on the weekends, use smaller files (fewer records / file), use bigger files etc. In order to do that though I need to have real live analysis of results as I make changes. I would like to start by just analyzing hourly "files / hour" kinds of metrics. Analysis is not my forte however and I really don't know the big picture on how to group and count records by date / time. Big picture, how do I ask (SQL) how many records do I have from midnight to 1, 1 to 2, 2 to 3 etc. Or even midnight to 4 am, 4am to 8 am etc. Then by day of the week. And so forth. Pick a date / time to begin, a date / time to end and a time period to group on, then translate that into SQL. And of course put it on paper (screen) in a visual sort of way. I can (and have) just counted files processed between midnight and 8 and divided by 8 to get files per hour. NOT FUN! Really not fun to do a thorough analysis. I like FUN and easy and repeatable, and automatic. -- John W. Colby From jwcolby at gmail.com Mon Mar 2 15:32:08 2015 From: jwcolby at gmail.com (John W. Colby) Date: Mon, 02 Mar 2015 16:32:08 -0500 Subject: [AccessD] Automatic Update Function In-Reply-To: <54F4CA4C.4521.EE66BDA@stuart.lexacorp.com.pg> References: , , <54F4B5F1.7010601@gmail.com> <54F4CA4C.4521.EE66BDA@stuart.lexacorp.com.pg> Message-ID: <54F4D6D8.2080201@gmail.com> Of course it was simple. However if you look at SQL Server export for example, by default if you tell it to use quotes, it quotes EVERY FIELD. So if you are getting data from the wild, look out. If you are doing the export yourself, and then the import yourself, it is really fairly easy, you control both ends. As I mentioned I like pipe delimited because (in MY data) pipes are unheard of, so using that as a delimiter is pretty safe. My data is name / address from the wild, so tabs are encountered occasionally. I have never actually seen a pipe coming in from raw data, though of course it is a key on the keyboard and someone could accidentally hit it. John W. Colby On 3/2/2015 3:38 PM, Stuart McLachlan wrote: > That's a very simple example. Try > > 10,"Some text",200,"Sone, other text with a comma","3,000","the last one was a number, not > text- but it was formatted!","3,2"," and that last one had a comma because it's a german > decimal number!" > > > :( > > > On 2 Mar 2015 at 14:11, John W. Colby wrote: > From jerbach.db at gmail.com Mon Mar 2 15:32:08 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Mon, 2 Mar 2015 15:32:08 -0600 Subject: [AccessD] Automatic Update Function In-Reply-To: <54F4CA4C.4521.EE66BDA@stuart.lexacorp.com.pg> References: <54F4B5F1.7010601@gmail.com> <54F4CA4C.4521.EE66BDA@stuart.lexacorp.com.pg> Message-ID: Yes, with user input data that would be problematic. In this case, all of my data is generated with VBA code from within the app, so it should stay clean. But it's a good reminder for future apps. And I didn't realize Germans used commas in place of the decimal; since our parent company is German, I'll keep that in mind! On Mon, Mar 2, 2015 at 2:38 PM, Stuart McLachlan wrote: > That's a very simple example. Try > > 10,"Some text",200,"Sone, other text with a comma","3,000","the last one > was a number, not > text- but it was formatted!","3,2"," and that last one had a comma because > it's a german > decimal number!" > > > :( > > > On 2 Mar 2015 at 14:11, John W. Colby wrote: > > > Janet, > > > > CSV is a standard used to "wrap" data that might contain commas > > (addresses for example) in double quotes - " - and then "separate" the > > fields with commas. So you end up with something like: > > > > "Data1", "data2", "data3" CRLF > > "Data4", "Data5", "Data6" CRLF > > > > Etc. > > > > As a standard, it works as well as any other. The problem is that > > some folks don't use the enclosing quotes, and then if a comma slips > > into the data, the importer things there is an extra field in the line > > and all ... breaks loose. Tab delimited doesn't necessarily solve > > that problem. I often use pipe delimited since the pipe is less often > > used than tab. > > > > If you have control of both ends, just use CSV and don't worry about > > it. > > > > John W. Colby > > > > On 3/2/2015 11:52 AM, Janet Erbach wrote: > > > Stuart - what specific PITA issues are you referring to? I did > > > already create the CVS logic...but since I'm going to be continuing > > > to mess with the guts of this thing for a while yet, I could always > > > change it. What experience have you had with CSV? > > > > > > On Fri, Feb 27, 2015 at 2:28 PM, Stuart McLachlan > > > wrote: > > > > > >> Just back in Port Moresby after three weeks in Bougainville working > > >> on electoral roll updates where we had a dozen DPOs working 24/7 > > >> using a split Access application. > > >> > > >> BER.accdb is the front end. > > >> > > >> This is the contents of a .cmd file that sits on each PC (with a > > >> shrotcut to it on the desktop): > > >> > > >> @copy \\BERMSERV\BERMS\BER.accdb c:\BER > > >> @START C:\BER\BER.accdb > > >> > > >> I can drop a new copy of BER.accdb on the server at anytime. > > >> Every time the operator starts the application, they get a new copy > > >> of it. It is also handy in avoiding bloat if you use termporary > > >> tables in the FE. > > >> > > >> BTW, don't write to CVS (comma separated values)- that format is a > > >> PITA to work with. use Tab separated) > > >> > > >> -- > > >> Stuart > > >> > > >> On 27 Feb 2015 at 8:44, Janet Erbach wrote: > > >> > > >>> Hello all - > > >>> > > >>> Do any of you have a favorite approach/module that you use to > > >>> automatically update the front end on the user's machine? My > > >>> monster application from WIFI hell has had auto update issues as > > >>> well as corruption issues. > > >>> > > >>> My co-worker that developed part of the app with me wrote an auto > > >>> update module that > > >>> > > >>> Creates a batch file on the fly > > >>> Closes Access > > >>> Runs the batch file to copy the new front end to the user's > > >>> machine and then re-opens access > > >>> > > >>> At least that's what's supposed to happen...there have been a > > >>> number of times that I've been suspicious about whether or not > > >>> this auto update is somehow triggering back-end corruption too, > > >>> although I don't know why it would. There have been many times > > >>> when the app is up and running fine on 10 machines and when the > > >>> 11th machine starts up and goes into auto-update mode the whole > > >>> thing comes crashing down. Maybe that's just coincidence. > > >>> > > >>> BTW, I'm implementing the 'write to CSV' option today to try and > > >>> stop the corruption... > > >>> > > >>> Janet Erbach > > >>> -- > > >>> 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 > > >> > > > > -- > > 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 > From jamesbutton at blueyonder.co.uk Mon Mar 2 16:29:39 2015 From: jamesbutton at blueyonder.co.uk (James Button) Date: Mon, 2 Mar 2015 22:29:39 -0000 Subject: [AccessD] Automatic Update Function In-Reply-To: References: Message-ID: While still believing that the app version should be checked as a preamble to the app startup, and a trigger for a refresh download. Rather than downloading one of a series of prebuilt sets of local client control data, as part of that download, a rebuild of the client store - perhaps a view (or set of them) would probably be the approach to assemble the individual client sets of data when the app is updated, or reset. Then: When the app starts-up it should check that it has a valid copy of the data held on the central store. Checking of the control data against the server source could be done by validation against a timestamp put into that client systems 'view' as the extract and download was initiated. That should be a reasonably secure means of ensuring that the local client data matches the central store, and is acceptable to the currently installed version of the app. Hopefully, all the local data will be in a single db file, so it should not be possible to have a local system restore, or filecopy part update or revert the data. ---- Accepting that the facility must be running on a local copy of a database puts a different aspect on your processing. Accepting it will be less safe, in that you have difficulty ensuring that data updates from the client systems are all incorporated into the central source. A major problem being that a refresh of the app and it's local database would clear out any detail of data updates that have not been transmitted ( well accepted by the central store as received). I cannot see any easy way to ensure that - with a local system restore, it will be possible to ensure that the central store holds all the data that has been entered at the local system. JimB -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach Sent: Monday, March 02, 2015 4:52 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Automatic Update Function Once again, I thank all of you for your suggestions. I really like the idea about downloading a new version every time the user opens the app - that's so clean and straightforward. I also really, really like the idea of Tony's Auto Updater - but I know they'll never pony up for that. I realize after reading through the thread that I shouldn't implement a new FE update procedure until I take care of a major design change. I need to make a second (and local) backend for the app and populate it with the local data that is specific to each user's production machine configuration. The app uses local tables all day long because of WIFI interruptions, and right now when the app updates it pulls whatever local data is in the server front-end copy and then has to re-create new local tables that are pertinent to the work area. Man, this has been a learning experience for me, and my hind sight vision is better than ever.... On Mon, Mar 2, 2015 at 10:14 AM, Dan Waters wrote: > Several few years ago I needed to create a method to be sure my customers > go > the latest file. This is how I did it. > > 1) In my app, I made a table named 'tblLatestUpdate' which has just one > row. > A date column is named 'LatestUpdate' and a text column is named > 'DeveloperPC'. > > 2) I made a form named 'frmShutdown' which is opened by startup code as an > invisible form. When the app shuts down, the form_closing sub has code > which will put the current date/time into the LatestUpdate column IF the > name of the PC running the app if = the name as the DeveloperPC - MY > development PC. > > 3) In the AutoUpdater file I wrote (I wrote it in Access - needed a lot of > customization so Tony's didn't work), there is a check to compare > 'LatestUpdate' dates between the app on the client and the app on the > server. If they don't match, and the PC Name <> Client PC name, then the > AutoUpdater file will update the app. Otherwise, an update isn't needed. > For one of my customers this is important because their connection to their > server will be quite slow for the next year or so. > > With this setup, I can forget all about it. The LatestUpdate field on my > PC > gets the current date/time every time I close the app, but that only > happens > on my PC. The comparison happens every time a client opens the app, and > the > update is triggered automatically if needed. > > Dan > > PS - I used to do this using the Last Modified Date, but that's only > accurate once a day. Occasionally I needed to update more frequently. > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert > Sent: Monday, March 02, 2015 9:46 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Automatic Update Function > > " Having version details or control values in the tables managed by the app > requires the app, or in this case the DBMS to run to check and also to > update those values." > > If you are worried that an application is not capable of reliably storing > its version information locally, then why would you trust it to store any > data, anywhere? > > Lambert > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button > Sent: Friday, February 27, 2015 5:35 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Automatic Update Function > > I am not saying there is any difficult to surmount problems with having > data > in local database tables, just that I would prefer to be able to totally > replace the front-end facility with the batch copy process. > > Not so much KISS as Keep It Dead Simple - and avoid anything on the local > system that is part of the downloaded app, rather than a conditioner to > have > that local copy completely replaced. > > Having version details or control values in the tables managed by the app > requires the app, or in this case the DBMS to run to check and also to > update those values. > > JimB > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert > Sent: Friday, February 27, 2015 9:58 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Automatic Update Function > > " I'd be wary about the process that has the version in a local store" - > why? > > " - and the implications of whatever else is in local stores " - what > implications would those be? More correctly, what are you assuming here? > > Lambert > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button > Sent: Friday, February 27, 2015 1:58 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Automatic Update Function > > I'd be wary about the process that has the version in a local store - and > the implications of whatever else is in local stores - > > I'd prefer to have a check before actually starting the application's > environment, and 'fix' the facility before the windows OS begins to start > it > up. > > Then again I try to work on the basis that idiot-proof is having to deal > with improved models getting even more help from the OS and software > facility writers all the time, so they don't need any extra help from me! > > > However - the question is what is in the setup managed by Janet and her > associates. > > JimB > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert > Sent: Friday, February 27, 2015 3:35 PM > To: 'Database Advisors' > Subject: Re: [AccessD] Automatic Update Function > > My update process works as follows: > > The application front end has a table which holds the version number. When > it starts up the application looks at a particular folder where the most > recent version sits and checks if the version number is greater than the > one > the user is currently running. > > If there is a new version, the application then calls an existing vbscript > which is stored in the same place as the application latest version file. > The running, older copy of the application then shuts itself down. > > The vbscript then checks the folder where the user's copy of the > application > resides and sits in a loop waiting for the laccdb file to disappear. When > that happens the script then copies the new version into place and launches > it. > > > If the loop waiting for the lock file to go away takes longer than 60 > seconds it gives up and displays a message to the user. > > > Lambert > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach > Sent: Friday, February 27, 2015 9:45 AM > To: Database Advisors > Subject: [AccessD] Automatic Update Function > > Hello all - > > Do any of you have a favorite approach/module that you use to automatically > update the front end on the user's machine? My monster application from > WIFI hell has had auto update issues as well as corruption issues. > > My co-worker that developed part of the app with me wrote an auto update > module that > > Creates a batch file on the fly > Closes Access > Runs the batch file to copy the new front end to the user's machine and > then > re-opens access > > At least that's what's supposed to happen...there have been a number of > times that I've been suspicious about whether or not this auto update is > somehow triggering back-end corruption too, although I don't know why it > would. There have been many times when the app is up and running fine on > 10 machines and when the 11th machine starts up and goes into auto-update > mode the whole thing comes crashing down. Maybe that's just coincidence. > > BTW, I'm implementing the 'write to CSV' option today to try and stop the > corruption... > > Janet Erbach > -- > 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 > > -- > 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 > > -- > 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 > > -- > 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 From jwcolby at gmail.com Mon Mar 2 16:37:42 2015 From: jwcolby at gmail.com (John W. Colby) Date: Mon, 02 Mar 2015 17:37:42 -0500 Subject: [AccessD] Automatic Update Function In-Reply-To: References: Message-ID: <54F4E636.8090908@gmail.com> Did I miss something? I thought this was a simple matter of getting the latest FE off the server. My KISS approach to this is that every time the user starts their app, they really just run a batch file which copies the latest copy of the FE off a location on the server and fires it up. A two line batch file. We are now discussing data held out in the local copy of the FE not yet updated back to the BE (data store). If that is in fact the issue then we have a whole nother ball game.. John W. Colby On 3/2/2015 5:29 PM, James Button wrote: > While still believing that the app version should be checked as a preamble to > the app startup, and a trigger for a refresh download. > Rather than downloading one of a series of prebuilt sets of local client control > data, as part of that download, a rebuild of the client store - perhaps a view > (or set of them) would probably be the approach to assemble the individual > client sets of data when the app is updated, or reset. > > Then: > When the app starts-up it should check that it has a valid copy of the data held > on the central store. > > Checking of the control data against the server source could be done by > validation against a timestamp put into that client systems 'view' as the > extract and download was initiated. > > That should be a reasonably secure means of ensuring that the local client data > matches the central store, and is acceptable to the currently installed version > of the app. > Hopefully, all the local data will be in a single db file, so it should not be > possible to have a local system restore, or filecopy part update or revert the > data. > > ---- > > Accepting that the facility must be running on a local copy of a database puts a > different aspect on your processing. > Accepting it will be less safe, in that you have difficulty ensuring that data > updates from the client systems are all incorporated into the central source. > > A major problem being that a refresh of the app and it's local database would > clear out any detail of data updates that have not been transmitted ( well > accepted by the central store as received). > > I cannot see any easy way to ensure that - with a local system restore, it will > be possible to ensure that the central store holds all the data that has been > entered at the local system. > > JimB > > > From darryl at whittleconsulting.com.au Mon Mar 2 17:51:52 2015 From: darryl at whittleconsulting.com.au (Darryl Collins) Date: Mon, 2 Mar 2015 23:51:52 +0000 Subject: [AccessD] Automatic Update Function In-Reply-To: <54F4E636.8090908@gmail.com> References: <54F4E636.8090908@gmail.com> Message-ID: Yes, I have always used the batch file approach too. The user actually click on the BAT file, which looks like the Database FE, but it check the version in the FE against the version on the server, and if they are different it downloads the current version to their desktop and opens it. This is all very fast and seamless. The users don't even notice. Cheers Darryl. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. Colby Sent: Tuesday, 3 March 2015 9:38 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Automatic Update Function Did I miss something? I thought this was a simple matter of getting the latest FE off the server. My KISS approach to this is that every time the user starts their app, they really just run a batch file which copies the latest copy of the FE off a location on the server and fires it up. A two line batch file. We are now discussing data held out in the local copy of the FE not yet updated back to the BE (data store). If that is in fact the issue then we have a whole nother ball game.. John W. Colby On 3/2/2015 5:29 PM, James Button wrote: > While still believing that the app version should be checked as a > preamble to the app startup, and a trigger for a refresh download. > Rather than downloading one of a series of prebuilt sets of local > client control data, as part of that download, a rebuild of the client > store - perhaps a view (or set of them) would probably be the approach > to assemble the individual client sets of data when the app is updated, or reset. > > Then: > When the app starts-up it should check that it has a valid copy of the > data held on the central store. > > Checking of the control data against the server source could be done > by validation against a timestamp put into that client systems 'view' > as the extract and download was initiated. > > That should be a reasonably secure means of ensuring that the local > client data matches the central store, and is acceptable to the > currently installed version of the app. > Hopefully, all the local data will be in a single db file, so it > should not be possible to have a local system restore, or filecopy > part update or revert the data. > > ---- > > Accepting that the facility must be running on a local copy of a > database puts a different aspect on your processing. > Accepting it will be less safe, in that you have difficulty ensuring > that data updates from the client systems are all incorporated into the central source. > > A major problem being that a refresh of the app and it's local > database would clear out any detail of data updates that have not been > transmitted ( well accepted by the central store as received). > > I cannot see any easy way to ensure that - with a local system > restore, it will be possible to ensure that the central store holds > all the data that has been entered at the local system. > > JimB > > > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From df.waters at outlook.com Mon Mar 2 19:59:30 2015 From: df.waters at outlook.com (Dan Waters) Date: Mon, 2 Mar 2015 19:59:30 -0600 Subject: [AccessD] Delimiter Value (was: Automatic Update Function) Message-ID: Hi John, A pretty safe delimiter is a ? symbol (cent symbol). To use it, you'll have to find it somewhere and copy it into your code. Or, you can could also use Chr(162). I don't think a cent symbol is on any US electronic keyboards, and certainly not on any others. I found a good list of Chr values at http://www.gtwiki.org/mwiki/?title=VB_Chr_Values. Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. Colby Sent: Monday, March 02, 2015 15:32 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Automatic Update Function Of course it was simple. However if you look at SQL Server export for example, by default if you tell it to use quotes, it quotes EVERY FIELD. So if you are getting data from the wild, look out. If you are doing the export yourself, and then the import yourself, it is really fairly easy, you control both ends. As I mentioned I like pipe delimited because (in MY data) pipes are unheard of, so using that as a delimiter is pretty safe. My data is name / address from the wild, so tabs are encountered occasionally. I have never actually seen a pipe coming in from raw data, though of course it is a key on the keyboard and someone could accidentally hit it. John W. Colby From gustav at cactus.dk Tue Mar 3 04:12:52 2015 From: gustav at cactus.dk (Gustav Brock) Date: Tue, 3 Mar 2015 10:12:52 +0000 Subject: [AccessD] Automatic Update Function Message-ID: Hi John Yes, you missed how to turn an exceptionally simple task (copy file) into a convoluted over-done project. The added advantage of just copying the frontend before each and every launch is, that support knows that the user always runs a fresh copy. No bloated or corrupted frontends. I've created a script that the user or supporter initially runs off a network folder. This creates the local folders (in the localappdata store (where the user always has full privileges), copies the file, creates a shortcut on the desktop, and launches the application. >From now on, the user will double-click the shortcut which runs the script, recreates folders as needed, copies the frontend, and launches the file. Dead simple at zero cost. /gustav -----Oprindelig meddelelse----- Fra: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] P? vegne af John W. Colby Sendt: 2. marts 2015 23:38 Til: Access Developers discussion and problem solving Emne: Re: [AccessD] Automatic Update Function Did I miss something? I thought this was a simple matter of getting the latest FE off the server. My KISS approach to this is that every time the user starts their app, they really just run a batch file which copies the latest copy of the FE off a location on the server and fires it up. A two line batch file. We are now discussing data held out in the local copy of the FE not yet updated back to the BE (data store). If that is in fact the issue then we have a whole nother ball game.. John W. Colby On 3/2/2015 5:29 PM, James Button wrote: > While still believing that the app version should be checked as a > preamble to the app startup, and a trigger for a refresh download. > Rather than downloading one of a series of prebuilt sets of local > client control data, as part of that download, a rebuild of the client > store - perhaps a view (or set of them) would probably be the approach > to assemble the individual client sets of data when the app is updated, or reset. > > Then: > When the app starts-up it should check that it has a valid copy of the > data held on the central store. > > Checking of the control data against the server source could be done > by validation against a timestamp put into that client systems 'view' > as the extract and download was initiated. > > That should be a reasonably secure means of ensuring that the local > client data matches the central store, and is acceptable to the > currently installed version of the app. > Hopefully, all the local data will be in a single db file, so it > should not be possible to have a local system restore, or filecopy > part update or revert the data. > > ---- > > Accepting that the facility must be running on a local copy of a > database puts a different aspect on your processing. > Accepting it will be less safe, in that you have difficulty ensuring > that data updates from the client systems are all incorporated into the central source. > > A major problem being that a refresh of the app and it's local > database would clear out any detail of data updates that have not been > transmitted ( well accepted by the central store as received). > > I cannot see any easy way to ensure that - with a local system > restore, it will be possible to ensure that the central store holds > all the data that has been entered at the local system. > > JimB From jimdettman at verizon.net Tue Mar 3 07:13:54 2015 From: jimdettman at verizon.net (Jim Dettman) Date: Tue, 03 Mar 2015 08:13:54 -0500 Subject: [AccessD] Delimiter Value (was: Automatic Update Function) In-Reply-To: References: Message-ID: <0A854D649A6E42EA9F74E9CBC216CE07@XPS> I'm not sure if it's as true today as it once was, but using anything beyond 127 was iffy. The extended characters have no set definition unlike those below 128. So while that may not exist as a character on a US keyboard, it may exist on others because it might not be a cent symbol. I use the vertical pipe as well because to my knowledge, there's no place where one would use it outside of computer commands and it is easy to read because the character is thin. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Monday, March 02, 2015 08:59 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Delimiter Value (was: Automatic Update Function) Hi John, A pretty safe delimiter is a ? symbol (cent symbol). To use it, you'll have to find it somewhere and copy it into your code. Or, you can could also use Chr(162). I don't think a cent symbol is on any US electronic keyboards, and certainly not on any others. I found a good list of Chr values at http://www.gtwiki.org/mwiki/?title=VB_Chr_Values. Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. Colby Sent: Monday, March 02, 2015 15:32 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Automatic Update Function Of course it was simple. However if you look at SQL Server export for example, by default if you tell it to use quotes, it quotes EVERY FIELD. So if you are getting data from the wild, look out. If you are doing the export yourself, and then the import yourself, it is really fairly easy, you control both ends. As I mentioned I like pipe delimited because (in MY data) pipes are unheard of, so using that as a delimiter is pretty safe. My data is name / address from the wild, so tabs are encountered occasionally. I have never actually seen a pipe coming in from raw data, though of course it is a key on the keyboard and someone could accidentally hit it. John W. Colby -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jerbach.db at gmail.com Tue Mar 3 08:29:41 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Tue, 3 Mar 2015 08:29:41 -0600 Subject: [AccessD] Automatic Update Function In-Reply-To: References: Message-ID: And synchronistically enough, I found a vbs script online last night that works along the same lines: http://www.thatlldoit.com/Documents/ProjMgmt_FEUpdate.txt It uses a placeholder text file to check whether or not the user has the most recent version on their machine and then launches the update if they do not. It was written and shared by Bill Mosca on thatlldoit.com. I tested it out it last night, and am going to deploy it today with my app. It's quite straightforward and even displays a splash screen with an animated gif so the user can see that something is happening. On Tue, Mar 3, 2015 at 4:12 AM, Gustav Brock wrote: > Hi John > > Yes, you missed how to turn an exceptionally simple task (copy file) into > a convoluted over-done project. > > The added advantage of just copying the frontend before each and every > launch is, that support knows that the user always runs a fresh copy. No > bloated or corrupted frontends. > > I've created a script that the user or supporter initially runs off a > network folder. This creates the local folders (in the localappdata store > (where the user always has full privileges), copies the file, creates a > shortcut on the desktop, and launches the application. > From now on, the user will double-click the shortcut which runs the > script, recreates folders as needed, copies the frontend, and launches the > file. Dead simple at zero cost. > > /gustav > > -----Oprindelig meddelelse----- > Fra: accessd-bounces at databaseadvisors.com [mailto: > accessd-bounces at databaseadvisors.com] P? vegne af John W. Colby > Sendt: 2. marts 2015 23:38 > Til: Access Developers discussion and problem solving > Emne: Re: [AccessD] Automatic Update Function > > Did I miss something? I thought this was a simple matter of getting the > latest FE off the server. My KISS approach to this is that every time the > user starts their app, they really just run a batch file which copies the > latest copy of the FE off a location on the server and fires it up. A two > line batch file. > > We are now discussing data held out in the local copy of the FE not yet > updated back to the BE (data store). If that is in fact the issue then we > have a whole nother ball game.. > > John W. Colby > > On 3/2/2015 5:29 PM, James Button wrote: > > While still believing that the app version should be checked as a > > preamble to the app startup, and a trigger for a refresh download. > > Rather than downloading one of a series of prebuilt sets of local > > client control data, as part of that download, a rebuild of the client > > store - perhaps a view (or set of them) would probably be the approach > > to assemble the individual client sets of data when the app is updated, > or reset. > > > > Then: > > When the app starts-up it should check that it has a valid copy of the > > data held on the central store. > > > > Checking of the control data against the server source could be done > > by validation against a timestamp put into that client systems 'view' > > as the extract and download was initiated. > > > > That should be a reasonably secure means of ensuring that the local > > client data matches the central store, and is acceptable to the > > currently installed version of the app. > > Hopefully, all the local data will be in a single db file, so it > > should not be possible to have a local system restore, or filecopy > > part update or revert the data. > > > > ---- > > > > Accepting that the facility must be running on a local copy of a > > database puts a different aspect on your processing. > > Accepting it will be less safe, in that you have difficulty ensuring > > that data updates from the client systems are all incorporated into the > central source. > > > > A major problem being that a refresh of the app and it's local > > database would clear out any detail of data updates that have not been > > transmitted ( well accepted by the central store as received). > > > > I cannot see any easy way to ensure that - with a local system > > restore, it will be possible to ensure that the central store holds > > all the data that has been entered at the local system. > > > > JimB > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From gustav at cactus.dk Tue Mar 3 08:42:51 2015 From: gustav at cactus.dk (Gustav Brock) Date: Tue, 3 Mar 2015 14:42:51 +0000 Subject: [AccessD] Automatic Update Function Message-ID: Hi Janet That's quite different as it handles download from a remote site which, of course, may take longer than the few seconds from a local network folder. /gustav -----Oprindelig meddelelse----- Fra: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] P? vegne af Janet Erbach Sendt: 3. marts 2015 15:30 Til: Access Developers discussion and problem solving Emne: Re: [AccessD] Automatic Update Function And synchronistically enough, I found a vbs script online last night that works along the same lines: http://www.thatlldoit.com/Documents/ProjMgmt_FEUpdate.txt It uses a placeholder text file to check whether or not the user has the most recent version on their machine and then launches the update if they do not. It was written and shared by Bill Mosca on thatlldoit.com. I tested it out it last night, and am going to deploy it today with my app. It's quite straightforward and even displays a splash screen with an animated gif so the user can see that something is happening. On Tue, Mar 3, 2015 at 4:12 AM, Gustav Brock wrote: > Hi John > > Yes, you missed how to turn an exceptionally simple task (copy file) > into a convoluted over-done project. > > The added advantage of just copying the frontend before each and every > launch is, that support knows that the user always runs a fresh copy. > No bloated or corrupted frontends. > > I've created a script that the user or supporter initially runs off a > network folder. This creates the local folders (in the localappdata > store (where the user always has full privileges), copies the file, > creates a shortcut on the desktop, and launches the application. > From now on, the user will double-click the shortcut which runs the > script, recreates folders as needed, copies the frontend, and launches > the file. Dead simple at zero cost. > > /gustav > > -----Oprindelig meddelelse----- > Fra: accessd-bounces at databaseadvisors.com [mailto: > accessd-bounces at databaseadvisors.com] P? vegne af John W. Colby > Sendt: 2. marts 2015 23:38 > Til: Access Developers discussion and problem solving > Emne: Re: [AccessD] Automatic Update Function > > Did I miss something? I thought this was a simple matter of getting > the latest FE off the server. My KISS approach to this is that every > time the user starts their app, they really just run a batch file > which copies the latest copy of the FE off a location on the server > and fires it up. A two line batch file. > > We are now discussing data held out in the local copy of the FE not > yet updated back to the BE (data store). If that is in fact the issue > then we have a whole nother ball game.. > > John W. Colby > > On 3/2/2015 5:29 PM, James Button wrote: > > While still believing that the app version should be checked as a > > preamble to the app startup, and a trigger for a refresh download. > > Rather than downloading one of a series of prebuilt sets of local > > client control data, as part of that download, a rebuild of the > > client store - perhaps a view (or set of them) would probably be the > > approach to assemble the individual client sets of data when the app > > is updated, > or reset. > > > > Then: > > When the app starts-up it should check that it has a valid copy of > > the data held on the central store. > > > > Checking of the control data against the server source could be done > > by validation against a timestamp put into that client systems 'view' > > as the extract and download was initiated. > > > > That should be a reasonably secure means of ensuring that the local > > client data matches the central store, and is acceptable to the > > currently installed version of the app. > > Hopefully, all the local data will be in a single db file, so it > > should not be possible to have a local system restore, or filecopy > > part update or revert the data. > > > > ---- > > > > Accepting that the facility must be running on a local copy of a > > database puts a different aspect on your processing. > > Accepting it will be less safe, in that you have difficulty ensuring > > that data updates from the client systems are all incorporated into > > the > central source. > > > > A major problem being that a refresh of the app and it's local > > database would clear out any detail of data updates that have not > > been transmitted ( well accepted by the central store as received). > > > > I cannot see any easy way to ensure that - with a local system > > restore, it will be possible to ensure that the central store holds > > all the data that has been entered at the local system. > > > > JimB From jwcolby at gmail.com Tue Mar 3 10:01:25 2015 From: jwcolby at gmail.com (John W. Colby) Date: Tue, 03 Mar 2015 11:01:25 -0500 Subject: [AccessD] Automatic Update Function In-Reply-To: References: Message-ID: <54F5DAD5.1060603@gmail.com> U yep. Actually IIRC my batch file also recreated a map to get a specific drive letter mapped to the folder on the network server where the Access BE sits. That allows the table links to be guaranteed to work. John W. Colby On 3/3/2015 5:12 AM, Gustav Brock wrote: > Hi John > > Yes, you missed how to turn an exceptionally simple task (copy file) into a convoluted over-done project. > > The added advantage of just copying the frontend before each and every launch is, that support knows that the user always runs a fresh copy. No bloated or corrupted frontends. > > I've created a script that the user or supporter initially runs off a network folder. This creates the local folders (in the localappdata store (where the user always has full privileges), copies the file, creates a shortcut on the desktop, and launches the application. > >From now on, the user will double-click the shortcut which runs the script, recreates folders as needed, copies the frontend, and launches the file. Dead simple at zero cost. > > /gustav > > -----Oprindelig meddelelse----- > Fra: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] P? vegne af John W. Colby > Sendt: 2. marts 2015 23:38 > Til: Access Developers discussion and problem solving > Emne: Re: [AccessD] Automatic Update Function > > Did I miss something? I thought this was a simple matter of getting the latest FE off the server. My KISS approach to this is that every time the user starts their app, they really just run a batch file which copies the latest copy of the FE off a location on the server and fires it up. A two line batch file. > > We are now discussing data held out in the local copy of the FE not yet updated back to the BE (data store). If that is in fact the issue then we have a whole nother ball game.. > > John W. Colby > > On 3/2/2015 5:29 PM, James Button wrote: >> While still believing that the app version should be checked as a >> preamble to the app startup, and a trigger for a refresh download. >> Rather than downloading one of a series of prebuilt sets of local >> client control data, as part of that download, a rebuild of the client >> store - perhaps a view (or set of them) would probably be the approach >> to assemble the individual client sets of data when the app is updated, or reset. >> >> Then: >> When the app starts-up it should check that it has a valid copy of the >> data held on the central store. >> >> Checking of the control data against the server source could be done >> by validation against a timestamp put into that client systems 'view' >> as the extract and download was initiated. >> >> That should be a reasonably secure means of ensuring that the local >> client data matches the central store, and is acceptable to the >> currently installed version of the app. >> Hopefully, all the local data will be in a single db file, so it >> should not be possible to have a local system restore, or filecopy >> part update or revert the data. >> >> ---- >> >> Accepting that the facility must be running on a local copy of a >> database puts a different aspect on your processing. >> Accepting it will be less safe, in that you have difficulty ensuring >> that data updates from the client systems are all incorporated into the central source. >> >> A major problem being that a refresh of the app and it's local >> database would clear out any detail of data updates that have not been >> transmitted ( well accepted by the central store as received). >> >> I cannot see any easy way to ensure that - with a local system >> restore, it will be possible to ensure that the central store holds >> all the data that has been entered at the local system. >> >> JimB From tinanfields at torchlake.com Tue Mar 3 10:01:49 2015 From: tinanfields at torchlake.com (Tina Norris Fields) Date: Tue, 03 Mar 2015 11:01:49 -0500 Subject: [AccessD] Delimiter Value (was: Automatic Update Function) In-Reply-To: <0A854D649A6E42EA9F74E9CBC216CE07@XPS> References: <0A854D649A6E42EA9F74E9CBC216CE07@XPS> Message-ID: <54F5DAED.9040504@torchlake.com> This is an intriguing part of the discussion. One perspective is to find a symbol that will not accidentally be typed because it's not on a standard keyboard. The other perspective is to find a symbol that can easily be used (because it is on a standard keyboard), but is not commonly used for most typing and coding. Fascinating. I like the pipe symbol because it fits with the second perspective. I would like an ALT+ASCII code symbol that is easy to remember and doesn't appear on a standard keyboard, too, because it reduces the threat of accidental typing. Hmmm - pondering. TNF Tina Norris Fields tinanfields-at-torchlake-dot-com 231-322-2787 On 3/3/2015 8:13 AM, Jim Dettman wrote: > > I'm not sure if it's as true today as it once was, but using anything > beyond 127 was iffy. > > The extended characters have no set definition unlike those below 128. So > while that may not exist as a character on a US keyboard, it may exist on > others because it might not be a cent symbol. > > I use the vertical pipe as well because to my knowledge, there's no place > where one would use it outside of computer commands and it is easy to read > because the character is thin. > > Jim. > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters > Sent: Monday, March 02, 2015 08:59 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Delimiter Value (was: Automatic Update Function) > > Hi John, > > A pretty safe delimiter is a ? symbol (cent symbol). To use it, you'll have > to find it somewhere and copy it into your code. Or, you can could also use > Chr(162). > > I don't think a cent symbol is on any US electronic keyboards, and certainly > not on any others. > > I found a good list of Chr values at > http://www.gtwiki.org/mwiki/?title=VB_Chr_Values. > > Dan > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. Colby > Sent: Monday, March 02, 2015 15:32 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Automatic Update Function > > Of course it was simple. However if you look at SQL Server export for > example, by default if you tell it to use quotes, it quotes EVERY FIELD. > > So if you are getting data from the wild, look out. If you are doing the > export yourself, and then the import yourself, it is really fairly easy, you > control both ends. > > As I mentioned I like pipe delimited because (in MY data) pipes are unheard > of, so using that as a delimiter is pretty safe. My data is name / address > from the wild, so tabs are encountered occasionally. I have never actually > seen a pipe coming in from raw data, though of course it is a key on the > keyboard and someone could accidentally hit it. > > John W. Colby > > > From gustav at cactus.dk Tue Mar 3 10:06:03 2015 From: gustav at cactus.dk (Gustav Brock) Date: Tue, 3 Mar 2015 16:06:03 +0000 Subject: [AccessD] Delimiter Value (was: Automatic Update Function) Message-ID: Hi Tina That character could be: ? I've seen on every keyboard but never seen it used for anything. However, I've never had issues with the "|" pipe sign, so why make things more strange than necessary. /gustav -----Oprindelig meddelelse----- Fra: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] P? vegne af Tina Norris Fields Sendt: 3. marts 2015 17:02 Til: Access Developers discussion and problem solving Emne: Re: [AccessD] Delimiter Value (was: Automatic Update Function) This is an intriguing part of the discussion. One perspective is to find a symbol that will not accidentally be typed because it's not on a standard keyboard. The other perspective is to find a symbol that can easily be used (because it is on a standard keyboard), but is not commonly used for most typing and coding. Fascinating. I like the pipe symbol because it fits with the second perspective. I would like an ALT+ASCII code symbol that is easy to remember and doesn't appear on a standard keyboard, too, because it reduces the threat of accidental typing. Hmmm - pondering. TNF Tina Norris Fields tinanfields-at-torchlake-dot-com 231-322-2787 On 3/3/2015 8:13 AM, Jim Dettman wrote: > > I'm not sure if it's as true today as it once was, but using > anything beyond 127 was iffy. > > The extended characters have no set definition unlike those below > 128. So while that may not exist as a character on a US keyboard, it > may exist on others because it might not be a cent symbol. > > I use the vertical pipe as well because to my knowledge, there's no > place where one would use it outside of computer commands and it is > easy to read because the character is thin. > > Jim. > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters > Sent: Monday, March 02, 2015 08:59 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Delimiter Value (was: Automatic Update > Function) > > Hi John, > > A pretty safe delimiter is a ? symbol (cent symbol). To use it, > you'll have to find it somewhere and copy it into your code. Or, you > can could also use Chr(162). > > I don't think a cent symbol is on any US electronic keyboards, and > certainly not on any others. > > I found a good list of Chr values at > http://www.gtwiki.org/mwiki/?title=VB_Chr_Values. > > Dan > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. > Colby > Sent: Monday, March 02, 2015 15:32 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Automatic Update Function > > Of course it was simple. However if you look at SQL Server export for > example, by default if you tell it to use quotes, it quotes EVERY FIELD. > > So if you are getting data from the wild, look out. If you are doing > the export yourself, and then the import yourself, it is really fairly > easy, you control both ends. > > As I mentioned I like pipe delimited because (in MY data) pipes are > unheard of, so using that as a delimiter is pretty safe. My data is > name / address from the wild, so tabs are encountered occasionally. I > have never actually seen a pipe coming in from raw data, though of > course it is a key on the keyboard and someone could accidentally hit it. > > John W. Colby From jwcolby at gmail.com Tue Mar 3 10:12:15 2015 From: jwcolby at gmail.com (John W. Colby) Date: Tue, 03 Mar 2015 11:12:15 -0500 Subject: [AccessD] Delimiter Value In-Reply-To: <54F5DAED.9040504@torchlake.com> References: <0A854D649A6E42EA9F74E9CBC216CE07@XPS> <54F5DAED.9040504@torchlake.com> Message-ID: <54F5DD5F.9070004@gmail.com> I found the tab symbol was quite often intentionally inserted by folks when typing in their address. The third party software I use for address validation just copies the address you give them and hands it back to you if there has been no change. Thus whatever the user typed in, I send to them, and they (usually) send back to me. Tabs wreaked havoc in my files. I have never had a problem since switching to pipes. On a similar note, I also had problems with the double quote, where people would quote a nickname - John "jack" Doe. The extra quotes wreaked havoc with the CSV file use of quotes as the delimiter package. John W. Colby On 3/3/2015 11:01 AM, Tina Norris Fields wrote: > This is an intriguing part of the discussion. One perspective is to > find a symbol that will not accidentally be typed because it's not on > a standard keyboard. The other perspective is to find a symbol that > can easily be used (because it is on a standard keyboard), but is not > commonly used for most typing and coding. Fascinating. I like the > pipe symbol because it fits with the second perspective. I would like > an ALT+ASCII code symbol that is easy to remember and doesn't appear > on a standard keyboard, too, because it reduces the threat of > accidental typing. Hmmm - pondering. > TNF > > Tina Norris Fields > tinanfields-at-torchlake-dot-com > 231-322-2787 > > On 3/3/2015 8:13 AM, Jim Dettman wrote: >> >> I'm not sure if it's as true today as it once was, but using anything >> beyond 127 was iffy. >> >> The extended characters have no set definition unlike those below >> 128. So >> while that may not exist as a character on a US keyboard, it may >> exist on >> others because it might not be a cent symbol. >> >> I use the vertical pipe as well because to my knowledge, there's no >> place >> where one would use it outside of computer commands and it is easy to >> read >> because the character is thin. >> >> Jim. From tinanfields at torchlake.com Tue Mar 3 10:20:58 2015 From: tinanfields at torchlake.com (Tina Norris Fields) Date: Tue, 03 Mar 2015 11:20:58 -0500 Subject: [AccessD] Delimiter Value (was: Automatic Update Function) In-Reply-To: References: Message-ID: <54F5DF6A.4070300@torchlake.com> Hi Gustav, Okay, here's where the differences between national standard keyboards come into play. I don't have that little character on my American QWERTY keyboard. I also like the pipe sign, so as you say "why make things more strange than necessary?" I can't argue against that solid logic! :-) Best, TNF Tina Norris Fields tinanfields-at-torchlake-dot-com 231-322-2787 On 3/3/2015 11:06 AM, Gustav Brock wrote: > Hi Tina > > That character could be: ? > I've seen on every keyboard but never seen it used for anything. > > However, I've never had issues with the "|" pipe sign, so why make things more strange than necessary. > > /gustav > > -----Oprindelig meddelelse----- > Fra: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] P? vegne af Tina Norris Fields > Sendt: 3. marts 2015 17:02 > Til: Access Developers discussion and problem solving > Emne: Re: [AccessD] Delimiter Value (was: Automatic Update Function) > > This is an intriguing part of the discussion. One perspective is to find a symbol that will not accidentally be typed because it's not on a standard keyboard. The other perspective is to find a symbol that can easily be used (because it is on a standard keyboard), but is not commonly used for most typing and coding. Fascinating. I like the pipe symbol because it fits with the second perspective. I would like an > ALT+ASCII code symbol that is easy to remember and doesn't appear on a > standard keyboard, too, because it reduces the threat of accidental typing. Hmmm - pondering. > TNF > > Tina Norris Fields > tinanfields-at-torchlake-dot-com > 231-322-2787 > > On 3/3/2015 8:13 AM, Jim Dettman wrote: >> I'm not sure if it's as true today as it once was, but using >> anything beyond 127 was iffy. >> >> The extended characters have no set definition unlike those below >> 128. So while that may not exist as a character on a US keyboard, it >> may exist on others because it might not be a cent symbol. >> >> I use the vertical pipe as well because to my knowledge, there's no >> place where one would use it outside of computer commands and it is >> easy to read because the character is thin. >> >> Jim. >> >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters >> Sent: Monday, March 02, 2015 08:59 PM >> To: 'Access Developers discussion and problem solving' >> Subject: Re: [AccessD] Delimiter Value (was: Automatic Update >> Function) >> >> Hi John, >> >> A pretty safe delimiter is a ? symbol (cent symbol). To use it, >> you'll have to find it somewhere and copy it into your code. Or, you >> can could also use Chr(162). >> >> I don't think a cent symbol is on any US electronic keyboards, and >> certainly not on any others. >> >> I found a good list of Chr values at >> http://www.gtwiki.org/mwiki/?title=VB_Chr_Values. >> >> Dan >> >> From fuller.artful at gmail.com Tue Mar 3 10:47:29 2015 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 3 Mar 2015 11:47:29 -0500 Subject: [AccessD] Delimiter Value (was: Automatic Update Function) In-Reply-To: References: Message-ID: This is an interesting thread but I do have one question, which derives from personal experience writing a code generator that had to find markers in templates and substitute either literal or iterated text in place of said markers. I opted for two-character delimiters ; they could have been pretty much any given character expressed twice. As it happens, I opted for "\\marker\\", which admittedly could have created problems when attempting to express UNCs etc., but I escaped these in the standard way. As previously pointed out, the use of the cent-sign may not be universal, and that is a problem. But my larger question is this: why are you restricting delimiters to single-character markers? That seems to me to be the path to trouble no matter which native (human or typographical) language you are using. Ultimately, this problem resolves to the likelihood of any given marker being used within the text of interest; and so we have to go for the unlikeliest combinations, the smallest unit being one character, but I am arguing in favor of two-character delimiters, while also providing for the standard escape-clause syntax of repeating the delimiter twice if you mean it not as a delimiter but part of the text. I've just Googled "the number of official languages in the world", and India and China come out way on top, with a few hundred in each nation. Just to make this much more painfully clear, "language" is distinguished from "dialect", which is to say that even though I have lived almost my life in English-speaking Canada, I can also recognize Cicero-English from New Orleans English from Oxford English, and also readily discern Quebec francais from Parisian and even Marseilles. I'm shakier on Dutch, but I can discern Mandarin from Cantonese in fewer than 5 seconds, and also Shanghaiese from both of these. You might conjecture that I have an ear for language; perhaps that is true. After all, I can convincingly pronounce two of the trickiest words in Dutch, but that's because I've visited Nederlands about six times, and picked up a little more on each visit. The two most difficult words in Dutch are the word for vacuum cleaner (stofzuiger) and the name of a town on the coast whose name was used in WWII to distinguish Nazi spys from legitimate Dutch citizens (Schlevningen). It required more practice for me to get these two words than to apprehend and duplicate the tones in Cantonese; but I got there, eventually. Sorry for the extensive sidetrack. I just wanted to emphasize that single-character delimiters are bound to cause trouble in a large number of languages in the world. Facing this ugly fact, the developer has a couple of choices: narrow the translation-geography to a few well-chosen languages of immediate interest to the app of interest, or strive for a broader translation-strategy; in my opinion the only viable path to the latter approach is to expand the concept of a delimiter beyond single-character representation, and in addition to provide the standard escape-syntax (e.g. in py preferred choice, "\\" is the delimiter, except when repeated, in which case the second occurrence is to be interpreted as literal text). This syntax and notation, I hope, will sidestep the fact that the "cents" sign will not be misinterpreted by non-English (and in fact non-Western-European) keyboards. Arthur On Tue, Mar 3, 2015 at 11:06 AM, Gustav Brock wrote: > Hi Tina > > That character could be: ? > I've seen on every keyboard but never seen it used for anything. > > However, I've never had issues with the "|" pipe sign, so why make things > more strange than necessary. > > /gustav > > -----Oprindelig meddelelse----- > Fra: accessd-bounces at databaseadvisors.com [mailto: > accessd-bounces at databaseadvisors.com] P? vegne af Tina Norris Fields > Sendt: 3. marts 2015 17:02 > Til: Access Developers discussion and problem solving > Emne: Re: [AccessD] Delimiter Value (was: Automatic Update Function) > > This is an intriguing part of the discussion. One perspective is to find > a symbol that will not accidentally be typed because it's not on a standard > keyboard. The other perspective is to find a symbol that can easily be > used (because it is on a standard keyboard), but is not commonly used for > most typing and coding. Fascinating. I like the pipe symbol because it > fits with the second perspective. I would like an > ALT+ASCII code symbol that is easy to remember and doesn't appear on a > standard keyboard, too, because it reduces the threat of accidental > typing. Hmmm - pondering. > TNF > > Tina Norris Fields > tinanfields-at-torchlake-dot-com > 231-322-2787 > > On 3/3/2015 8:13 AM, Jim Dettman wrote: > > > > I'm not sure if it's as true today as it once was, but using > > anything beyond 127 was iffy. > > > > The extended characters have no set definition unlike those below > > 128. So while that may not exist as a character on a US keyboard, it > > may exist on others because it might not be a cent symbol. > > > > I use the vertical pipe as well because to my knowledge, there's no > > place where one would use it outside of computer commands and it is > > easy to read because the character is thin. > > > > Jim. > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters > > Sent: Monday, March 02, 2015 08:59 PM > > To: 'Access Developers discussion and problem solving' > > Subject: Re: [AccessD] Delimiter Value (was: Automatic Update > > Function) > > > > Hi John, > > > > A pretty safe delimiter is a ? symbol (cent symbol). To use it, > > you'll have to find it somewhere and copy it into your code. Or, you > > can could also use Chr(162). > > > > I don't think a cent symbol is on any US electronic keyboards, and > > certainly not on any others. > > > > I found a good list of Chr values at > > http://www.gtwiki.org/mwiki/?title=VB_Chr_Values. > > > > Dan > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. > > Colby > > Sent: Monday, March 02, 2015 15:32 PM > > To: Access Developers discussion and problem solving > > Subject: Re: [AccessD] Automatic Update Function > > > > Of course it was simple. However if you look at SQL Server export for > > example, by default if you tell it to use quotes, it quotes EVERY FIELD. > > > > So if you are getting data from the wild, look out. If you are doing > > the export yourself, and then the import yourself, it is really fairly > > easy, you control both ends. > > > > As I mentioned I like pipe delimited because (in MY data) pipes are > > unheard of, so using that as a delimiter is pretty safe. My data is > > name / address from the wild, so tabs are encountered occasionally. I > > have never actually seen a pipe coming in from raw data, though of > > course it is a key on the keyboard and someone could accidentally hit it. > > > > John W. Colby > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- Arthur From jwcolby at gmail.com Tue Mar 3 11:06:16 2015 From: jwcolby at gmail.com (John W. Colby) Date: Tue, 03 Mar 2015 12:06:16 -0500 Subject: [AccessD] Delimiter Value In-Reply-To: References: Message-ID: <54F5EA08.8000102@gmail.com> Arthur, To be quite honest the concept of double character delimiters just never occurred to me, however a couple of things come to mind. 1) I do not write the code that actually writes the delimiters into the file or strips it back out. I simply use an existing "widget" of some kind. For example SQL Server has BCP that has built into it, buried way down inside, the ability to do this kind of thing. So how do I know that attempting to use a double character will even work in terms of getting the thing into the file. Likewise, how do I know that the "other end" will understand how to use a double character to get it back out. CSV is a "standard. For better or worse it was extensively jawboned amongst some number of people and then a standard written. I have never actually seen a double character used as the delimiter in any file handed to me. 2) All to often we are using this to send tons of data in large files to someone. Even the overhead of "," adds a lot to the size of the file. Take a file of 20 fields times a million records and look at how much "extra" baggage (overhead) has to be handled. You are talking roughly 40 million extra characters in the file, just to handle a "once in a blue moon issue". I hand off files of anywhere from 500K to 2 million records to a third party program. I had to jump through hoops to get them to handle the pipe character instead of the CSV standard. Before I asked them to switch to the pipe, I routinely ran into " issues (in nicknames inserted into first name fields). Since the switch to pipes (many years ago), I have never run into a delimiter issue since. John W. Colby On 3/3/2015 11:47 AM, Arthur Fuller wrote: > This is an interesting thread but I do have one question, which derives > from personal experience writing a code generator that had to find markers > in templates and substitute either literal or iterated text in place of > said markers. > > I opted for two-character delimiters ; they could have been pretty much any > given character expressed twice. As it happens, I opted for "\\marker\\", > which admittedly could have created problems when attempting to express > UNCs etc., but I escaped these in the standard way. > > As previously pointed out, the use of the cent-sign may not be universal, > and that is a problem. > > But my larger question is this: why are you restricting delimiters to > single-character markers? That seems to me to be the path to trouble no > matter which native (human or typographical) language you are using. > Ultimately, this problem resolves to the likelihood of any given marker > being used within the text of interest; and so we have to go for the > unlikeliest combinations, the smallest unit being one character, but I am > arguing in favor of two-character delimiters, while also providing for the > standard escape-clause syntax of repeating the delimiter twice if you mean > it not as a delimiter but part of the text. > > I've just Googled "the number of official languages in the world", and > India and China come out way on top, with a few hundred in each nation. > Just to make this much more painfully clear, "language" is distinguished > from "dialect", which is to say that even though I have lived almost my > life in English-speaking Canada, I can also recognize Cicero-English from > New Orleans English from Oxford English, and also readily discern Quebec > francais from Parisian and even Marseilles. I'm shakier on Dutch, but I can > discern Mandarin from Cantonese in fewer than 5 seconds, and also > Shanghaiese from both of these. You might conjecture that I have an ear for > language; perhaps that is true. After all, I can convincingly pronounce two > of the trickiest words in Dutch, but that's because I've visited > Nederlands about six times, and picked up a little more on each visit. The > two most difficult words in Dutch are the word for vacuum cleaner (stofzuiger) > and the name of a town on the coast whose name was used in WWII to > distinguish Nazi spys from legitimate Dutch citizens (Schlevningen). It > required more practice for me to get these two words than to apprehend and > duplicate the tones in Cantonese; but I got there, eventually. > > Sorry for the extensive sidetrack. I just wanted to emphasize that > single-character delimiters are bound to cause trouble in a large number of > languages in the world. Facing this ugly fact, the developer has a couple > of choices: narrow the translation-geography to a few well-chosen languages > of immediate interest to the app of interest, or strive for a broader > translation-strategy; in my opinion the only viable path to the latter > approach is to expand the concept of a delimiter beyond single-character > representation, and in addition to provide the standard escape-syntax (e.g. > in py preferred choice, "\\" is the delimiter, except when repeated, in > which case the second occurrence is to be interpreted as literal text). > > This syntax and notation, I hope, will sidestep the fact that the "cents" > sign will not be misinterpreted by non-English (and in fact > non-Western-European) keyboards. > > Arthur > > On Tue, Mar 3, 2015 at 11:06 AM, Gustav Brock wrote: > >> Hi Tina >> >> That character could be: ? >> I've seen on every keyboard but never seen it used for anything. >> >> However, I've never had issues with the "|" pipe sign, so why make things >> more strange than necessary. >> >> /gustav >> >> -----Oprindelig meddelelse----- >> Fra: accessd-bounces at databaseadvisors.com [mailto: >> accessd-bounces at databaseadvisors.com] P? vegne af Tina Norris Fields >> Sendt: 3. marts 2015 17:02 >> Til: Access Developers discussion and problem solving >> Emne: Re: [AccessD] Delimiter Value (was: Automatic Update Function) >> >> This is an intriguing part of the discussion. One perspective is to find >> a symbol that will not accidentally be typed because it's not on a standard >> keyboard. The other perspective is to find a symbol that can easily be >> used (because it is on a standard keyboard), but is not commonly used for >> most typing and coding. Fascinating. I like the pipe symbol because it >> fits with the second perspective. I would like an >> ALT+ASCII code symbol that is easy to remember and doesn't appear on a >> standard keyboard, too, because it reduces the threat of accidental >> typing. Hmmm - pondering. >> TNF >> From ewaldt at gdls.com Tue Mar 3 11:40:36 2015 From: ewaldt at gdls.com (ewaldt at gdls.com) Date: Tue, 3 Mar 2015 12:40:36 -0500 Subject: [AccessD] Trying to open Access invisibly not working In-Reply-To: References: Message-ID: I have written some code in Excel VBA that opens Access, creating a link in Access to a sheet in the current workbook in Excel, has Access run some a VBA procedure I've written there, and then closes Access. It all works great except one thing: Access insists on showing its smiling face in the process. Now I admit that it's doing the heavy lifting in this, but I don't want my users to freak out when it shows up. Here's the code that calls Access and closes it: '------------------- Dim accObj As Object, strFile As String 'Open Access and run subroutine strFile = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name Set accObj = CreateObject("Access.Application") With accObj .Application.Visible = False 'This does nothing .OpenCurrentDatabase [This is where I put the full path to the database] Application.ScreenUpdating = True Application.ScreenUpdating = False .Run "LinkCPL", strFile, "SourceData", "A1:B" & lngLastRow .CloseCurrentDatabase End With Set accObj = Nothing '-------------------- >From what I've read, OpenCurrentDatabase opens Access in an Access window, which is where the problem comes in. I tried minimizing Access from within the code procedure (LinkCPL) by opening it with the following code from Microsoft.com: '----------- DoCmd.Minimize DoCmd.RunCommand acCmdAppMinimize '----------- It minimizes the database, but not the app! The background of the window stays there. Since I have screen updating turned off in Excel during the procedure, I thought maybe Access was actuallly minimizing and Excel was failing to repaint, so I tossed the two ScreeUpdating statements into the mix, but they did not help. I also tried "Application.Repaint" between them, but VBA complains that it's not supported. Sorry if this is too lengthy. I'd appreciate any help you could offer here. Tom Ewald Mass Properties General Dynamics Land Systems From davidmcafee at gmail.com Tue Mar 3 12:31:15 2015 From: davidmcafee at gmail.com (David McAfee) Date: Tue, 3 Mar 2015 10:31:15 -0800 Subject: [AccessD] Automatic Update Function In-Reply-To: References: Message-ID: Here's the old, VB.net version that I used for years (I also have a C# version if you prefer that) I basically name an .mdb/.adp something like MyDatabase126.mdb I create a text file and save it as the appName.ini (not .txt) I create two lines in the ini file: LatestVersion:MyDatabase126.mdb DeleteVersion:MyDatabase11*.mdb They launch the exe, which cecks to see if they already have the latest version on their computer, if not, copy it over. I use the wild card * on the delete version (rather than MyDatabase125.mdb) because a user might be out for a week or two and maybe you had several versions released. If you always want to copy the file over rather than check if the file is different, comment the third IF statement. It makes it real nice at work to deploy an adp/mdb to a user, even a new user. Just copy the .exe to their desktop and let them run it. It also keeps the honest people honest. They are launching an exe, not an mdb, so there isn't an mdb they can copy. If you have an icon for the exe, a splash screen for the mdb and do the shift start prevention, they might not even know that they are running an access mdb. It copies the mdb over to their local app data folder, so unless they know where to look, they won't find it. As long as they have rights to the shared folder and don't have to have it mapped, they wont know where the source files are. They would need to have Access already installed. Anyway, here is my launcher: Imports System.IO Imports System.Environment Module Module1 Sub Main() Dim OldVersion As String = "" Dim NewVersion As String = "" Dim AppName As String = "" Dim NetPath As String = "\\YourServerNameHere\YourSharedFolderHere$\" + AppName + "\" Dim iniFileName As String = AppName + ".ini" Dim LocPath As String = System.Environment.GetFolderPath(SpecialFolder.LocalApplicationData).ToString + "\YourCompanyNameHere\" + AppName + "\" 'Open ini file and read it, to get new version name: Dim oRead As System.IO.StreamReader Dim LineIn As String oRead = File.OpenText(NetPath + iniFileName) While oRead.Peek <> -1 LineIn = oRead.ReadLine() If Left(LineIn, 14) = "LatestVersion:" Then NewVersion = Right(LineIn, LineIn.Length - 14) ElseIf Left(LineIn, 14) = "DeleteVersion:" Then OldVersion = Right(LineIn, LineIn.Length - 14) Else LineIn = "" End If End While oRead.Close() If Directory.Exists(NetPath) Then 'If the network path exists, continue with the local path checks If Directory.Exists(LocPath) Then 'if the local path exists then check for the actual file If Not File.Exists(LocPath + NewVersion) Then 'Check to see if the new file is already installed File.Copy(NetPath + NewVersion, LocPath + NewVersion) 'If NOT, copy the file :) End If Else 'Directory did not exist, so create it and copy new file over Directory.CreateDirectory(LocPath) File.Copy(NetPath + NewVersion, LocPath + NewVersion) End If 'If the new file exists on local computer, start the new version on the local PC 'The IF statement is just added security, there really shouldn't be a reason for it not to exist at this point If File.Exists(LocPath + NewVersion) Then System.Diagnostics.Process.Start(LocPath + NewVersion) 'Start the file If OldVersion <> "" Then 'Delete old file(s) For Each FileFound As String In Directory.GetFiles(LocPath, OldVersion) File.Delete(FileFound) Next End If Else 'If not found, alert the user MsgBox("Cannot find " & LocPath & NewVersion & ".", vbOKOnly, "unable to start " + AppName) End If Else 'The network path was unavailable, so alert the user MsgBox("Network path: " + NetPath + " is unavailable", , "Unable to start " + AppName) End If End Sub End Module From davidmcafee at gmail.com Tue Mar 3 12:33:51 2015 From: davidmcafee at gmail.com (David McAfee) Date: Tue, 3 Mar 2015 10:33:51 -0800 Subject: [AccessD] Delimiter Value (was: Automatic Update Function) In-Reply-To: References: Message-ID: Hi my name is David and I'm also a Pipe delimeter ;) I do like Arthur's idea of a double limiter like || D On Tue, Mar 3, 2015 at 8:06 AM, Gustav Brock wrote: > Hi Tina > > That character could be: ? > I've seen on every keyboard but never seen it used for anything. > > However, I've never had issues with the "|" pipe sign, so why make things > more strange than necessary. > > /gustav > > -----Oprindelig meddelelse----- > Fra: accessd-bounces at databaseadvisors.com [mailto: > accessd-bounces at databaseadvisors.com] P? vegne af Tina Norris Fields > Sendt: 3. marts 2015 17:02 > Til: Access Developers discussion and problem solving > Emne: Re: [AccessD] Delimiter Value (was: Automatic Update Function) > > This is an intriguing part of the discussion. One perspective is to find > a symbol that will not accidentally be typed because it's not on a standard > keyboard. The other perspective is to find a symbol that can easily be > used (because it is on a standard keyboard), but is not commonly used for > most typing and coding. Fascinating. I like the pipe symbol because it > fits with the second perspective. I would like an > ALT+ASCII code symbol that is easy to remember and doesn't appear on a > standard keyboard, too, because it reduces the threat of accidental > typing. Hmmm - pondering. > TNF > > Tina Norris Fields > tinanfields-at-torchlake-dot-com > 231-322-2787 > > On 3/3/2015 8:13 AM, Jim Dettman wrote: > > > > I'm not sure if it's as true today as it once was, but using > > anything beyond 127 was iffy. > > > > The extended characters have no set definition unlike those below > > 128. So while that may not exist as a character on a US keyboard, it > > may exist on others because it might not be a cent symbol. > > > > I use the vertical pipe as well because to my knowledge, there's no > > place where one would use it outside of computer commands and it is > > easy to read because the character is thin. > > > > Jim. > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters > > Sent: Monday, March 02, 2015 08:59 PM > > To: 'Access Developers discussion and problem solving' > > Subject: Re: [AccessD] Delimiter Value (was: Automatic Update > > Function) > > > > Hi John, > > > > A pretty safe delimiter is a ? symbol (cent symbol). To use it, > > you'll have to find it somewhere and copy it into your code. Or, you > > can could also use Chr(162). > > > > I don't think a cent symbol is on any US electronic keyboards, and > > certainly not on any others. > > > > I found a good list of Chr values at > > http://www.gtwiki.org/mwiki/?title=VB_Chr_Values. > > > > Dan > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. > > Colby > > Sent: Monday, March 02, 2015 15:32 PM > > To: Access Developers discussion and problem solving > > Subject: Re: [AccessD] Automatic Update Function > > > > Of course it was simple. However if you look at SQL Server export for > > example, by default if you tell it to use quotes, it quotes EVERY FIELD. > > > > So if you are getting data from the wild, look out. If you are doing > > the export yourself, and then the import yourself, it is really fairly > > easy, you control both ends. > > > > As I mentioned I like pipe delimited because (in MY data) pipes are > > unheard of, so using that as a delimiter is pretty safe. My data is > > name / address from the wild, so tabs are encountered occasionally. I > > have never actually seen a pipe coming in from raw data, though of > > course it is a key on the keyboard and someone could accidentally hit it. > > > > John W. Colby > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jimdettman at verizon.net Tue Mar 3 13:22:26 2015 From: jimdettman at verizon.net (Jim Dettman) Date: Tue, 03 Mar 2015 14:22:26 -0500 Subject: [AccessD] Delimiter Value (was: Automatic Update Function) In-Reply-To: References: Message-ID: <93A140726D6044E0AFB7C55F7F42BC6B@XPS> I actually used :: in one situation where it worked pretty darn well. I got tired of adding reference data to a database, so I took the big shortcut of dumping entity value pairs in a memo field: CDD::<>:: ('CDD' being "Customer Defined Data"). Never had a problem yet Not sure why I didn't think of using || though when I have used the pipe as a single delimiter. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David McAfee Sent: Tuesday, March 03, 2015 01:34 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Delimiter Value (was: Automatic Update Function) Hi my name is David and I'm also a Pipe delimeter ;) I do like Arthur's idea of a double limiter like || D On Tue, Mar 3, 2015 at 8:06 AM, Gustav Brock wrote: > Hi Tina > > That character could be: ? > I've seen on every keyboard but never seen it used for anything. > > However, I've never had issues with the "|" pipe sign, so why make things > more strange than necessary. > > /gustav > > -----Oprindelig meddelelse----- > Fra: accessd-bounces at databaseadvisors.com [mailto: > accessd-bounces at databaseadvisors.com] P? vegne af Tina Norris Fields > Sendt: 3. marts 2015 17:02 > Til: Access Developers discussion and problem solving > Emne: Re: [AccessD] Delimiter Value (was: Automatic Update Function) > > This is an intriguing part of the discussion. One perspective is to find > a symbol that will not accidentally be typed because it's not on a standard > keyboard. The other perspective is to find a symbol that can easily be > used (because it is on a standard keyboard), but is not commonly used for > most typing and coding. Fascinating. I like the pipe symbol because it > fits with the second perspective. I would like an > ALT+ASCII code symbol that is easy to remember and doesn't appear on a > standard keyboard, too, because it reduces the threat of accidental > typing. Hmmm - pondering. > TNF > > Tina Norris Fields > tinanfields-at-torchlake-dot-com > 231-322-2787 > > On 3/3/2015 8:13 AM, Jim Dettman wrote: > > > > I'm not sure if it's as true today as it once was, but using > > anything beyond 127 was iffy. > > > > The extended characters have no set definition unlike those below > > 128. So while that may not exist as a character on a US keyboard, it > > may exist on others because it might not be a cent symbol. > > > > I use the vertical pipe as well because to my knowledge, there's no > > place where one would use it outside of computer commands and it is > > easy to read because the character is thin. > > > > Jim. > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters > > Sent: Monday, March 02, 2015 08:59 PM > > To: 'Access Developers discussion and problem solving' > > Subject: Re: [AccessD] Delimiter Value (was: Automatic Update > > Function) > > > > Hi John, > > > > A pretty safe delimiter is a ? symbol (cent symbol). To use it, > > you'll have to find it somewhere and copy it into your code. Or, you > > can could also use Chr(162). > > > > I don't think a cent symbol is on any US electronic keyboards, and > > certainly not on any others. > > > > I found a good list of Chr values at > > http://www.gtwiki.org/mwiki/?title=VB_Chr_Values. > > > > Dan > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. > > Colby > > Sent: Monday, March 02, 2015 15:32 PM > > To: Access Developers discussion and problem solving > > Subject: Re: [AccessD] Automatic Update Function > > > > Of course it was simple. However if you look at SQL Server export for > > example, by default if you tell it to use quotes, it quotes EVERY FIELD. > > > > So if you are getting data from the wild, look out. If you are doing > > the export yourself, and then the import yourself, it is really fairly > > easy, you control both ends. > > > > As I mentioned I like pipe delimited because (in MY data) pipes are > > unheard of, so using that as a delimiter is pretty safe. My data is > > name / address from the wild, so tabs are encountered occasionally. I > > have never actually seen a pipe coming in from raw data, though of > > course it is a key on the keyboard and someone could accidentally hit it. > > > > John W. Colby > > -- > 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 From fuller.artful at gmail.com Tue Mar 3 13:32:14 2015 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 3 Mar 2015 14:32:14 -0500 Subject: [AccessD] Delimiter Value In-Reply-To: <54F5EA08.8000102@gmail.com> References: <54F5EA08.8000102@gmail.com> Message-ID: Gustav. Mind you, I have only two computers and attendant keyboards handy, but neither keyboard has "?" available. In fact, prior to your email, I don't think that I have ever seen this character -- which may well qualify it as an excellent delimiter. JWC: You're quite right, in terms of your specific app, that a double-character delimiter would impose significant overhead. In my particular case, a code-generator, this was never a problem, given that my average template was <= 1k of text. So back to Gustav's suggestion. Maybe that "?" thing is a great candidate for a delimiter. A, On Tue, Mar 3, 2015 at 12:06 PM, John W. Colby wrote: > Arthur, > > To be quite honest the concept of double character delimiters just never > occurred to me, however a couple of things come to mind. > > 1) I do not write the code that actually writes the delimiters into the > file or strips it back out. I simply use an existing "widget" of some > kind. For example SQL Server has BCP that has built into it, buried way > down inside, the ability to do this kind of thing. > > So how do I know that attempting to use a double character will even work > in terms of getting the thing into the file. Likewise, how do I know that > the "other end" will understand how to use a double character to get it > back out. > > CSV is a "standard. For better or worse it was extensively jawboned > amongst some number of people and then a standard written. I have never > actually seen a double character used as the delimiter in any file handed > to me. > > 2) All to often we are using this to send tons of data in large files to > someone. Even the overhead of "," adds a lot to the size of the file. > Take a file of 20 fields times a million records and look at how much > "extra" baggage (overhead) has to be handled. You are talking roughly 40 > million extra characters in the file, just to handle a "once in a blue moon > issue". > > I hand off files of anywhere from 500K to 2 million records to a third > party program. I had to jump through hoops to get them to handle the pipe > character instead of the CSV standard. Before I asked them to switch to > the pipe, I routinely ran into " issues (in nicknames inserted into first > name fields). Since the switch to pipes (many years ago), I have never run > into a delimiter issue since. > > John W. Colby > > On 3/3/2015 11:47 AM, Arthur Fuller wrote: > >> This is an interesting thread but I do have one question, which derives >> from personal experience writing a code generator that had to find markers >> in templates and substitute either literal or iterated text in place of >> said markers. >> >> I opted for two-character delimiters ; they could have been pretty much >> any >> given character expressed twice. As it happens, I opted for "\\marker\\", >> which admittedly could have created problems when attempting to express >> UNCs etc., but I escaped these in the standard way. >> >> As previously pointed out, the use of the cent-sign may not be universal, >> and that is a problem. >> >> But my larger question is this: why are you restricting delimiters to >> single-character markers? That seems to me to be the path to trouble no >> matter which native (human or typographical) language you are using. >> Ultimately, this problem resolves to the likelihood of any given marker >> being used within the text of interest; and so we have to go for the >> unlikeliest combinations, the smallest unit being one character, but I am >> arguing in favor of two-character delimiters, while also providing for the >> standard escape-clause syntax of repeating the delimiter twice if you mean >> it not as a delimiter but part of the text. >> >> I've just Googled "the number of official languages in the world", and >> India and China come out way on top, with a few hundred in each nation. >> Just to make this much more painfully clear, "language" is distinguished >> from "dialect", which is to say that even though I have lived almost my >> life in English-speaking Canada, I can also recognize Cicero-English from >> New Orleans English from Oxford English, and also readily discern Quebec >> francais from Parisian and even Marseilles. I'm shakier on Dutch, but I >> can >> discern Mandarin from Cantonese in fewer than 5 seconds, and also >> Shanghaiese from both of these. You might conjecture that I have an ear >> for >> language; perhaps that is true. After all, I can convincingly pronounce >> two >> of the trickiest words in Dutch, but that's because I've visited >> Nederlands about six times, and picked up a little more on each visit. The >> two most difficult words in Dutch are the word for vacuum cleaner >> (stofzuiger) >> and the name of a town on the coast whose name was used in WWII to >> distinguish Nazi spys from legitimate Dutch citizens (Schlevningen). It >> required more practice for me to get these two words than to apprehend and >> duplicate the tones in Cantonese; but I got there, eventually. >> >> Sorry for the extensive sidetrack. I just wanted to emphasize that >> single-character delimiters are bound to cause trouble in a large number >> of >> languages in the world. Facing this ugly fact, the developer has a couple >> of choices: narrow the translation-geography to a few well-chosen >> languages >> of immediate interest to the app of interest, or strive for a broader >> translation-strategy; in my opinion the only viable path to the latter >> approach is to expand the concept of a delimiter beyond single-character >> representation, and in addition to provide the standard escape-syntax >> (e.g. >> in py preferred choice, "\\" is the delimiter, except when repeated, in >> which case the second occurrence is to be interpreted as literal text). >> >> This syntax and notation, I hope, will sidestep the fact that the "cents" >> sign will not be misinterpreted by non-English (and in fact >> non-Western-European) keyboards. >> >> Arthur >> >> On Tue, Mar 3, 2015 at 11:06 AM, Gustav Brock wrote: >> >> Hi Tina >>> >>> That character could be: ? >>> I've seen on every keyboard but never seen it used for anything. >>> >>> However, I've never had issues with the "|" pipe sign, so why make things >>> more strange than necessary. >>> >>> /gustav >>> >>> -----Oprindelig meddelelse----- >>> Fra: accessd-bounces at databaseadvisors.com [mailto: >>> accessd-bounces at databaseadvisors.com] P? vegne af Tina Norris Fields >>> Sendt: 3. marts 2015 17:02 >>> Til: Access Developers discussion and problem solving >>> Emne: Re: [AccessD] Delimiter Value (was: Automatic Update Function) >>> >>> This is an intriguing part of the discussion. One perspective is to find >>> a symbol that will not accidentally be typed because it's not on a >>> standard >>> keyboard. The other perspective is to find a symbol that can easily be >>> used (because it is on a standard keyboard), but is not commonly used for >>> most typing and coding. Fascinating. I like the pipe symbol because it >>> fits with the second perspective. I would like an >>> ALT+ASCII code symbol that is easy to remember and doesn't appear on a >>> standard keyboard, too, because it reduces the threat of accidental >>> typing. Hmmm - pondering. >>> TNF >>> >>> > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- Arthur From jackandpat.d at gmail.com Tue Mar 3 14:19:24 2015 From: jackandpat.d at gmail.com (jack drawbridge) Date: Tue, 3 Mar 2015 15:19:24 -0500 Subject: [AccessD] Delimiter Value In-Reply-To: References: <54F5EA08.8000102@gmail.com> Message-ID: Hi Arthur, I thought I had the only non-common keyboard (a 7 year old Dell) no such character. Then I checked my newer Lenovo ---no such character. Happy to hear you have none either. You may be correct -- if we use the "?" for delimiter there's not much danger of a bad keystroke causing unexpected delimiters... Jack On Tue, Mar 3, 2015 at 2:32 PM, Arthur Fuller wrote: > Gustav. > > Mind you, I have only two computers and attendant keyboards handy, but > neither keyboard has "?" available. In fact, prior to your email, I don't > think that I have ever seen this character -- which may well qualify it as > an excellent delimiter. > > JWC: > > You're quite right, in terms of your specific app, that a double-character > delimiter would impose significant overhead. In my particular case, a > code-generator, this was never a problem, given that my average template > was <= 1k of text. So back to Gustav's suggestion. Maybe that "?" thing is > a great candidate for a delimiter. > > A, > > On Tue, Mar 3, 2015 at 12:06 PM, John W. Colby wrote: > > > Arthur, > > > > To be quite honest the concept of double character delimiters just never > > occurred to me, however a couple of things come to mind. > > > > 1) I do not write the code that actually writes the delimiters into the > > file or strips it back out. I simply use an existing "widget" of some > > kind. For example SQL Server has BCP that has built into it, buried way > > down inside, the ability to do this kind of thing. > > > > So how do I know that attempting to use a double character will even work > > in terms of getting the thing into the file. Likewise, how do I know > that > > the "other end" will understand how to use a double character to get it > > back out. > > > > CSV is a "standard. For better or worse it was extensively jawboned > > amongst some number of people and then a standard written. I have never > > actually seen a double character used as the delimiter in any file handed > > to me. > > > > 2) All to often we are using this to send tons of data in large files to > > someone. Even the overhead of "," adds a lot to the size of the file. > > Take a file of 20 fields times a million records and look at how much > > "extra" baggage (overhead) has to be handled. You are talking roughly 40 > > million extra characters in the file, just to handle a "once in a blue > moon > > issue". > > > > I hand off files of anywhere from 500K to 2 million records to a third > > party program. I had to jump through hoops to get them to handle the > pipe > > character instead of the CSV standard. Before I asked them to switch to > > the pipe, I routinely ran into " issues (in nicknames inserted into first > > name fields). Since the switch to pipes (many years ago), I have never > run > > into a delimiter issue since. > > > > John W. Colby > > > > On 3/3/2015 11:47 AM, Arthur Fuller wrote: > > > >> This is an interesting thread but I do have one question, which derives > >> from personal experience writing a code generator that had to find > markers > >> in templates and substitute either literal or iterated text in place of > >> said markers. > >> > >> I opted for two-character delimiters ; they could have been pretty much > >> any > >> given character expressed twice. As it happens, I opted for > "\\marker\\", > >> which admittedly could have created problems when attempting to express > >> UNCs etc., but I escaped these in the standard way. > >> > >> As previously pointed out, the use of the cent-sign may not be > universal, > >> and that is a problem. > >> > >> But my larger question is this: why are you restricting delimiters to > >> single-character markers? That seems to me to be the path to trouble no > >> matter which native (human or typographical) language you are using. > >> Ultimately, this problem resolves to the likelihood of any given marker > >> being used within the text of interest; and so we have to go for the > >> unlikeliest combinations, the smallest unit being one character, but I > am > >> arguing in favor of two-character delimiters, while also providing for > the > >> standard escape-clause syntax of repeating the delimiter twice if you > mean > >> it not as a delimiter but part of the text. > >> > >> I've just Googled "the number of official languages in the world", and > >> India and China come out way on top, with a few hundred in each nation. > >> Just to make this much more painfully clear, "language" is distinguished > >> from "dialect", which is to say that even though I have lived almost my > >> life in English-speaking Canada, I can also recognize Cicero-English > from > >> New Orleans English from Oxford English, and also readily discern Quebec > >> francais from Parisian and even Marseilles. I'm shakier on Dutch, but I > >> can > >> discern Mandarin from Cantonese in fewer than 5 seconds, and also > >> Shanghaiese from both of these. You might conjecture that I have an ear > >> for > >> language; perhaps that is true. After all, I can convincingly pronounce > >> two > >> of the trickiest words in Dutch, but that's because I've visited > >> Nederlands about six times, and picked up a little more on each visit. > The > >> two most difficult words in Dutch are the word for vacuum cleaner > >> (stofzuiger) > >> and the name of a town on the coast whose name was used in WWII to > >> distinguish Nazi spys from legitimate Dutch citizens (Schlevningen). It > >> required more practice for me to get these two words than to apprehend > and > >> duplicate the tones in Cantonese; but I got there, eventually. > >> > >> Sorry for the extensive sidetrack. I just wanted to emphasize that > >> single-character delimiters are bound to cause trouble in a large number > >> of > >> languages in the world. Facing this ugly fact, the developer has a > couple > >> of choices: narrow the translation-geography to a few well-chosen > >> languages > >> of immediate interest to the app of interest, or strive for a broader > >> translation-strategy; in my opinion the only viable path to the latter > >> approach is to expand the concept of a delimiter beyond single-character > >> representation, and in addition to provide the standard escape-syntax > >> (e.g. > >> in py preferred choice, "\\" is the delimiter, except when repeated, in > >> which case the second occurrence is to be interpreted as literal text). > >> > >> This syntax and notation, I hope, will sidestep the fact that the > "cents" > >> sign will not be misinterpreted by non-English (and in fact > >> non-Western-European) keyboards. > >> > >> Arthur > >> > >> On Tue, Mar 3, 2015 at 11:06 AM, Gustav Brock wrote: > >> > >> Hi Tina > >>> > >>> That character could be: ? > >>> I've seen on every keyboard but never seen it used for anything. > >>> > >>> However, I've never had issues with the "|" pipe sign, so why make > things > >>> more strange than necessary. > >>> > >>> /gustav > >>> > >>> -----Oprindelig meddelelse----- > >>> Fra: accessd-bounces at databaseadvisors.com [mailto: > >>> accessd-bounces at databaseadvisors.com] P? vegne af Tina Norris Fields > >>> Sendt: 3. marts 2015 17:02 > >>> Til: Access Developers discussion and problem solving > >>> Emne: Re: [AccessD] Delimiter Value (was: Automatic Update Function) > >>> > >>> This is an intriguing part of the discussion. One perspective is to > find > >>> a symbol that will not accidentally be typed because it's not on a > >>> standard > >>> keyboard. The other perspective is to find a symbol that can easily be > >>> used (because it is on a standard keyboard), but is not commonly used > for > >>> most typing and coding. Fascinating. I like the pipe symbol because > it > >>> fits with the second perspective. I would like an > >>> ALT+ASCII code symbol that is easy to remember and doesn't appear on a > >>> standard keyboard, too, because it reduces the threat of accidental > >>> typing. Hmmm - pondering. > >>> TNF > >>> > >>> > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > > > -- > Arthur > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From stuart at lexacorp.com.pg Tue Mar 3 14:22:40 2015 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Wed, 04 Mar 2015 07:22:40 +1100 Subject: [AccessD] Delimiter Value (was: Automatic Update Function) In-Reply-To: References: , Message-ID: <54F61810.12949.13FE33B5@stuart.lexacorp.com.pg> If you don't need to file to be easily human readable/editable, there are actually plenty of "low ASCII" characters to play with as well (non-printable, This is an interesting thread but I do have one question, which > derives from personal experience writing a code generator that had to > find markers in templates and substitute either literal or iterated > text in place of said markers. > > I opted for two-character delimiters ; they could have been pretty > much any given character expressed twice. As it happens, I opted for > "\\marker\\", which admittedly could have created problems when > attempting to express UNCs etc., but I escaped these in the standard > way. > > As previously pointed out, the use of the cent-sign may not be > universal, and that is a problem. > > But my larger question is this: why are you restricting delimiters to > single-character markers? That seems to me to be the path to trouble > no matter which native (human or typographical) language you are > using. Ultimately, this problem resolves to the likelihood of any > given marker being used within the text of interest; and so we have to > go for the unlikeliest combinations, the smallest unit being one > character, but I am arguing in favor of two-character delimiters, > while also providing for the standard escape-clause syntax of > repeating the delimiter twice if you mean it not as a delimiter but > part of the text. > > I've just Googled "the number of official languages in the world", and > India and China come out way on top, with a few hundred in each > nation. Just to make this much more painfully clear, "language" is > distinguished from "dialect", which is to say that even though I have > lived almost my life in English-speaking Canada, I can also recognize > Cicero-English from New Orleans English from Oxford English, and also > readily discern Quebec francais from Parisian and even Marseilles. I'm > shakier on Dutch, but I can discern Mandarin from Cantonese in fewer > than 5 seconds, and also Shanghaiese from both of these. You might > conjecture that I have an ear for language; perhaps that is true. > After all, I can convincingly pronounce two of the trickiest words in > Dutch, but that's because I've visited Nederlands about six times, and > picked up a little more on each visit. The two most difficult words in > Dutch are the word for vacuum cleaner (stofzuiger) and the name of a > town on the coast whose name was used in WWII to distinguish Nazi spys > from legitimate Dutch citizens (Schlevningen). It required more > practice for me to get these two words than to apprehend and duplicate > the tones in Cantonese; but I got there, eventually. > > Sorry for the extensive sidetrack. I just wanted to emphasize that > single-character delimiters are bound to cause trouble in a large > number of languages in the world. Facing this ugly fact, the developer > has a couple of choices: narrow the translation-geography to a few > well-chosen languages of immediate interest to the app of interest, or > strive for a broader translation-strategy; in my opinion the only > viable path to the latter approach is to expand the concept of a > delimiter beyond single-character representation, and in addition to > provide the standard escape-syntax (e.g. in py preferred choice, "\\" > is the delimiter, except when repeated, in which case the second > occurrence is to be interpreted as literal text). > > This syntax and notation, I hope, will sidestep the fact that the > "cents" sign will not be misinterpreted by non-English (and in fact > non-Western-European) keyboards. > > Arthur > > On Tue, Mar 3, 2015 at 11:06 AM, Gustav Brock > wrote: > > > Hi Tina > > > > That character could be: ? > > I've seen on every keyboard but never seen it used for anything. > > > > However, I've never had issues with the "|" pipe sign, so why make > > things more strange than necessary. > > > > /gustav > > > > -----Oprindelig meddelelse----- > > Fra: accessd-bounces at databaseadvisors.com [mailto: > > accessd-bounces at databaseadvisors.com] P? vegne af Tina Norris > > Fields Sendt: 3. marts 2015 17:02 Til: Access Developers discussion > > and problem solving Emne: Re: [AccessD] Delimiter Value (was: > > Automatic Update Function) > > > > This is an intriguing part of the discussion. One perspective is to > > find a symbol that will not accidentally be typed because it's not > > on a standard keyboard. The other perspective is to find a symbol > > that can easily be used (because it is on a standard keyboard), but > > is not commonly used for most typing and coding. Fascinating. I > > like the pipe symbol because it fits with the second perspective. I > > would like an ALT+ASCII code symbol that is easy to remember and > > doesn't appear on a standard keyboard, too, because it reduces the > > threat of accidental typing. Hmmm - pondering. TNF > > > > Tina Norris Fields > > tinanfields-at-torchlake-dot-com > > 231-322-2787 > > > > On 3/3/2015 8:13 AM, Jim Dettman wrote: > > > > > > I'm not sure if it's as true today as it once was, but using > > > anything beyond 127 was iffy. > > > > > > The extended characters have no set definition unlike those > > > below > > > 128. So while that may not exist as a character on a US keyboard, > > > it may exist on others because it might not be a cent symbol. > > > > > > I use the vertical pipe as well because to my knowledge, there's > > > no > > > place where one would use it outside of computer commands and it > > > is easy to read because the character is thin. > > > > > > Jim. > > > > > > -----Original Message----- > > > From: accessd-bounces at databaseadvisors.com > > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan > > > Waters Sent: Monday, March 02, 2015 08:59 PM To: 'Access > > > Developers discussion and problem solving' Subject: Re: [AccessD] > > > Delimiter Value (was: Automatic Update Function) > > > > > > Hi John, > > > > > > A pretty safe delimiter is a ? symbol (cent symbol). To use it, > > > you'll have to find it somewhere and copy it into your code. Or, > > > you can could also use Chr(162). > > > > > > I don't think a cent symbol is on any US electronic keyboards, and > > > certainly not on any others. > > > > > > I found a good list of Chr values at > > > http://www.gtwiki.org/mwiki/?title=VB_Chr_Values. > > > > > > Dan > > > > > > -----Original Message----- > > > From: accessd-bounces at databaseadvisors.com > > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. > > > Colby Sent: Monday, March 02, 2015 15:32 PM To: Access Developers > > > discussion and problem solving Subject: Re: [AccessD] Automatic > > > Update Function > > > > > > Of course it was simple. However if you look at SQL Server export > > > for example, by default if you tell it to use quotes, it quotes > > > EVERY FIELD. > > > > > > So if you are getting data from the wild, look out. If you are > > > doing the export yourself, and then the import yourself, it is > > > really fairly easy, you control both ends. > > > > > > As I mentioned I like pipe delimited because (in MY data) pipes > > > are unheard of, so using that as a delimiter is pretty safe. My > > > data is name / address from the wild, so tabs are encountered > > > occasionally. I have never actually seen a pipe coming in from raw > > > data, though of course it is a key on the keyboard and someone > > > could accidentally hit it. > > > > > > John W. Colby > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > > > -- > Arthur > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com From stuart at lexacorp.com.pg Tue Mar 3 14:31:17 2015 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Wed, 04 Mar 2015 07:31:17 +1100 Subject: [AccessD] Delimiter Value In-Reply-To: <54F5EA08.8000102@gmail.com> References: , , <54F5EA08.8000102@gmail.com> Message-ID: <54F61A15.2832.14061675@stuart.lexacorp.com.pg> Can you refer me to that "standard"? The closest I've ever come to finding one is RFC 4180 which not a standard itself and which includes the wording "While there are various specifications and implementations for the CSV format (for ex. [4], [5], [6] and [7]), there is no formal specification in existence, which allows for a wide variety of interpretations of CSV files." It then continues until you reach this classic absolute classic: "5. Each field may or may not be enclosed in double quotes (however some programs, such as Microsoft Excel, do not use double quotes at all). If fields are not enclosed with double quotes, then double quotes may not appear inside the fields. " -- Stuart On 3 Mar 2015 at 12:06, John W. Colby wrote: > > CSV is a "standard. For better or worse it was extensively jawboned > amongst some number of people and then a standard written. From jwcolby at gmail.com Tue Mar 3 16:17:36 2015 From: jwcolby at gmail.com (John W. Colby) Date: Tue, 03 Mar 2015 17:17:36 -0500 Subject: [AccessD] Delimiter Value In-Reply-To: <54F61A15.2832.14061675@stuart.lexacorp.com.pg> References: , , <54F5EA08.8000102@gmail.com> <54F61A15.2832.14061675@stuart.lexacorp.com.pg> Message-ID: <54F63300.9010802@gmail.com> No, I can't. John W. Colby On 3/3/2015 3:31 PM, Stuart McLachlan wrote: > Can you refer me to that "standard"? > > The closest I've ever come to finding one is RFC 4180 which not a standard itself and which > includes the wording > > "While there are various specifications and implementations for the > CSV format (for ex. [4], [5], [6] and [7]), there is no formal > specification in existence, which allows for a wide variety of > interpretations of CSV files." > > It then continues until you reach this classic absolute classic: > > "5. Each field may or may not be enclosed in double quotes (however > some programs, such as Microsoft Excel, do not use double quotes > at all). If fields are not enclosed with double quotes, then > double quotes may not appear inside the fields. " > > From jerbach.db at gmail.com Tue Mar 3 14:46:07 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Tue, 3 Mar 2015 14:46:07 -0600 Subject: [AccessD] Form corruption? Message-ID: Hello All - My Productivity App from WIFI hell has another component to it that I need to ask about. This portion of the app was written by my co-worker using a methodology I did NOT want to employ. He designed the main form so that 90% of the form objects are *drawn on the form at load time.* Existing objects are deleted first, and then new ones created using 'CreateControl'. This is a 2 page form - page 1 with command buttons and page 2 with what are basically 'hand drawn' charts. I've attached 2 screen shots to give an idea of the number of objects that are being created. He designed it this way so that there would be, in his mind, the ultimate amount of flexibility in terms of drawing a form with 1 group of machines or 10 groups of machines. No objects to hide/activate - just create them all from scratch each time. It works pretty well out on the production floor for the most part. But when I'm working in the app, making changes to the code behind the form (or even just making changes to stand-alone modules) it will be very subject to: Error 29054: Access can't add, rename, or delete the control(s) you requested. It's as if form corruption creeps in behind my back. I can run the form repeatedly during development with no issues. And then out of the blue the error crops up. Sometimes re-deleting all of the controls is enough to correct it; other times I have to pull a 'clean' form from back up in order to get un-stuck. Does anyone know what's behind this error? Is there are way to keep his 'draw on load' code intact and keep this error from recurring? Or do I need to re-create the form with hard-coded objects the way I wanted to in the first place? Thank you. Janet Erbach From jwcolby at gmail.com Tue Mar 3 16:42:47 2015 From: jwcolby at gmail.com (John W. Colby) Date: Tue, 03 Mar 2015 17:42:47 -0500 Subject: [AccessD] Form corruption? In-Reply-To: References: Message-ID: <54F638E7.6010705@gmail.com> Can you trap and ignore the error? If it is saying that it can't delete an object because the object doesn't exist then just ignore the error? John W. Colby On 3/3/2015 3:46 PM, Janet Erbach wrote: > Hello All - > > My Productivity App from WIFI hell has another component to it that I need > to ask about. This portion of the app was written by my co-worker using a > methodology I did NOT want to employ. He designed the main form so that > 90% of the form objects are *drawn on the form at load time.* Existing > objects are deleted first, and then new ones created using 'CreateControl'. > > > This is a 2 page form - page 1 with command buttons and page 2 with what > are basically 'hand drawn' charts. I've attached 2 screen shots to give an > idea of the number of objects that are being created. > > He designed it this way so that there would be, in his mind, the ultimate > amount of flexibility in terms of drawing a form with 1 group of machines > or 10 groups of machines. No objects to hide/activate - just create them > all from scratch each time. > > It works pretty well out on the production floor for the most part. But > when I'm working in the app, making changes to the code behind the form (or > even just making changes to stand-alone modules) it will be very subject to: > > Error 29054: Access can't add, rename, or delete the control(s) you > requested. > > It's as if form corruption creeps in behind my back. I can run the form > repeatedly during development with no issues. And then out of the blue the > error crops up. Sometimes re-deleting all of the controls is enough to > correct it; other times I have to pull a 'clean' form from back up in > order to get un-stuck. > > Does anyone know what's behind this error? Is there are way to keep his > 'draw on load' code intact and keep this error from recurring? Or do I > need to re-create the form with hard-coded objects the way I wanted to in > the first place? > > Thank you. > > Janet Erbach > > From jerbach.db at gmail.com Tue Mar 3 17:02:55 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Tue, 3 Mar 2015 17:02:55 -0600 Subject: [AccessD] Form corruption? In-Reply-To: <54F638E7.6010705@gmail.com> References: <54F638E7.6010705@gmail.com> Message-ID: John - It's actually not allowing me to ADD new objects. It will draw objects up to a point - and then just crap out. It chokes on the 'CreateControl' command. On Tue, Mar 3, 2015 at 4:42 PM, John W. Colby wrote: > Can you trap and ignore the error? If it is saying that it can't delete > an object because the object doesn't exist then just ignore the error? > > John W. Colby > > On 3/3/2015 3:46 PM, Janet Erbach wrote: > >> Hello All - >> >> My Productivity App from WIFI hell has another component to it that I need >> to ask about. This portion of the app was written by my co-worker using a >> methodology I did NOT want to employ. He designed the main form so that >> 90% of the form objects are *drawn on the form at load time.* Existing >> objects are deleted first, and then new ones created using >> 'CreateControl'. >> >> >> This is a 2 page form - page 1 with command buttons and page 2 with what >> are basically 'hand drawn' charts. I've attached 2 screen shots to give >> an >> idea of the number of objects that are being created. >> >> He designed it this way so that there would be, in his mind, the ultimate >> amount of flexibility in terms of drawing a form with 1 group of machines >> or 10 groups of machines. No objects to hide/activate - just create them >> all from scratch each time. >> >> It works pretty well out on the production floor for the most part. But >> when I'm working in the app, making changes to the code behind the form >> (or >> even just making changes to stand-alone modules) it will be very subject >> to: >> >> Error 29054: Access can't add, rename, or delete the control(s) you >> requested. >> >> It's as if form corruption creeps in behind my back. I can run the form >> repeatedly during development with no issues. And then out of the blue >> the >> error crops up. Sometimes re-deleting all of the controls is enough to >> correct it; other times I have to pull a 'clean' form from back up in >> order to get un-stuck. >> >> Does anyone know what's behind this error? Is there are way to keep his >> 'draw on load' code intact and keep this error from recurring? Or do I >> need to re-create the form with hard-coded objects the way I wanted to in >> the first place? >> >> Thank you. >> >> Janet Erbach >> >> >> > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From davidmcafee at gmail.com Tue Mar 3 17:06:20 2015 From: davidmcafee at gmail.com (David McAfee) Date: Tue, 3 Mar 2015 15:06:20 -0800 Subject: [AccessD] Form corruption? In-Reply-To: References: <54F638E7.6010705@gmail.com> Message-ID: Forms are only allowed a limited number of controls over the history of the form itself. Even if they've been deleted. You may be hitting that number. D On Tue, Mar 3, 2015 at 3:02 PM, Janet Erbach wrote: > John - > > It's actually not allowing me to ADD new objects. It will draw objects up > to a point - and then just crap out. It chokes on the 'CreateControl' > command. > > > On Tue, Mar 3, 2015 at 4:42 PM, John W. Colby wrote: > > > Can you trap and ignore the error? If it is saying that it can't delete > > an object because the object doesn't exist then just ignore the error? > > > > John W. Colby > > > > On 3/3/2015 3:46 PM, Janet Erbach wrote: > > > >> Hello All - > >> > >> My Productivity App from WIFI hell has another component to it that I > need > >> to ask about. This portion of the app was written by my co-worker > using a > >> methodology I did NOT want to employ. He designed the main form so that > >> 90% of the form objects are *drawn on the form at load time.* Existing > >> objects are deleted first, and then new ones created using > >> 'CreateControl'. > >> > >> > >> This is a 2 page form - page 1 with command buttons and page 2 with what > >> are basically 'hand drawn' charts. I've attached 2 screen shots to give > >> an > >> idea of the number of objects that are being created. > >> > >> He designed it this way so that there would be, in his mind, the > ultimate > >> amount of flexibility in terms of drawing a form with 1 group of > machines > >> or 10 groups of machines. No objects to hide/activate - just create > them > >> all from scratch each time. > >> > >> It works pretty well out on the production floor for the most part. But > >> when I'm working in the app, making changes to the code behind the form > >> (or > >> even just making changes to stand-alone modules) it will be very subject > >> to: > >> > >> Error 29054: Access can't add, rename, or delete the control(s) you > >> requested. > >> > >> It's as if form corruption creeps in behind my back. I can run the form > >> repeatedly during development with no issues. And then out of the blue > >> the > >> error crops up. Sometimes re-deleting all of the controls is enough to > >> correct it; other times I have to pull a 'clean' form from back up in > >> order to get un-stuck. > >> > >> Does anyone know what's behind this error? Is there are way to keep his > >> 'draw on load' code intact and keep this error from recurring? Or do I > >> need to re-create the form with hard-coded objects the way I wanted to > in > >> the first place? > >> > >> Thank you. > >> > >> Janet Erbach > >> > >> > >> > > -- > > 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 > From jerbach.db at gmail.com Tue Mar 3 17:20:45 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Tue, 3 Mar 2015 17:20:45 -0600 Subject: [AccessD] Form corruption? In-Reply-To: References: <54F638E7.6010705@gmail.com> Message-ID: I knew that was the case with older versions of access...I was hoping that it didn't apply to 2007. On Tue, Mar 3, 2015 at 5:06 PM, David McAfee wrote: > Forms are only allowed a limited number of controls over the history of the > form itself. > > Even if they've been deleted. > > You may be hitting that number. > > D > > On Tue, Mar 3, 2015 at 3:02 PM, Janet Erbach wrote: > > > John - > > > > It's actually not allowing me to ADD new objects. It will draw objects > up > > to a point - and then just crap out. It chokes on the 'CreateControl' > > command. > > > > > > On Tue, Mar 3, 2015 at 4:42 PM, John W. Colby wrote: > > > > > Can you trap and ignore the error? If it is saying that it can't > delete > > > an object because the object doesn't exist then just ignore the error? > > > > > > John W. Colby > > > > > > On 3/3/2015 3:46 PM, Janet Erbach wrote: > > > > > >> Hello All - > > >> > > >> My Productivity App from WIFI hell has another component to it that I > > need > > >> to ask about. This portion of the app was written by my co-worker > > using a > > >> methodology I did NOT want to employ. He designed the main form so > that > > >> 90% of the form objects are *drawn on the form at load time.* Existing > > >> objects are deleted first, and then new ones created using > > >> 'CreateControl'. > > >> > > >> > > >> This is a 2 page form - page 1 with command buttons and page 2 with > what > > >> are basically 'hand drawn' charts. I've attached 2 screen shots to > give > > >> an > > >> idea of the number of objects that are being created. > > >> > > >> He designed it this way so that there would be, in his mind, the > > ultimate > > >> amount of flexibility in terms of drawing a form with 1 group of > > machines > > >> or 10 groups of machines. No objects to hide/activate - just create > > them > > >> all from scratch each time. > > >> > > >> It works pretty well out on the production floor for the most part. > But > > >> when I'm working in the app, making changes to the code behind the > form > > >> (or > > >> even just making changes to stand-alone modules) it will be very > subject > > >> to: > > >> > > >> Error 29054: Access can't add, rename, or delete the control(s) you > > >> requested. > > >> > > >> It's as if form corruption creeps in behind my back. I can run the > form > > >> repeatedly during development with no issues. And then out of the > blue > > >> the > > >> error crops up. Sometimes re-deleting all of the controls is enough > to > > >> correct it; other times I have to pull a 'clean' form from back up in > > >> order to get un-stuck. > > >> > > >> Does anyone know what's behind this error? Is there are way to keep > his > > >> 'draw on load' code intact and keep this error from recurring? Or do > I > > >> need to re-create the form with hard-coded objects the way I wanted to > > in > > >> the first place? > > >> > > >> Thank you. > > >> > > >> Janet Erbach > > >> > > >> > > >> > > > -- > > > 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 > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at gmail.com Tue Mar 3 17:22:41 2015 From: jwcolby at gmail.com (John W. Colby) Date: Tue, 03 Mar 2015 18:22:41 -0500 Subject: [AccessD] Form corruption? In-Reply-To: References: <54F638E7.6010705@gmail.com> Message-ID: <54F64241.3050406@gmail.com> Good point. I think that number is somewhere around 400 IIRC. John W. Colby On 3/3/2015 6:06 PM, David McAfee wrote: > Forms are only allowed a limited number of controls over the history of the > form itself. > > Even if they've been deleted. > > You may be hitting that number. > > D > > On Tue, Mar 3, 2015 at 3:02 PM, Janet Erbach wrote: > >> John - >> >> It's actually not allowing me to ADD new objects. It will draw objects up >> to a point - and then just crap out. It chokes on the 'CreateControl' >> command. >> >> >> On Tue, Mar 3, 2015 at 4:42 PM, John W. Colby wrote: >> >>> Can you trap and ignore the error? If it is saying that it can't delete >>> an object because the object doesn't exist then just ignore the error? >>> >>> John W. Colby >>> >>> On 3/3/2015 3:46 PM, Janet Erbach wrote: >>> >>>> Hello All - >>>> >>>> My Productivity App from WIFI hell has another component to it that I >> need >>>> to ask about. This portion of the app was written by my co-worker >> using a >>>> methodology I did NOT want to employ. He designed the main form so that >>>> 90% of the form objects are *drawn on the form at load time.* Existing >>>> objects are deleted first, and then new ones created using >>>> 'CreateControl'. >>>> >>>> >>>> This is a 2 page form - page 1 with command buttons and page 2 with what >>>> are basically 'hand drawn' charts. I've attached 2 screen shots to give >>>> an >>>> idea of the number of objects that are being created. >>>> >>>> He designed it this way so that there would be, in his mind, the >> ultimate >>>> amount of flexibility in terms of drawing a form with 1 group of >> machines >>>> or 10 groups of machines. No objects to hide/activate - just create >> them >>>> all from scratch each time. >>>> >>>> It works pretty well out on the production floor for the most part. But >>>> when I'm working in the app, making changes to the code behind the form >>>> (or >>>> even just making changes to stand-alone modules) it will be very subject >>>> to: >>>> >>>> Error 29054: Access can't add, rename, or delete the control(s) you >>>> requested. >>>> >>>> It's as if form corruption creeps in behind my back. I can run the form >>>> repeatedly during development with no issues. And then out of the blue >>>> the >>>> error crops up. Sometimes re-deleting all of the controls is enough to >>>> correct it; other times I have to pull a 'clean' form from back up in >>>> order to get un-stuck. >>>> >>>> Does anyone know what's behind this error? Is there are way to keep his >>>> 'draw on load' code intact and keep this error from recurring? Or do I >>>> need to re-create the form with hard-coded objects the way I wanted to >> in >>>> the first place? >>>> >>>> Thank you. >>>> >>>> Janet Erbach >>>> >>>> >>>> >>> -- >>> 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 >> From df.waters at outlook.com Tue Mar 3 17:26:43 2015 From: df.waters at outlook.com (Dan Waters) Date: Tue, 3 Mar 2015 17:26:43 -0600 Subject: [AccessD] Form corruption? In-Reply-To: References: Message-ID: Hi Janet, Your co-worker was 'experimenting'. Too bad it didn't work. As Dave said there is a limited number of controls on a form - then you need a new form. The 'experiment' did not work. I made something that might be similar for one of my customers. Their shop has about 25 different die casting machines - they are each bought for different capabilities. As such, they each have a different set of settings, requiring a different set of controls for each machine. What I did was set up a main form with a tab control. There are 8 tabs. The first 2 are the same for every machine. The next 6 contain a subform control that is filled with the subforms I designed for the specific machine, which is selected by a combobox on the main form. The number of subforms per machine ranges from 2 to 6. I swap out the subforms in code after the combobox is selected. Each machine has its own table, which populates the main form controls and all the controls on the subforms. I'll change the main form's recordsource in code when the machine number combobox is selected. I did something very similar for reports. When a job is set up, someone selects the machine and the part number (each part gets different settings), and they print out a report that is given to the folks who actually set up the die cast machine for that part. This worked out to be a good approach - no errors for many years. Also, I will send you off-line a copy of my 'Decorrupter' application. This will write all objects to text and then import them back as objects - doing this resets the historical number of controls back to zero. Good Luck! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach Sent: Tuesday, March 03, 2015 14:46 PM To: Database Advisors Subject: [AccessD] Form corruption? Hello All - My Productivity App from WIFI hell has another component to it that I need to ask about. This portion of the app was written by my co-worker using a methodology I did NOT want to employ. He designed the main form so that 90% of the form objects are *drawn on the form at load time.* Existing objects are deleted first, and then new ones created using 'CreateControl'. This is a 2 page form - page 1 with command buttons and page 2 with what are basically 'hand drawn' charts. I've attached 2 screen shots to give an idea of the number of objects that are being created. He designed it this way so that there would be, in his mind, the ultimate amount of flexibility in terms of drawing a form with 1 group of machines or 10 groups of machines. No objects to hide/activate - just create them all from scratch each time. It works pretty well out on the production floor for the most part. But when I'm working in the app, making changes to the code behind the form (or even just making changes to stand-alone modules) it will be very subject to: Error 29054: Access can't add, rename, or delete the control(s) you requested. It's as if form corruption creeps in behind my back. I can run the form repeatedly during development with no issues. And then out of the blue the error crops up. Sometimes re-deleting all of the controls is enough to correct it; other times I have to pull a 'clean' form from back up in order to get un-stuck. Does anyone know what's behind this error? Is there are way to keep his 'draw on load' code intact and keep this error from recurring? Or do I need to re-create the form with hard-coded objects the way I wanted to in the first place? Thank you. Janet Erbach From jerbach.db at gmail.com Tue Mar 3 17:27:24 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Tue, 3 Mar 2015 17:27:24 -0600 Subject: [AccessD] Form corruption? In-Reply-To: <54F64241.3050406@gmail.com> References: <54F638E7.6010705@gmail.com> <54F64241.3050406@gmail.com> Message-ID: Then I will try testing that to see how many objects I'm able to write before it blows up.... On Tue, Mar 3, 2015 at 5:22 PM, John W. Colby wrote: > Good point. I think that number is somewhere around 400 IIRC. > > John W. Colby > > > On 3/3/2015 6:06 PM, David McAfee wrote: > >> Forms are only allowed a limited number of controls over the history of >> the >> form itself. >> >> Even if they've been deleted. >> >> You may be hitting that number. >> >> D >> >> On Tue, Mar 3, 2015 at 3:02 PM, Janet Erbach >> wrote: >> >> John - >>> >>> It's actually not allowing me to ADD new objects. It will draw objects >>> up >>> to a point - and then just crap out. It chokes on the 'CreateControl' >>> command. >>> >>> >>> On Tue, Mar 3, 2015 at 4:42 PM, John W. Colby wrote: >>> >>> Can you trap and ignore the error? If it is saying that it can't delete >>>> an object because the object doesn't exist then just ignore the error? >>>> >>>> John W. Colby >>>> >>>> On 3/3/2015 3:46 PM, Janet Erbach wrote: >>>> >>>> Hello All - >>>>> >>>>> My Productivity App from WIFI hell has another component to it that I >>>>> >>>> need >>> >>>> to ask about. This portion of the app was written by my co-worker >>>>> >>>> using a >>> >>>> methodology I did NOT want to employ. He designed the main form so that >>>>> 90% of the form objects are *drawn on the form at load time.* Existing >>>>> objects are deleted first, and then new ones created using >>>>> 'CreateControl'. >>>>> >>>>> >>>>> This is a 2 page form - page 1 with command buttons and page 2 with >>>>> what >>>>> are basically 'hand drawn' charts. I've attached 2 screen shots to >>>>> give >>>>> an >>>>> idea of the number of objects that are being created. >>>>> >>>>> He designed it this way so that there would be, in his mind, the >>>>> >>>> ultimate >>> >>>> amount of flexibility in terms of drawing a form with 1 group of >>>>> >>>> machines >>> >>>> or 10 groups of machines. No objects to hide/activate - just create >>>>> >>>> them >>> >>>> all from scratch each time. >>>>> >>>>> It works pretty well out on the production floor for the most part. >>>>> But >>>>> when I'm working in the app, making changes to the code behind the form >>>>> (or >>>>> even just making changes to stand-alone modules) it will be very >>>>> subject >>>>> to: >>>>> >>>>> Error 29054: Access can't add, rename, or delete the control(s) you >>>>> requested. >>>>> >>>>> It's as if form corruption creeps in behind my back. I can run the >>>>> form >>>>> repeatedly during development with no issues. And then out of the blue >>>>> the >>>>> error crops up. Sometimes re-deleting all of the controls is enough to >>>>> correct it; other times I have to pull a 'clean' form from back up in >>>>> order to get un-stuck. >>>>> >>>>> Does anyone know what's behind this error? Is there are way to keep >>>>> his >>>>> 'draw on load' code intact and keep this error from recurring? Or do I >>>>> need to re-create the form with hard-coded objects the way I wanted to >>>>> >>>> in >>> >>>> the first place? >>>>> >>>>> Thank you. >>>>> >>>>> Janet Erbach >>>>> >>>>> >>>>> >>>>> -- >>>> 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 >>> >>> > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From charlotte.foust at gmail.com Tue Mar 3 17:35:58 2015 From: charlotte.foust at gmail.com (Charlotte Foust) Date: Tue, 3 Mar 2015 15:35:58 -0800 Subject: [AccessD] Form corruption? In-Reply-To: References: <54F638E7.6010705@gmail.com> <54F64241.3050406@gmail.com> Message-ID: It's more like 700+ over the life of the form. Charlotte On Tue, Mar 3, 2015 at 3:27 PM, Janet Erbach wrote: > Then I will try testing that to see how many objects I'm able to write > before it blows up.... > > On Tue, Mar 3, 2015 at 5:22 PM, John W. Colby wrote: > > > Good point. I think that number is somewhere around 400 IIRC. > > > > John W. Colby > > > > > > On 3/3/2015 6:06 PM, David McAfee wrote: > > > >> Forms are only allowed a limited number of controls over the history of > >> the > >> form itself. > >> > >> Even if they've been deleted. > >> > >> You may be hitting that number. > >> > >> D > >> > >> On Tue, Mar 3, 2015 at 3:02 PM, Janet Erbach > >> wrote: > >> > >> John - > >>> > >>> It's actually not allowing me to ADD new objects. It will draw objects > >>> up > >>> to a point - and then just crap out. It chokes on the 'CreateControl' > >>> command. > >>> > >>> > >>> On Tue, Mar 3, 2015 at 4:42 PM, John W. Colby > wrote: > >>> > >>> Can you trap and ignore the error? If it is saying that it can't > delete > >>>> an object because the object doesn't exist then just ignore the error? > >>>> > >>>> John W. Colby > >>>> > >>>> On 3/3/2015 3:46 PM, Janet Erbach wrote: > >>>> > >>>> Hello All - > >>>>> > >>>>> My Productivity App from WIFI hell has another component to it that I > >>>>> > >>>> need > >>> > >>>> to ask about. This portion of the app was written by my co-worker > >>>>> > >>>> using a > >>> > >>>> methodology I did NOT want to employ. He designed the main form so > that > >>>>> 90% of the form objects are *drawn on the form at load time.* > Existing > >>>>> objects are deleted first, and then new ones created using > >>>>> 'CreateControl'. > >>>>> > >>>>> > >>>>> This is a 2 page form - page 1 with command buttons and page 2 with > >>>>> what > >>>>> are basically 'hand drawn' charts. I've attached 2 screen shots to > >>>>> give > >>>>> an > >>>>> idea of the number of objects that are being created. > >>>>> > >>>>> He designed it this way so that there would be, in his mind, the > >>>>> > >>>> ultimate > >>> > >>>> amount of flexibility in terms of drawing a form with 1 group of > >>>>> > >>>> machines > >>> > >>>> or 10 groups of machines. No objects to hide/activate - just create > >>>>> > >>>> them > >>> > >>>> all from scratch each time. > >>>>> > >>>>> It works pretty well out on the production floor for the most part. > >>>>> But > >>>>> when I'm working in the app, making changes to the code behind the > form > >>>>> (or > >>>>> even just making changes to stand-alone modules) it will be very > >>>>> subject > >>>>> to: > >>>>> > >>>>> Error 29054: Access can't add, rename, or delete the control(s) you > >>>>> requested. > >>>>> > >>>>> It's as if form corruption creeps in behind my back. I can run the > >>>>> form > >>>>> repeatedly during development with no issues. And then out of the > blue > >>>>> the > >>>>> error crops up. Sometimes re-deleting all of the controls is enough > to > >>>>> correct it; other times I have to pull a 'clean' form from back up > in > >>>>> order to get un-stuck. > >>>>> > >>>>> Does anyone know what's behind this error? Is there are way to keep > >>>>> his > >>>>> 'draw on load' code intact and keep this error from recurring? Or > do I > >>>>> need to re-create the form with hard-coded objects the way I wanted > to > >>>>> > >>>> in > >>> > >>>> the first place? > >>>>> > >>>>> Thank you. > >>>>> > >>>>> Janet Erbach > >>>>> > >>>>> > >>>>> > >>>>> -- > >>>> 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 > >>> > >>> > > -- > > 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 > From jerbach.db at gmail.com Tue Mar 3 17:42:25 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Tue, 3 Mar 2015 17:42:25 -0600 Subject: [AccessD] Form corruption? In-Reply-To: References: Message-ID: Charlotte -I think I read 700+ somewhere else too. Dan - thank you for the offer of the 'Decorruptor' application!! On Tue, Mar 3, 2015 at 5:26 PM, Dan Waters wrote: > Hi Janet, > > Your co-worker was 'experimenting'. Too bad it didn't work. As Dave said > there is a limited number of controls on a form - then you need a new > form. The 'experiment' did not work. > > I made something that might be similar for one of my customers. Their > shop has about 25 different die casting machines - they are each bought for > different capabilities. As such, they each have a different set of > settings, requiring a different set of controls for each machine. What I > did was set up a main form with a tab control. There are 8 tabs. The > first 2 are the same for every machine. The next 6 contain a subform > control that is filled with the subforms I designed for the specific > machine, which is selected by a combobox on the main form. The number of > subforms per machine ranges from 2 to 6. I swap out the subforms in code > after the combobox is selected. > > Each machine has its own table, which populates the main form controls and > all the controls on the subforms. I'll change the main form's recordsource > in code when the machine number combobox is selected. > > I did something very similar for reports. When a job is set up, someone > selects the machine and the part number (each part gets different > settings), and they print out a report that is given to the folks who > actually set up the die cast machine for that part. > > This worked out to be a good approach - no errors for many years. > > Also, I will send you off-line a copy of my 'Decorrupter' application. > This will write all objects to text and then import them back as objects - > doing this resets the historical number of controls back to zero. > > Good Luck! > Dan > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com [mailto: > accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach > Sent: Tuesday, March 03, 2015 14:46 PM > To: Database Advisors > Subject: [AccessD] Form corruption? > > Hello All - > > My Productivity App from WIFI hell has another component to it that I need > to ask about. This portion of the app was written by my co-worker using a > methodology I did NOT want to employ. He designed the main form so that > 90% of the form objects are *drawn on the form at load time.* Existing > objects are deleted first, and then new ones created using 'CreateControl'. > > > This is a 2 page form - page 1 with command buttons and page 2 with what > are basically 'hand drawn' charts. I've attached 2 screen shots to give an > idea of the number of objects that are being created. > > He designed it this way so that there would be, in his mind, the ultimate > amount of flexibility in terms of drawing a form with 1 group of machines > or 10 groups of machines. No objects to hide/activate - just create them > all from scratch each time. > > It works pretty well out on the production floor for the most part. But > when I'm working in the app, making changes to the code behind the form (or > even just making changes to stand-alone modules) it will be very subject to: > > Error 29054: Access can't add, rename, or delete the control(s) you > requested. > > It's as if form corruption creeps in behind my back. I can run the form > repeatedly during development with no issues. And then out of the blue the > error crops up. Sometimes re-deleting all of the controls is enough to > correct it; other times I have to pull a 'clean' form from back up in > order to get un-stuck. > > Does anyone know what's behind this error? Is there are way to keep his > 'draw on load' code intact and keep this error from recurring? Or do I > need to re-create the form with hard-coded objects the way I wanted to in > the first place? > > Thank you. > > Janet Erbach > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From charlotte.foust at gmail.com Tue Mar 3 17:45:12 2015 From: charlotte.foust at gmail.com (Charlotte Foust) Date: Tue, 3 Mar 2015 15:45:12 -0800 Subject: [AccessD] Form corruption? In-Reply-To: References: Message-ID: It used to be in the documentation, but I haven't looked it up recently because it became moot after they introduced tab controls. Charlotte On Tue, Mar 3, 2015 at 3:42 PM, Janet Erbach wrote: > Charlotte -I think I read 700+ somewhere else too. > > Dan - thank you for the offer of the 'Decorruptor' application!! > > On Tue, Mar 3, 2015 at 5:26 PM, Dan Waters wrote: > > > Hi Janet, > > > > Your co-worker was 'experimenting'. Too bad it didn't work. As Dave > said > > there is a limited number of controls on a form - then you need a new > > form. The 'experiment' did not work. > > > > I made something that might be similar for one of my customers. Their > > shop has about 25 different die casting machines - they are each bought > for > > different capabilities. As such, they each have a different set of > > settings, requiring a different set of controls for each machine. What I > > did was set up a main form with a tab control. There are 8 tabs. The > > first 2 are the same for every machine. The next 6 contain a subform > > control that is filled with the subforms I designed for the specific > > machine, which is selected by a combobox on the main form. The number of > > subforms per machine ranges from 2 to 6. I swap out the subforms in code > > after the combobox is selected. > > > > Each machine has its own table, which populates the main form controls > and > > all the controls on the subforms. I'll change the main form's > recordsource > > in code when the machine number combobox is selected. > > > > I did something very similar for reports. When a job is set up, someone > > selects the machine and the part number (each part gets different > > settings), and they print out a report that is given to the folks who > > actually set up the die cast machine for that part. > > > > This worked out to be a good approach - no errors for many years. > > > > Also, I will send you off-line a copy of my 'Decorrupter' application. > > This will write all objects to text and then import them back as objects > - > > doing this resets the historical number of controls back to zero. > > > > Good Luck! > > Dan > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com [mailto: > > accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach > > Sent: Tuesday, March 03, 2015 14:46 PM > > To: Database Advisors > > Subject: [AccessD] Form corruption? > > > > Hello All - > > > > My Productivity App from WIFI hell has another component to it that I > need > > to ask about. This portion of the app was written by my co-worker using > a > > methodology I did NOT want to employ. He designed the main form so that > > 90% of the form objects are *drawn on the form at load time.* Existing > > objects are deleted first, and then new ones created using > 'CreateControl'. > > > > > > This is a 2 page form - page 1 with command buttons and page 2 with what > > are basically 'hand drawn' charts. I've attached 2 screen shots to give > an > > idea of the number of objects that are being created. > > > > He designed it this way so that there would be, in his mind, the ultimate > > amount of flexibility in terms of drawing a form with 1 group of machines > > or 10 groups of machines. No objects to hide/activate - just create them > > all from scratch each time. > > > > It works pretty well out on the production floor for the most part. But > > when I'm working in the app, making changes to the code behind the form > (or > > even just making changes to stand-alone modules) it will be very subject > to: > > > > Error 29054: Access can't add, rename, or delete the control(s) you > > requested. > > > > It's as if form corruption creeps in behind my back. I can run the form > > repeatedly during development with no issues. And then out of the blue > the > > error crops up. Sometimes re-deleting all of the controls is enough to > > correct it; other times I have to pull a 'clean' form from back up in > > order to get un-stuck. > > > > Does anyone know what's behind this error? Is there are way to keep his > > 'draw on load' code intact and keep this error from recurring? Or do I > > need to re-create the form with hard-coded objects the way I wanted to in > > the first place? > > > > Thank you. > > > > Janet Erbach > > > > > > -- > > 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 > From jimdettman at verizon.net Tue Mar 3 18:35:20 2015 From: jimdettman at verizon.net (Jim Dettman) Date: Tue, 03 Mar 2015 19:35:20 -0500 Subject: [AccessD] Form corruption? In-Reply-To: References: Message-ID: The number given has always been 754, but that has drifted upwards to over 1,000 in later versions. I posted all the counts a few years back. Jim Sent from my iPhone > On Mar 3, 2015, at 6:45 PM, Charlotte Foust wrote: > > It used to be in the documentation, but I haven't looked it up recently > because it became moot after they introduced tab controls. > > Charlotte > >> On Tue, Mar 3, 2015 at 3:42 PM, Janet Erbach wrote: >> >> Charlotte -I think I read 700+ somewhere else too. >> >> Dan - thank you for the offer of the 'Decorruptor' application!! >> >>> On Tue, Mar 3, 2015 at 5:26 PM, Dan Waters wrote: >>> >>> Hi Janet, >>> >>> Your co-worker was 'experimenting'. Too bad it didn't work. As Dave >> said >>> there is a limited number of controls on a form - then you need a new >>> form. The 'experiment' did not work. >>> >>> I made something that might be similar for one of my customers. Their >>> shop has about 25 different die casting machines - they are each bought >> for >>> different capabilities. As such, they each have a different set of >>> settings, requiring a different set of controls for each machine. What I >>> did was set up a main form with a tab control. There are 8 tabs. The >>> first 2 are the same for every machine. The next 6 contain a subform >>> control that is filled with the subforms I designed for the specific >>> machine, which is selected by a combobox on the main form. The number of >>> subforms per machine ranges from 2 to 6. I swap out the subforms in code >>> after the combobox is selected. >>> >>> Each machine has its own table, which populates the main form controls >> and >>> all the controls on the subforms. I'll change the main form's >> recordsource >>> in code when the machine number combobox is selected. >>> >>> I did something very similar for reports. When a job is set up, someone >>> selects the machine and the part number (each part gets different >>> settings), and they print out a report that is given to the folks who >>> actually set up the die cast machine for that part. >>> >>> This worked out to be a good approach - no errors for many years. >>> >>> Also, I will send you off-line a copy of my 'Decorrupter' application. >>> This will write all objects to text and then import them back as objects >> - >>> doing this resets the historical number of controls back to zero. >>> >>> Good Luck! >>> Dan >>> >>> -----Original Message----- >>> From: accessd-bounces at databaseadvisors.com [mailto: >>> accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach >>> Sent: Tuesday, March 03, 2015 14:46 PM >>> To: Database Advisors >>> Subject: [AccessD] Form corruption? >>> >>> Hello All - >>> >>> My Productivity App from WIFI hell has another component to it that I >> need >>> to ask about. This portion of the app was written by my co-worker using >> a >>> methodology I did NOT want to employ. He designed the main form so that >>> 90% of the form objects are *drawn on the form at load time.* Existing >>> objects are deleted first, and then new ones created using >> 'CreateControl'. >>> >>> >>> This is a 2 page form - page 1 with command buttons and page 2 with what >>> are basically 'hand drawn' charts. I've attached 2 screen shots to give >> an >>> idea of the number of objects that are being created. >>> >>> He designed it this way so that there would be, in his mind, the ultimate >>> amount of flexibility in terms of drawing a form with 1 group of machines >>> or 10 groups of machines. No objects to hide/activate - just create them >>> all from scratch each time. >>> >>> It works pretty well out on the production floor for the most part. But >>> when I'm working in the app, making changes to the code behind the form >> (or >>> even just making changes to stand-alone modules) it will be very subject >> to: >>> >>> Error 29054: Access can't add, rename, or delete the control(s) you >>> requested. >>> >>> It's as if form corruption creeps in behind my back. I can run the form >>> repeatedly during development with no issues. And then out of the blue >> the >>> error crops up. Sometimes re-deleting all of the controls is enough to >>> correct it; other times I have to pull a 'clean' form from back up in >>> order to get un-stuck. >>> >>> Does anyone know what's behind this error? Is there are way to keep his >>> 'draw on load' code intact and keep this error from recurring? Or do I >>> need to re-create the form with hard-coded objects the way I wanted to in >>> the first place? >>> >>> Thank you. >>> >>> Janet Erbach >>> >>> >>> -- >>> 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 > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com From jwcolby at gmail.com Tue Mar 3 18:38:56 2015 From: jwcolby at gmail.com (John W. Colby) Date: Tue, 03 Mar 2015 19:38:56 -0500 Subject: [AccessD] Form corruption? In-Reply-To: References: Message-ID: <54F65420.4000005@gmail.com> It sounds like it's time for Janet to do a test! ;) John W. Colby On 3/3/2015 7:35 PM, Jim Dettman wrote: > The number given has always been 754, but that has drifted upwards to over 1,000 in later versions. I posted all the counts a few years back. > > Jim > > Sent from my iPhone > >> On Mar 3, 2015, at 6:45 PM, Charlotte Foust wrote: >> >> It used to be in the documentation, but I haven't looked it up recently >> because it became moot after they introduced tab controls. >> >> Charlotte >> From jwcolby at gmail.com Tue Mar 3 21:41:40 2015 From: jwcolby at gmail.com (John W. Colby) Date: Tue, 03 Mar 2015 22:41:40 -0500 Subject: [AccessD] Aquarium Life Message-ID: <54F67EF4.50402@gmail.com> Anyone out there doing freshwater aquariums? And yes this will lead into databases. I found a site which labels the fish on a bunch of scales Difficulty Temperament Temp Hi Temp Lo Hardness Hi Hardness Lo PH Hi PH Lo Max Size So... it turns out that selecting a mix of fish to coexist in a tank is not straightforward. I have pulled 34 fish into a table with these columns all filled out. So now I need to build a method that will allow me to select fish. As I select new fish, it has to track back and make sure that the new selection meets all of the requirements of the previous selection(s). See the table below. So if the first fish selected is a cory cat, (12,13,or 14), the second fish selected must be able to live in the water temperature, hardness and PH that the Cory Cat can live in. Simple eh? Algorithmically, take the outside ranges, and keep the innermost value of each end as a new fish is selected. Take temp for example *Fish* ID FI_TankSize FI_Difficulty FI_Temperament FI_TempLow FI_TempHi FI_HardnessLo FI_HardnessHi FI_PHLo FI_PHHi FI_MaxSize FI_Price FI_Name FI_URL 12 30 Easy Peaceful 72 79 2 12 5.8 7 2 5.99 Albino Aeneus Cory Cat _http://www.liveaquaria.com/product/prod_display.cfm?c=747+870+953&pcatid=953_ ID FI_TankSize FI_Difficulty FI_Temperament FI_TempLow FI_TempHi FI_HardnessLo FI_HardnessHi FI_PHLo FI_PHHi FI_MaxSize FI_Price FI_Name FI_URL 17 30 Easy Peaceful 74 79 4 10 6 7 2 1.89 Cherry Barb _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+1008&pcatid=1008_ Fish Given these two fish, the temp range is now 74-79, Hardness is 4-10, PH is 6-7 ID FI_TankSize FI_Difficulty FI_Temperament FI_TempLow FI_TempHi FI_HardnessLo FI_HardnessHi FI_PHLo FI_PHHi FI_MaxSize FI_Price FI_Name FI_URL 18 10 Easy Peaceful 73 77 8 12 6.5 7 2 2.59 Turquoise Danio _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+948&pcatid=948_ Fish If we add the Danio, the Temp is now 74-77, Hardness is 8-10, and PH is 6.5-7 So is this possible just using SQL? Select a PK to add to a "Potential selection" table and have SQL return new Min/Max values as I have done above manually? Or should I just do it the grunt (code) way? The objective is to build a "aquarium calculator" which returns the characteristics required to keep the selected fish alive, as well as discover as fish are added, whether they are compatible to the existing selection. *Fish* ID FI_TankSize FI_Difficulty FI_Temperament FI_TempLow FI_TempHi FI_HardnessLo FI_HardnessHi FI_PHLo FI_PHHi FI_MaxSize FI_Price FI_Name FI_URL 2 20 Easy Peaceful 68 85 3 10 6.5 8 3.5 12.99 Singapore Flower Shrimp _http://www.liveaquaria.com/product/prod_display.cfm?c=1075+1842&pcatid=1842_ 3 10 Easy Peaceful 68 85 3 10 6.5 8 2 1.99 Grass Shrimp _http://www.liveaquaria.com/product/prod_display.cfm?c=1075+3347&pcatid=3347_ 4 10 Easy Peaceful 68 85 3 10 6.5 8 2 1.59 Ghost Shrimp _http://www.liveaquaria.com/product/prod_display.cfm?c=1075+1468&pcatid=1468_ 5 10 Easy Peaceful 65 85 5 12 6.5 8 1 3.99 Nerita Snails _http://www.liveaquaria.com/product/prod_display.cfm?c=1075+1076&pcatid=1076_ 6 10 Easy Peaceful 68 85 5 12 6.5 8 2 3.99 Japanese Trapdoor Snail _http://www.liveaquaria.com/product/prod_display.cfm?c=1075+1077&pcatid=1077_ 7 10 Easy Peaceful 60 80 3 10 6 7.6 2 3.99 Japonica Amano Shrimp _http://www.liveaquaria.com/product/prod_display.cfm?c=1075+1843&pcatid=1843_ 8 10 Moderate Peaceful 72 82 5 8 6.8 7.8 2.5 1.49 Dwarf African Frog _http://www.liveaquaria.com/product/prod_display.cfm?c=1075+2945&pcatid=2945_ 9 10 Easy Peaceful 68 74 4 8 5 7 2 1.89 Neon Tetra _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+1097&pcatid=1097_ 10 1 Easy Peaceful 75 86 0 25 6 8 3 2.99 Beta Female _http://www.liveaquaria.com/product/prod_display.cfm?c=830+832+1014&pcatid=1014_ 11 1 Easy Peaceful 75 86 0 25 6 8 3 4.49 Beta Male _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+844&pcatid=844_ 12 30 Easy Peaceful 72 79 2 12 5.8 7 2 5.99 Albino Aeneus Cory Cat _http://www.liveaquaria.com/product/prod_display.cfm?c=747+870+953&pcatid=953_ 13 30 Easy Peaceful 72 79 2 12 5.8 7 2 5.99 False Julii Cory Cat _http://www.liveaquaria.com/product/prod_display.cfm?c=830+1161+1176&pcatid=1176_ 14 30 Easy Peaceful 70 77 0 15 6.2 7.8 3 9.99 Sterba's Cory _http://www.liveaquaria.com/product/prod_display.cfm?c=830+1161+846&pcatid=846_ 15 10 Easy Peaceful 72 77 6 10 6 6.5 2 1.99 Harlequin Rasbora _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+1065&pcatid=1065_ 16 10 Easy Peaceful 72 77 4 8 6 6.5 2 4.39 Bleeding Heart Tetra _http://www.liveaquaria.com/product/prod_display.cfm?c=830+890+906&pcatid=906_ 17 30 Easy Peaceful 74 79 4 10 6 7 2 1.89 Cherry Barb _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+1008&pcatid=1008_ 18 10 Easy Peaceful 73 77 8 12 6.5 7 2 2.59 Turquoise Danio _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+948&pcatid=948_ 19 20 Easy Peaceful 64 72 8 12 5.8 6.5 3 10.99 Praecox Rainbow _http://www.liveaquaria.com/product/prod_display.cfm?c=747+870+1059&pcatid=1059_ 20 10 Easy Peaceful 64 75 8 12 6.5 7 3 1.19 Zebra Danio _http://www.liveaquaria.com/product/prod_display.cfm?c=830+881+941&pcatid=941_ 21 20 Easy Peaceful 72 77 12 20 7 7.5 3 11.49 Celebes Rainbow _http://www.liveaquaria.com/product/prod_display.cfm?c=747+870+1024&pcatid=1024_ 22 10 Easy Peaceful 64 72 10 15 6.5 7.5 2 3.99 Golden White Cloud _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+952&pcatid=952_ 23 30 Easy Peaceful 72 77 9 19 7 8 3 14.99 Boesemani Rainbow _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+1053&pcatid=1053_ 24 30 Easy Peaceful 75 86 5 18 6.5 8 4 7.49 Pearl Gourami _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+966&pcatid=966_ 25 10 Easy Peaceful 64 72 10 15 6.5 7.5 2 11.49 Long Fin White Cloud Minnow _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+950&pcatid=950_ 26 20 Easy Peaceful 64 82 10 30 5.5 8 1 5.99 Endler?s Livebearer _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+1584&pcatid=1584_ 27 20 Easy Peaceful 64 82 10 30 5.5 8 2 5.99 Green Cobra Guppy _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+1048&pcatid=1048_ 28 20 Easy Peaceful 64 82 10 30 5.5 8 2.5 5.99 Neon Blue Tux Guppy _http://www.liveaquaria.com/product/prod_display.cfm?c=830+1100+1047&pcatid=1047_ 29 20 Easy Peaceful 64 82 10 30 5.5 8 2 5.99 Red Fire Guppy _http://www.liveaquaria.com/product/prod_display.cfm?c=830+1100+1045&pcatid=1045_ 30 20 Easy Peaceful 64 82 10 30 5.5 8 2.5 5.99 Lemon Cobra Guppy _http://www.liveaquaria.com/product/prod_display.cfm?c=747+870+1049&pcatid=1049_ 31 20 Easy Peaceful 64 82 12 30 7 8.3 4 4.19 Swordtail _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+1098&pcatid=1098_ 32 10 Easy Peaceful 75 82 4 8 6 7.5 2 2.59 Diamond Tetra _http://www.liveaquaria.com/product/prod_display.cfm?c=830+890+897&pcatid=897_ 33 20 Easy Peaceful 65 75 4 20 6.5 7.5 3 1.59 Mosquito Fish _http://www.liveaquaria.com/product/prod_display.cfm?c=900+1499+1530&pcatid=1530_ 34 30 Moderate Peaceful 75 81 4 8 6 6.2 3 9.99 Congo Tetra _http://www.liveaquaria.com/product/prod_display.cfm?c=830+890+905&pcatid=905_ 35 10 Moderate Peaceful 72 82 4 10 6 7.5 2 5.49 Dwarf Gourami _http://www.liveaquaria.com/product/prod_display.cfm?c=830+882+974&pcatid=974_ Fish -- John W. Colby From jwcolby at gmail.com Tue Mar 3 21:45:39 2015 From: jwcolby at gmail.com (John W. Colby) Date: Tue, 03 Mar 2015 22:45:39 -0500 Subject: [AccessD] Aquarium Life Message-ID: <54F67FE3.4010303@gmail.com> Anyone out there doing freshwater aquariums? And yes this will lead into databases. I found a site which labels the fish on a bunch of scales Difficulty Temperament Temp Hi Temp Lo Hardness Hi Hardness Lo PH Hi PH Lo Max Size So... it turns out that selecting a mix of fish to coexist in a tank is not straightforward. I have pulled 34 fish into a table with these columns all filled out. So now I need to build a method that will allow me to select fish. As I select new fish, it has to track back and make sure that the new selection meets all of the requirements of the previous selection(s). See the table below. So if the first fish selected is a cory cat, (12,13,or 14), the second fish selected must be able to live in the water temperature, hardness and PH that the Cory Cat can live in. Simple eh? Algorithmically, take the outside ranges, and keep the innermost value of each end as a new fish is selected. Take temp for example *Fish* ID FI_TankSize FI_Difficulty FI_Temperament FI_TempLow FI_TempHi FI_HardnessLo FI_HardnessHi FI_PHLo FI_PHHi FI_MaxSize FI_Price FI_Name FI_URL 12 30 Easy Peaceful 72 79 2 12 5.8 7 2 5.99 Albino Aeneus Cory Cat _http://www.liveaquaria.com/product/prod_display.cfm?c=747+870+953&pcatid=953_ ID FI_TankSize FI_Difficulty FI_Temperament FI_TempLow FI_TempHi FI_HardnessLo FI_HardnessHi FI_PHLo FI_PHHi FI_MaxSize FI_Price FI_Name FI_URL 17 30 Easy Peaceful 74 79 4 10 6 7 2 1.89 Cherry Barb _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+1008&pcatid=1008_ Given these two fish, the temp range is now 74-79, Hardness is 4-10, PH is 6-7 ID FI_TankSize FI_Difficulty FI_Temperament FI_TempLow FI_TempHi FI_HardnessLo FI_HardnessHi FI_PHLo FI_PHHi FI_MaxSize FI_Price FI_Name FI_URL 18 10 Easy Peaceful 73 77 8 12 6.5 7 2 2.59 Turquoise Danio _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+948&pcatid=948_ If we add the Danio, the Temp is now 74-77, Hardness is 8-10, and PH is 6.5-7 So is this possible just using SQL? Select a PK to add to a "Potential selection" table and have SQL return new Min/Max values as I have done above manually? Or should I just do it the grunt (code) way? The objective is to build a "aquarium calculator" which returns the characteristics required to keep the selected fish alive, as well as discover as fish are added, whether they are compatible to the existing selection. *Fish* ID FI_TankSize FI_Difficulty FI_Temperament FI_TempLow FI_TempHi FI_HardnessLo FI_HardnessHi FI_PHLo FI_PHHi FI_MaxSize FI_Price FI_Name FI_URL 12 30 Easy Peaceful 72 79 2 12 5.8 7 2 5.99 Albino Aeneus Cory Cat _http://www.liveaquaria.com/product/prod_display.cfm?c=747+870+953&pcatid=953_ 13 30 Easy Peaceful 72 79 2 12 5.8 7 2 5.99 False Julii Cory Cat _http://www.liveaquaria.com/product/prod_display.cfm?c=830+1161+1176&pcatid=1176_ 14 30 Easy Peaceful 70 77 0 15 6.2 7.8 3 9.99 Sterba's Cory _http://www.liveaquaria.com/product/prod_display.cfm?c=830+1161+846&pcatid=846_ 15 10 Easy Peaceful 72 77 6 10 6 6.5 2 1.99 Harlequin Rasbora _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+1065&pcatid=1065_ 16 10 Easy Peaceful 72 77 4 8 6 6.5 2 4.39 Bleeding Heart Tetra _http://www.liveaquaria.com/product/prod_display.cfm?c=830+890+906&pcatid=906_ 17 30 Easy Peaceful 74 79 4 10 6 7 2 1.89 Cherry Barb _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+1008&pcatid=1008_ 18 10 Easy Peaceful 73 77 8 12 6.5 7 2 2.59 Turquoise Danio _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+948&pcatid=948_ Fish -- John W. Colby From jwcolby at gmail.com Tue Mar 3 21:51:24 2015 From: jwcolby at gmail.com (John W. Colby) Date: Tue, 03 Mar 2015 22:51:24 -0500 Subject: [AccessD] Aquarium Life Message-ID: <54F6813C.6080502@gmail.com> Anyone out there doing freshwater aquariums? And yes this will lead into databases. I found a site which labels the fish on a bunch of scales Difficulty Temperament Temp Hi Temp Lo Hardness Hi Hardness Lo PH Hi PH Lo Max Size So... it turns out that selecting a mix of fish to coexist in a tank is not straightforward. I have pulled 34 fish into a table with these columns all filled out. So now I need to build a method that will allow me to select fish. As I select new fish, it has to track back and make sure that the new selection meets all of the requirements of the previous selection(s). See the table below. So if the first fish selected is a cory cat, (12,13,or 14), the second fish selected must be able to live in the water temperature, hardness and PH that the Cory Cat can live in. Simple eh? Algorithmically, take the outside ranges, and keep the innermost value of each end as a new fish is selected. Take temp for example *Query1* ID FI_TankSize FI_Difficulty FI_Temperament FI_TempLow FI_TempHi FI_HardnessLo FI_HardnessHi FI_PHLo FI_PHHi FI_MaxSize FI_Name 12 30 Easy Peaceful 72 79 2 12 5.8 7 2 Albino Aeneus Cory Cat *Query1* ID FI_TankSize FI_Difficulty FI_Temperament FI_TempLow FI_TempHi FI_HardnessLo FI_HardnessHi FI_PHLo FI_PHHi FI_MaxSize FI_Name 17 30 Easy Peaceful 74 79 4 10 6 7 2 Cherry Barb Given these two fish, the temp range is now 74-79, Hardness is 4-10, PH is 6-7 Query1 *Query1* ID FI_TankSize FI_Difficulty FI_Temperament FI_TempLow FI_TempHi FI_HardnessLo FI_HardnessHi FI_PHLo FI_PHHi FI_MaxSize FI_Name 18 10 Easy Peaceful 73 77 8 12 6.5 7 2 Turquoise Danio Query1 If we add the Danio, the Temp is now 74-77, Hardness is 8-10, and PH is 6.5-7 So is this possible just using SQL? Select a PK to add to a "Potential selection" table and have SQL return new Min/Max values as I have done above manually? Or should I just do it the grunt (code) way? The objective is to build a "aquarium calculator" which returns the characteristics required to keep the selected fish alive, as well as discover as fish are added, whether they are compatible to the existing selection. *Query1* ID FI_TankSize FI_Difficulty FI_Temperament FI_TempLow FI_TempHi FI_HardnessLo FI_HardnessHi FI_PHLo FI_PHHi FI_MaxSize FI_Name 12 30 Easy Peaceful 72 79 2 12 5.8 7 2 Albino Aeneus Cory Cat 13 30 Easy Peaceful 72 79 2 12 5.8 7 2 False Julii Cory Cat 14 30 Easy Peaceful 70 77 0 15 6.2 7.8 3 Sterba's Cory 15 10 Easy Peaceful 72 77 6 10 6 6.5 2 Harlequin Rasbora 16 10 Easy Peaceful 72 77 4 8 6 6.5 2 Bleeding Heart Tetra 17 30 Easy Peaceful 74 79 4 10 6 7 2 Cherry Barb 18 10 Easy Peaceful 73 77 8 12 6.5 7 2 Turquoise Danio Query1 -- John W. Colby From fuller.artful at gmail.com Wed Mar 4 06:06:10 2015 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 4 Mar 2015 07:06:10 -0500 Subject: [AccessD] Aquarium Life In-Reply-To: <54F6813C.6080502@gmail.com> References: <54F6813C.6080502@gmail.com> Message-ID: An interesting app, John. I don't have an immediate SQL answer, but I will download the data from your links and build my own table, then play around and see what I can come up with. Arthur ? Hmm. Seems like your links aren't working as expected. From carbonnb at gmail.com Wed Mar 4 07:15:27 2015 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Wed, 4 Mar 2015 08:15:27 -0500 Subject: [AccessD] Aquarium Life In-Reply-To: References: <54F6813C.6080502@gmail.com> Message-ID: It looks like in the post, there is a trailing underscore on all the links. So you may have to manually copy/paste & delete the underscore. B On Wed, Mar 4, 2015 at 7:06 AM, Arthur Fuller wrote: > An interesting app, John. I don't have an immediate SQL answer, but I will > download the data from your links and build my own table, then play around > and see what I can come up with. > > Arthur > > Hmm. Seems like your links aren't working as expected. > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Bryan Carbonnell - carbonnb at gmail.com Life's journey is not to arrive at the grave safely in a well preserved body, but rather to skid in sideways, totally worn out, shouting "What a great ride!" From jimdettman at verizon.net Wed Mar 4 07:42:31 2015 From: jimdettman at verizon.net (Jim Dettman) Date: Wed, 04 Mar 2015 08:42:31 -0500 Subject: [AccessD] Aquarium Life In-Reply-To: <54F67FE3.4010303@gmail.com> References: <54F67FE3.4010303@gmail.com> Message-ID: Not as hard as you would think, but it's going to be some ugly SQL (long) It boils down to what you said; looking at the outside ranges. Here's all the possibilities: measure start measure end Existing Recs S ------------------E New#1 S----E New#2 S-------E New#3 S-----E New#4 S------E New#5 S-----E New#6 S---------------------------------------------E So in cases #2, 3, 4,and 6 are OK, #1 and #5 are not. Your where check is then: WHERE [existing start] <= New end AND [existing end] >= New Start The check is simple, but because you'd need to do this for each measure (temp, PH, etc), the SQL will be a little ugly. This is actually pretty common logic used for checking conflicts for things like reservations. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. Colby Sent: Tuesday, March 03, 2015 10:46 PM To: Access Developers discussion and problem solving Subject: [AccessD] Aquarium Life Anyone out there doing freshwater aquariums? And yes this will lead into databases. I found a site which labels the fish on a bunch of scales Difficulty Temperament Temp Hi Temp Lo Hardness Hi Hardness Lo PH Hi PH Lo Max Size So... it turns out that selecting a mix of fish to coexist in a tank is not straightforward. I have pulled 34 fish into a table with these columns all filled out. So now I need to build a method that will allow me to select fish. As I select new fish, it has to track back and make sure that the new selection meets all of the requirements of the previous selection(s). See the table below. So if the first fish selected is a cory cat, (12,13,or 14), the second fish selected must be able to live in the water temperature, hardness and PH that the Cory Cat can live in. Simple eh? Algorithmically, take the outside ranges, and keep the innermost value of each end as a new fish is selected. Take temp for example *Fish* ID FI_TankSize FI_Difficulty FI_Temperament FI_TempLow FI_TempHi FI_HardnessLo FI_HardnessHi FI_PHLo FI_PHHi FI_MaxSize FI_Price FI_Name FI_URL 12 30 Easy Peaceful 72 79 2 12 5.8 7 2 5.99 Albino Aeneus Cory Cat _http://www.liveaquaria.com/product/prod_display.cfm?c=747+870+953&pcatid=95 3_ ID FI_TankSize FI_Difficulty FI_Temperament FI_TempLow FI_TempHi FI_HardnessLo FI_HardnessHi FI_PHLo FI_PHHi FI_MaxSize FI_Price FI_Name FI_URL 17 30 Easy Peaceful 74 79 4 10 6 7 2 1.89 Cherry Barb _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+1008&pcatid= 1008_ Given these two fish, the temp range is now 74-79, Hardness is 4-10, PH is 6-7 ID FI_TankSize FI_Difficulty FI_Temperament FI_TempLow FI_TempHi FI_HardnessLo FI_HardnessHi FI_PHLo FI_PHHi FI_MaxSize FI_Price FI_Name FI_URL 18 10 Easy Peaceful 73 77 8 12 6.5 7 2 2.59 Turquoise Danio _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+948&pcatid=9 48_ If we add the Danio, the Temp is now 74-77, Hardness is 8-10, and PH is 6.5-7 So is this possible just using SQL? Select a PK to add to a "Potential selection" table and have SQL return new Min/Max values as I have done above manually? Or should I just do it the grunt (code) way? The objective is to build a "aquarium calculator" which returns the characteristics required to keep the selected fish alive, as well as discover as fish are added, whether they are compatible to the existing selection. *Fish* ID FI_TankSize FI_Difficulty FI_Temperament FI_TempLow FI_TempHi FI_HardnessLo FI_HardnessHi FI_PHLo FI_PHHi FI_MaxSize FI_Price FI_Name FI_URL 12 30 Easy Peaceful 72 79 2 12 5.8 7 2 5.99 Albino Aeneus Cory Cat _http://www.liveaquaria.com/product/prod_display.cfm?c=747+870+953&pcatid=95 3_ 13 30 Easy Peaceful 72 79 2 12 5.8 7 2 5.99 False Julii Cory Cat _http://www.liveaquaria.com/product/prod_display.cfm?c=830+1161+1176&pcatid= 1176_ 14 30 Easy Peaceful 70 77 0 15 6.2 7.8 3 9.99 Sterba's Cory _http://www.liveaquaria.com/product/prod_display.cfm?c=830+1161+846&pcatid=8 46_ 15 10 Easy Peaceful 72 77 6 10 6 6.5 2 1.99 Harlequin Rasbora _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+1065&pcatid= 1065_ 16 10 Easy Peaceful 72 77 4 8 6 6.5 2 4.39 Bleeding Heart Tetra _http://www.liveaquaria.com/product/prod_display.cfm?c=830+890+906&pcatid=90 6_ 17 30 Easy Peaceful 74 79 4 10 6 7 2 1.89 Cherry Barb _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+1008&pcatid= 1008_ 18 10 Easy Peaceful 73 77 8 12 6.5 7 2 2.59 Turquoise Danio _http://www.liveaquaria.com/product/prod_display.cfm?c=830+2855+948&pcatid=9 48_ Fish -- John W. Colby -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From fuller.artful at gmail.com Wed Mar 4 10:45:24 2015 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 4 Mar 2015 11:45:24 -0500 Subject: [AccessD] Aquarium Life In-Reply-To: References: <54F67FE3.4010303@gmail.com> Message-ID: Jim, While your assertion is correct in an algiorythmic sense, I fear that it overlooks some complexities, not to mention some serious difficulties in the UI-aspect of the problem. But I do find this an interesting problem, and have turned JWC's content into an Accdb file so I can begin some experiments. I'm a tad unclear on a couple of scenarios: a) given a selection of n fish thus far, all conforming to a given set of parameters p, then are we limited to adding fish that fall within p, or are we also allowed to add a new fish which might stretch the parameters, but accidentally preclude some of the previously-chosen fish? b) a far simpler version might initially specify the parameters and then seek which fish can live within them, then maybe change a parameter or two and repeat, until some desired optimum is reached. Said optimum would have to be defined beforehand; some possibilities include Max. # of fish within a given price-range, or Max # of fish varieties regardless of cost. Just a couple of examples; I'm sure there are many more. An interesting problem. A. ? From jwcolby at gmail.com Wed Mar 4 11:49:30 2015 From: jwcolby at gmail.com (John W. Colby) Date: Wed, 04 Mar 2015 12:49:30 -0500 Subject: [AccessD] Aquarium Life In-Reply-To: References: <54F67FE3.4010303@gmail.com> Message-ID: <54F745AA.5000302@gmail.com> The concept of setting ranges and then filtering for matching fish is dead simple. That is not a complete solution however. Unfortunately users usually want to come at it from "I like this fish and this fish and that fish and... rats... I just killed that fish..." That does make the idea of setting up combos or text boxes to allow entering the min / max for each property, and then seeing what falls in the range a good idea. I think I will use that method. I could then add some method of selecting a specific fish and getting feedback on what property of the selected fish does not match the range. IMO, the correct way to set up an aquarium is to decide the fish, balance the water to a point that is acceptable to all the fish (thus the original question) and then introduce the fish one breed at a time, timid to aggressive. Eventually I do in fact have to get the min / max that is acceptable for ALL the fish in the selection. You may get specific fish combinations that require a rather narrow range of min / max for some or all the properties. Thus the water has to be in that range or some species is stressed or dies. I think it is relatively trivial to get the min / max values with SQL over a range of records. If those records are the already selected fish then it self adjusts as you add the next fish. Thus select the fish that will work in a base range, then look at the query that selects the min / max over the selected fish. In fact if that min/max query was placed in a subform (or query) in the footer of a form and requeried as fish were added in the main area, You could see the existing min/max over the already selected and use that to guide you in selecting the next fish. You could even use the min/max query to filter the combo of what fish is still available to be selected. Another consideration is the "inches of fish" allowed in the tank. The rule of thumb is one inch / gallon. If the aquarium is a 50 gallon tank. as you select fish you get the max (adult) length, and then add a quantity, you end up with a selected number of inches. That has to be summed, and the sum not to exceed the tank capacity. Just another limiting factor to be checked as you go, or as you adjust the quantities of each selected fish. You can see that, done correctly, you could set up your tank, and as fish are added or die, you could tweak the numbers to see where you stand and what could be added back in. The current aquarium (fish) statistics are stored and available on demand. As you test your water you can then check back against the stored statistics to make sure that the properties still fall within the acceptable ranges. I told ya this would turn into database work. John W. Colby On 3/4/2015 11:45 AM, Arthur Fuller wrote: > Jim, > > While your assertion is correct in an algiorythmic sense, I fear that it > overlooks some complexities, not to mention some serious difficulties in > the UI-aspect of the problem. > > But I do find this an interesting problem, and have turned JWC's content > into an Accdb file so I can begin some experiments. > > I'm a tad unclear on a couple of scenarios: > > a) given a selection of n fish thus far, all conforming to a given set of > parameters p, then are we limited to adding fish that fall within p, or are > we also allowed to add a new fish which might stretch the parameters, but > accidentally preclude some of the previously-chosen fish? > > b) a far simpler version might initially specify the parameters and then > seek which fish can live within them, then maybe change a parameter or two > and repeat, until some desired optimum is reached. Said optimum would have > to be defined beforehand; some possibilities include Max. # of fish within > a given price-range, or Max # of fish varieties regardless of cost. Just a > couple of examples; I'm sure there are many more. > > An interesting problem. > > A. > ? From jwcolby at gmail.com Wed Mar 4 11:55:37 2015 From: jwcolby at gmail.com (John W. Colby) Date: Wed, 04 Mar 2015 12:55:37 -0500 Subject: [AccessD] Existing structure Message-ID: <54F74719.9040809@gmail.com> I will paste my existing structure so you can see where I am going with this and make suggestions. AQ_Type is just a text descriptor out in a table. It could contain the hardness numbers, I chose not to. *tblAquariumType* AT_ID AT_Typ 1 Soft 2 Hard 3 Salt 4 Med tblAquariumType The aquarium then allows me to define aquariums to be set up. *tblAquarium* AQ_ID AQ_Type AQ_HardnessLo AQ_HardnessHi AQ_Name AQ_Gallons AQ_Notes 1 Soft 0 8 First 75 2 Med 6 12 Second 50 3 Hard 10 30 Third 60 tblAquarium -- John W. Colby From jwcolby at gmail.com Wed Mar 4 12:00:48 2015 From: jwcolby at gmail.com (John W. Colby) Date: Wed, 04 Mar 2015 13:00:48 -0500 Subject: [AccessD] Aquuarium existing structure Message-ID: <54F74850.3090800@gmail.com> The aquarium thus has a name, the hardness type, a tank size, and a memo for adding notes. You have already seen the fish table but I will put a couple of records into this email. *tblFish* ID FI_TankSize FI_Difficulty FI_Temperament FI_TempLow FI_TempHi FI_HardnessLo FI_HardnessHi FI_PHLo FI_PHHi FI_MaxSize FI_Price FI_Name FI_URL 2 20 Easy Peaceful 68 85 3 10 6.5 8 3.5 12.99 Singapore Flower Shrimp _http://www.liveaquaria.com/product/prod_display.cfm?c=1075+1842&pcatid=1842_ 3 10 Easy Peaceful 68 85 3 10 6.5 8 2 1.99 Grass Shrimp _http://www.liveaquaria.com/product/prod_display.cfm?c=1075+3347&pcatid=3347_ tblFish This basically just copies much of the descriptor data from one specific site (LiveAquaria.Com) which I found last night. I started this in an excel spreadsheet so the Difficulty and Temperament should really be carved out into child type tables. They currently are not. -- John W. Colby From fuller.artful at gmail.com Wed Mar 4 12:41:47 2015 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 4 Mar 2015 13:41:47 -0500 Subject: [AccessD] Aquarium Life In-Reply-To: <54F745AA.5000302@gmail.com> References: <54F67FE3.4010303@gmail.com> <54F745AA.5000302@gmail.com> Message-ID: John, I never doubted for a second that this would be a problem demanding a database-solution. One particular aspect that I'm having trouble with is this: given a selection of fish so far, which all fall within say temperature range R1-R2; given the desire to select a new fish, whose inclusion might change either R1 or R2 or perhaps both, in such a way that Fish1 and Fish6 may no longer be able to handle the new temperature range (too cold now or too hot), then drop the new one or the other two? ? From jwcolby at gmail.com Wed Mar 4 12:45:06 2015 From: jwcolby at gmail.com (John W. Colby) Date: Wed, 04 Mar 2015 13:45:06 -0500 Subject: [AccessD] Aquarium existing structure Message-ID: <54F752B2.2010304@gmail.com> ATM tblAquariumFish holds just the aquarium id and the fish ID, and a quantity, and represents the fish selected for a specific aquarium. *tblAquariumFish* AQFI_ID AQFI_IDAQ AQFI_IDFI AQFI_Qty 1 0 2 3 tblAquariumFish This should allow a query to pull the data for the selected fish, the hardness rating, as well as the tank inches and the quantity of the selected fish. With that data the process of filtering for possible fish can begin. From this point, the min / max query can start populating based on fish selected into tblAquariumFish. It just occurred to me that I really need a field in tblAquariumFish to indicate whether the selected fish is already purchased (in the tank) or is being proposed. Obviously existing (purchased) fish should not be removable in the same sense as the proposed fish are. IOW you can add / subtract proposed fish but existing fish should remain (in the selection process). If you want to MOVE a fish, then they should be moved to another aquarium and deleted from this one. If you use a combo to select the proposed fish, then the FIRST TIME (the table is empty), the query has to use the hardness numbers from the aquarium table. After the first fish is selected, then the combo needs to be filtered by the min/max query based on fish in the table, as well as inches. -- John W. Colby From jwcolby at gmail.com Wed Mar 4 13:18:49 2015 From: jwcolby at gmail.com (John W. Colby) Date: Wed, 04 Mar 2015 14:18:49 -0500 Subject: [AccessD] Aquarium Life In-Reply-To: References: <54F67FE3.4010303@gmail.com> <54F745AA.5000302@gmail.com> Message-ID: <54F75A99.8080908@gmail.com> That is an interface question of course. Strategies: 1) Warn that the new fish doesn't work. 2) Indicate which fish the collision occurs with. 3) Prevent a save if a collision exists. 4) Narrow down the available fish to be selected based on compatibility with existing selections. All strategies have pros and cons. #1, #2 and #3 are really one strategy. #4 just works in terms of always selecting only matching fish. However it doesn't help in seeing WHY some other fish I want has disappeared, or which fish, if deleted, would bring back the one I want. If #4 is selected then some method of seeing collisions with other fish is necessary. It would be really nice to do something like color code the existing records / fields based on the new selection. I think that Access forms allow this in some simple form. Not sure whether the implementation would fit the problem however. If that could be implemented then a very nice visual of mismatches could be seen. The nice part is that for most of us, the actual number of different AquariumFish (records) allowed will be pretty restricted, it's not like we have to deal with thousands or even hundreds of already selected fish (species). This is a messy problem IMHO. You do absolutely want to prevent selecting fish that can't co-exist however. Not a good idea to allow selecting a fish that is gonna die in the current environment. John W. Colby On 3/4/2015 1:41 PM, Arthur Fuller wrote: > John, > > I never doubted for a second that this would be a problem demanding a > database-solution. One particular aspect that I'm having trouble with is > this: > > given a selection of fish so far, which all fall within say temperature > range R1-R2; > given the desire to select a new fish, whose inclusion might change either > R1 or R2 or perhaps both, in such a way that Fish1 and Fish6 may no longer > be able to handle the new temperature range (too cold now or too hot), then > drop the new one or the other two? > ? From rockysmolin at bchacc.com Thu Mar 5 14:14:23 2015 From: rockysmolin at bchacc.com (Rocky Smolin) Date: Thu, 5 Mar 2015 12:14:23 -0800 Subject: [AccessD] Microsoft Access Version Releases, Service Packs, Hotfixes, and Updates History Message-ID: FYI http://www.fmsinc.com/MicrosoftAccess/history/versions.htm Rocky Smolin Beach Access Software 858-259-4334 www.bchacc.com www.e-z-mrp.com Skype: rocky.smolin From bensonforums at gmail.com Thu Mar 5 16:57:50 2015 From: bensonforums at gmail.com (Bill Benson) Date: Thu, 5 Mar 2015 17:57:50 -0500 Subject: [AccessD] Form corruption? In-Reply-To: References: <54F638E7.6010705@gmail.com> Message-ID: I have found that the progression of Access is to get worse with time, not better. It's just me I am sure.... On Tue, Mar 3, 2015 at 6:20 PM, Janet Erbach wrote: > I knew that was the case with older versions of access...I was hoping that > it didn't apply to 2007. > > On Tue, Mar 3, 2015 at 5:06 PM, David McAfee > wrote: > > > Forms are only allowed a limited number of controls over the history of > the > > form itself. > > > > Even if they've been deleted. > > > > You may be hitting that number. > > > > D > > > > On Tue, Mar 3, 2015 at 3:02 PM, Janet Erbach > wrote: > > > > > John - > > > > > > It's actually not allowing me to ADD new objects. It will draw objects > > up > > > to a point - and then just crap out. It chokes on the 'CreateControl' > > > command. > > > > > > > > > On Tue, Mar 3, 2015 at 4:42 PM, John W. Colby > wrote: > > > > > > > Can you trap and ignore the error? If it is saying that it can't > > delete > > > > an object because the object doesn't exist then just ignore the > error? > > > > > > > > John W. Colby > > > > > > > > On 3/3/2015 3:46 PM, Janet Erbach wrote: > > > > > > > >> Hello All - > > > >> > > > >> My Productivity App from WIFI hell has another component to it that > I > > > need > > > >> to ask about. This portion of the app was written by my co-worker > > > using a > > > >> methodology I did NOT want to employ. He designed the main form so > > that > > > >> 90% of the form objects are *drawn on the form at load time.* > Existing > > > >> objects are deleted first, and then new ones created using > > > >> 'CreateControl'. > > > >> > > > >> > > > >> This is a 2 page form - page 1 with command buttons and page 2 with > > what > > > >> are basically 'hand drawn' charts. I've attached 2 screen shots to > > give > > > >> an > > > >> idea of the number of objects that are being created. > > > >> > > > >> He designed it this way so that there would be, in his mind, the > > > ultimate > > > >> amount of flexibility in terms of drawing a form with 1 group of > > > machines > > > >> or 10 groups of machines. No objects to hide/activate - just create > > > them > > > >> all from scratch each time. > > > >> > > > >> It works pretty well out on the production floor for the most part. > > But > > > >> when I'm working in the app, making changes to the code behind the > > form > > > >> (or > > > >> even just making changes to stand-alone modules) it will be very > > subject > > > >> to: > > > >> > > > >> Error 29054: Access can't add, rename, or delete the control(s) you > > > >> requested. > > > >> > > > >> It's as if form corruption creeps in behind my back. I can run the > > form > > > >> repeatedly during development with no issues. And then out of the > > blue > > > >> the > > > >> error crops up. Sometimes re-deleting all of the controls is enough > > to > > > >> correct it; other times I have to pull a 'clean' form from back up > in > > > >> order to get un-stuck. > > > >> > > > >> Does anyone know what's behind this error? Is there are way to keep > > his > > > >> 'draw on load' code intact and keep this error from recurring? Or > do > > I > > > >> need to re-create the form with hard-coded objects the way I wanted > to > > > in > > > >> the first place? > > > >> > > > >> Thank you. > > > >> > > > >> Janet Erbach > > > >> > > > >> > > > >> > > > > -- > > > > 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 > > > > > -- > > 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 > From bensonforums at gmail.com Thu Mar 5 16:59:42 2015 From: bensonforums at gmail.com (Bill Benson) Date: Thu, 5 Mar 2015 17:59:42 -0500 Subject: [AccessD] Form corruption? In-Reply-To: References: Message-ID: Does that marvelous code that exports forms and controls using SaveAsText and LoadFromText not clear out the control limits? Perhaps this is an avenue to use while forms are not open... a way of refreshing the database. http://www.access-programmers.co.uk/forums/showthread.php?t=99179 On Tue, Mar 3, 2015 at 6:26 PM, Dan Waters wrote: > Hi Janet, > > Your co-worker was 'experimenting'. Too bad it didn't work. As Dave said > there is a limited number of controls on a form - then you need a new > form. The 'experiment' did not work. > > I made something that might be similar for one of my customers. Their > shop has about 25 different die casting machines - they are each bought for > different capabilities. As such, they each have a different set of > settings, requiring a different set of controls for each machine. What I > did was set up a main form with a tab control. There are 8 tabs. The > first 2 are the same for every machine. The next 6 contain a subform > control that is filled with the subforms I designed for the specific > machine, which is selected by a combobox on the main form. The number of > subforms per machine ranges from 2 to 6. I swap out the subforms in code > after the combobox is selected. > > Each machine has its own table, which populates the main form controls and > all the controls on the subforms. I'll change the main form's recordsource > in code when the machine number combobox is selected. > > I did something very similar for reports. When a job is set up, someone > selects the machine and the part number (each part gets different > settings), and they print out a report that is given to the folks who > actually set up the die cast machine for that part. > > This worked out to be a good approach - no errors for many years. > > Also, I will send you off-line a copy of my 'Decorrupter' application. > This will write all objects to text and then import them back as objects - > doing this resets the historical number of controls back to zero. > > Good Luck! > Dan > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com [mailto: > accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach > Sent: Tuesday, March 03, 2015 14:46 PM > To: Database Advisors > Subject: [AccessD] Form corruption? > > Hello All - > > My Productivity App from WIFI hell has another component to it that I need > to ask about. This portion of the app was written by my co-worker using a > methodology I did NOT want to employ. He designed the main form so that > 90% of the form objects are *drawn on the form at load time.* Existing > objects are deleted first, and then new ones created using 'CreateControl'. > > > This is a 2 page form - page 1 with command buttons and page 2 with what > are basically 'hand drawn' charts. I've attached 2 screen shots to give an > idea of the number of objects that are being created. > > He designed it this way so that there would be, in his mind, the ultimate > amount of flexibility in terms of drawing a form with 1 group of machines > or 10 groups of machines. No objects to hide/activate - just create them > all from scratch each time. > > It works pretty well out on the production floor for the most part. But > when I'm working in the app, making changes to the code behind the form (or > even just making changes to stand-alone modules) it will be very subject to: > > Error 29054: Access can't add, rename, or delete the control(s) you > requested. > > It's as if form corruption creeps in behind my back. I can run the form > repeatedly during development with no issues. And then out of the blue the > error crops up. Sometimes re-deleting all of the controls is enough to > correct it; other times I have to pull a 'clean' form from back up in > order to get un-stuck. > > Does anyone know what's behind this error? Is there are way to keep his > 'draw on load' code intact and keep this error from recurring? Or do I > need to re-create the form with hard-coded objects the way I wanted to in > the first place? > > Thank you. > > Janet Erbach > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From df.waters at outlook.com Thu Mar 5 17:04:55 2015 From: df.waters at outlook.com (Dan Waters) Date: Thu, 5 Mar 2015 17:04:55 -0600 Subject: [AccessD] Form corruption? In-Reply-To: References: Message-ID: Hi Bill, Yes - it does clear out the control limits. The objects are imported into a New access file which has no previous knowledge of how many controls were previously in existence. Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bill Benson Sent: Thursday, March 05, 2015 17:00 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Form corruption? Does that marvelous code that exports forms and controls using SaveAsText and LoadFromText not clear out the control limits? Perhaps this is an avenue to use while forms are not open... a way of refreshing the database. http://www.access-programmers.co.uk/forums/showthread.php?t=99179 On Tue, Mar 3, 2015 at 6:26 PM, Dan Waters wrote: > Hi Janet, > > Your co-worker was 'experimenting'. Too bad it didn't work. As Dave > said there is a limited number of controls on a form - then you need a > new form. The 'experiment' did not work. > > I made something that might be similar for one of my customers. Their > shop has about 25 different die casting machines - they are each > bought for different capabilities. As such, they each have a > different set of settings, requiring a different set of controls for > each machine. What I did was set up a main form with a tab control. > There are 8 tabs. The first 2 are the same for every machine. The > next 6 contain a subform control that is filled with the subforms I > designed for the specific machine, which is selected by a combobox on > the main form. The number of subforms per machine ranges from 2 to 6. > I swap out the subforms in code after the combobox is selected. > > Each machine has its own table, which populates the main form controls > and all the controls on the subforms. I'll change the main form's > recordsource in code when the machine number combobox is selected. > > I did something very similar for reports. When a job is set up, > someone selects the machine and the part number (each part gets > different settings), and they print out a report that is given to the > folks who actually set up the die cast machine for that part. > > This worked out to be a good approach - no errors for many years. > > Also, I will send you off-line a copy of my 'Decorrupter' application. > This will write all objects to text and then import them back as > objects - doing this resets the historical number of controls back to zero. > > Good Luck! > Dan > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com [mailto: > accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach > Sent: Tuesday, March 03, 2015 14:46 PM > To: Database Advisors > Subject: [AccessD] Form corruption? > > Hello All - > > My Productivity App from WIFI hell has another component to it that I > need to ask about. This portion of the app was written by my > co-worker using a methodology I did NOT want to employ. He designed > the main form so that 90% of the form objects are *drawn on the form > at load time.* Existing objects are deleted first, and then new ones created using 'CreateControl'. > > > This is a 2 page form - page 1 with command buttons and page 2 with > what are basically 'hand drawn' charts. I've attached 2 screen shots > to give an idea of the number of objects that are being created. > > He designed it this way so that there would be, in his mind, the > ultimate amount of flexibility in terms of drawing a form with 1 group > of machines or 10 groups of machines. No objects to hide/activate - > just create them all from scratch each time. > > It works pretty well out on the production floor for the most part. > But when I'm working in the app, making changes to the code behind the > form (or even just making changes to stand-alone modules) it will be very subject to: > > Error 29054: Access can't add, rename, or delete the control(s) you > requested. > > It's as if form corruption creeps in behind my back. I can run the > form repeatedly during development with no issues. And then out of > the blue the error crops up. Sometimes re-deleting all of the > controls is enough to correct it; other times I have to pull a > 'clean' form from back up in order to get un-stuck. > > Does anyone know what's behind this error? Is there are way to keep > his 'draw on load' code intact and keep this error from recurring? Or > do I need to re-create the form with hard-coded objects the way I > wanted to in the first place? > > Thank you. > > Janet Erbach > > > -- > 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 From bensonforums at gmail.com Thu Mar 5 17:06:53 2015 From: bensonforums at gmail.com (Bill Benson) Date: Thu, 5 Mar 2015 18:06:53 -0500 Subject: [AccessD] Delimiter Value In-Reply-To: <54F63300.9010802@gmail.com> References: <54F5EA08.8000102@gmail.com> <54F61A15.2832.14061675@stuart.lexacorp.com.pg> <54F63300.9010802@gmail.com> Message-ID: Totally unrelated ... but I can't stand a thread which ends with the words "I can't" on this esteemed forum, so I am going to hack the thread.... I found one time that when loading data from Excel into a text box on a userform, the cell which had contained a line break character - can't remember if it was CHR(10) or CHR(13) gave me infinite pains when trying to parse the text in the text box. I forget what Access did to it - either converted it to a combination or switched them. Whatever it was, it was a major PIA and it made testing values, or length of entries a big headache. I wish I could remember what it was and I wish I could. On Tue, Mar 3, 2015 at 5:17 PM, John W. Colby wrote: > No, I can't. > > John W. Colby > > On 3/3/2015 3:31 PM, Stuart McLachlan wrote: > >> Can you refer me to that "standard"? >> >> The closest I've ever come to finding one is RFC 4180 which not a >> standard itself and which >> includes the wording >> >> "While there are various specifications and implementations for the >> CSV format (for ex. [4], [5], [6] and [7]), there is no formal >> specification in existence, which allows for a wide variety of >> interpretations of CSV files." >> >> It then continues until you reach this classic absolute classic: >> >> "5. Each field may or may not be enclosed in double quotes (however >> some programs, such as Microsoft Excel, do not use double quotes >> at all). If fields are not enclosed with double quotes, then >> double quotes may not appear inside the fields. " >> >> >> > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From bensonforums at gmail.com Thu Mar 5 18:10:31 2015 From: bensonforums at gmail.com (Bill Benson) Date: Thu, 5 Mar 2015 19:10:31 -0500 Subject: [AccessD] Form corruption? In-Reply-To: References: Message-ID: I have used this feature all the time on the SAME Access file. I export, delete the forms, and re-import to resolve corruption issues -- and now (were I to be concerned with the control count limit) - would use this also to make sure my Forms can have new controls if I feel they are reaching their lifetime limit. On Thu, Mar 5, 2015 at 6:04 PM, Dan Waters wrote: > Hi Bill, > > Yes - it does clear out the control limits. The objects are imported into > a > New access file which has no previous knowledge of how many controls were > previously in existence. > > Dan > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bill Benson > Sent: Thursday, March 05, 2015 17:00 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Form corruption? > > Does that marvelous code that exports forms and controls using SaveAsText > and LoadFromText not clear out the control limits? Perhaps this is an > avenue > to use while forms are not open... a way of refreshing the database. > > > http://www.access-programmers.co.uk/forums/showthread.php?t=99179 > > > On Tue, Mar 3, 2015 at 6:26 PM, Dan Waters wrote: > > > Hi Janet, > > > > Your co-worker was 'experimenting'. Too bad it didn't work. As Dave > > said there is a limited number of controls on a form - then you need a > > new form. The 'experiment' did not work. > > > > I made something that might be similar for one of my customers. Their > > shop has about 25 different die casting machines - they are each > > bought for different capabilities. As such, they each have a > > different set of settings, requiring a different set of controls for > > each machine. What I did was set up a main form with a tab control. > > There are 8 tabs. The first 2 are the same for every machine. The > > next 6 contain a subform control that is filled with the subforms I > > designed for the specific machine, which is selected by a combobox on > > the main form. The number of subforms per machine ranges from 2 to 6. > > I swap out the subforms in code after the combobox is selected. > > > > Each machine has its own table, which populates the main form controls > > and all the controls on the subforms. I'll change the main form's > > recordsource in code when the machine number combobox is selected. > > > > I did something very similar for reports. When a job is set up, > > someone selects the machine and the part number (each part gets > > different settings), and they print out a report that is given to the > > folks who actually set up the die cast machine for that part. > > > > This worked out to be a good approach - no errors for many years. > > > > Also, I will send you off-line a copy of my 'Decorrupter' application. > > This will write all objects to text and then import them back as > > objects - doing this resets the historical number of controls back to > zero. > > > > Good Luck! > > Dan > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com [mailto: > > accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach > > Sent: Tuesday, March 03, 2015 14:46 PM > > To: Database Advisors > > Subject: [AccessD] Form corruption? > > > > Hello All - > > > > My Productivity App from WIFI hell has another component to it that I > > need to ask about. This portion of the app was written by my > > co-worker using a methodology I did NOT want to employ. He designed > > the main form so that 90% of the form objects are *drawn on the form > > at load time.* Existing objects are deleted first, and then new ones > created using 'CreateControl'. > > > > > > This is a 2 page form - page 1 with command buttons and page 2 with > > what are basically 'hand drawn' charts. I've attached 2 screen shots > > to give an idea of the number of objects that are being created. > > > > He designed it this way so that there would be, in his mind, the > > ultimate amount of flexibility in terms of drawing a form with 1 group > > of machines or 10 groups of machines. No objects to hide/activate - > > just create them all from scratch each time. > > > > It works pretty well out on the production floor for the most part. > > But when I'm working in the app, making changes to the code behind the > > form (or even just making changes to stand-alone modules) it will be very > subject to: > > > > Error 29054: Access can't add, rename, or delete the control(s) you > > requested. > > > > It's as if form corruption creeps in behind my back. I can run the > > form repeatedly during development with no issues. And then out of > > the blue the error crops up. Sometimes re-deleting all of the > > controls is enough to correct it; other times I have to pull a > > 'clean' form from back up in order to get un-stuck. > > > > Does anyone know what's behind this error? Is there are way to keep > > his 'draw on load' code intact and keep this error from recurring? Or > > do I need to re-create the form with hard-coded objects the way I > > wanted to in the first place? > > > > Thank you. > > > > Janet Erbach > > > > > > -- > > 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at gmail.com Thu Mar 5 18:21:58 2015 From: jwcolby at gmail.com (John W. Colby) Date: Thu, 05 Mar 2015 19:21:58 -0500 Subject: [AccessD] Delimiter Value In-Reply-To: References: <54F5EA08.8000102@gmail.com> <54F61A15.2832.14061675@stuart.lexacorp.com.pg> <54F63300.9010802@gmail.com> Message-ID: <54F8F326.9080603@gmail.com> >>Totally unrelated ... but I can't stand a thread which ends with the words "I can't" on this esteemed forum ROTFL. I really should have said I'm not gonna go try to find it. In fact who knows whether CSV is an actual papered, defined standard. It could very well be a hack that somebody came up with back in the 50s and has hung around ever since. First thing I found when googling CSV standard is this: https://tools.ietf.org/html/rfc4180 Which says it is in fact undocumented. Oh well. John W. Colby On 3/5/2015 6:06 PM, Bill Benson wrote: > Totally unrelated ... but I can't stand a thread which ends with the words > "I can't" on this esteemed forum, so I am going to hack the thread.... > > I found one time that when loading data from Excel into a text box on a > userform, the cell which had contained a line break character - can't > remember if it was CHR(10) or CHR(13) gave me infinite pains when trying to > parse the text in the text box. I forget what Access did to it - either > converted it to a combination or switched them. Whatever it was, it was a > major PIA and it made testing values, or length of entries a big headache. > I wish I could remember what it was and I wish I could. > > On Tue, Mar 3, 2015 at 5:17 PM, John W. Colby wrote: > >> No, I can't. >> >> John W. Colby >> >> On 3/3/2015 3:31 PM, Stuart McLachlan wrote: >> >>> Can you refer me to that "standard"? >>> >>> From jwcolby at gmail.com Thu Mar 5 18:25:04 2015 From: jwcolby at gmail.com (John W. Colby) Date: Thu, 05 Mar 2015 19:25:04 -0500 Subject: [AccessD] Form corruption? In-Reply-To: References: Message-ID: <54F8F3E0.3030301@gmail.com> I don't believe it does. It seems that one should be able to dynamically create a form on-the-fly and use that to populate. Usually we have pieces and parts we really want to keep and just dynamically create controls in the main body. John W. Colby On 3/5/2015 5:59 PM, Bill Benson wrote: > Does that marvelous code that exports forms and controls using SaveAsText > and LoadFromText not clear out the control limits? Perhaps this is an > avenue to use while forms are not open... a way of refreshing the database. > > > http://www.access-programmers.co.uk/forums/showthread.php?t=99179 > > > On Tue, Mar 3, 2015 at 6:26 PM, Dan Waters wrote: > >> Hi Janet, >> >> Your co-worker was 'experimenting'. Too bad it didn't work. As Dave said >> there is a limited number of controls on a form - then you need a new >> form. The 'experiment' did not work. >> >> I made something that might be similar for one of my customers. Their >> shop has about 25 different die casting machines - they are each bought for >> different capabilities. As such, they each have a different set of >> settings, requiring a different set of controls for each machine. What I >> did was set up a main form with a tab control. There are 8 tabs. The >> first 2 are the same for every machine. The next 6 contain a subform >> control that is filled with the subforms I designed for the specific >> machine, which is selected by a combobox on the main form. The number of >> subforms per machine ranges from 2 to 6. I swap out the subforms in code >> after the combobox is selected. >> >> Each machine has its own table, which populates the main form controls and >> all the controls on the subforms. I'll change the main form's recordsource >> in code when the machine number combobox is selected. >> >> I did something very similar for reports. When a job is set up, someone >> selects the machine and the part number (each part gets different >> settings), and they print out a report that is given to the folks who >> actually set up the die cast machine for that part. >> >> This worked out to be a good approach - no errors for many years. >> >> Also, I will send you off-line a copy of my 'Decorrupter' application. >> This will write all objects to text and then import them back as objects - >> doing this resets the historical number of controls back to zero. >> >> Good Luck! >> Dan >> >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com [mailto: >> accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach >> Sent: Tuesday, March 03, 2015 14:46 PM >> To: Database Advisors >> Subject: [AccessD] Form corruption? >> >> Hello All - >> >> My Productivity App from WIFI hell has another component to it that I need >> to ask about. This portion of the app was written by my co-worker using a >> methodology I did NOT want to employ. He designed the main form so that >> 90% of the form objects are *drawn on the form at load time.* Existing >> objects are deleted first, and then new ones created using 'CreateControl'. >> >> >> This is a 2 page form - page 1 with command buttons and page 2 with what >> are basically 'hand drawn' charts. I've attached 2 screen shots to give an >> idea of the number of objects that are being created. >> >> He designed it this way so that there would be, in his mind, the ultimate >> amount of flexibility in terms of drawing a form with 1 group of machines >> or 10 groups of machines. No objects to hide/activate - just create them >> all from scratch each time. >> >> It works pretty well out on the production floor for the most part. But >> when I'm working in the app, making changes to the code behind the form (or >> even just making changes to stand-alone modules) it will be very subject to: >> >> Error 29054: Access can't add, rename, or delete the control(s) you >> requested. >> >> It's as if form corruption creeps in behind my back. I can run the form >> repeatedly during development with no issues. And then out of the blue the >> error crops up. Sometimes re-deleting all of the controls is enough to >> correct it; other times I have to pull a 'clean' form from back up in >> order to get un-stuck. >> >> Does anyone know what's behind this error? Is there are way to keep his >> 'draw on load' code intact and keep this error from recurring? Or do I >> need to re-create the form with hard-coded objects the way I wanted to in >> the first place? >> >> Thank you. >> >> Janet Erbach >> >> >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> From bensonforums at gmail.com Thu Mar 5 20:10:15 2015 From: bensonforums at gmail.com (Bill Benson) Date: Thu, 5 Mar 2015 21:10:15 -0500 Subject: [AccessD] Form corruption? In-Reply-To: <54F8F3E0.3030301@gmail.com> References: <54F8F3E0.3030301@gmail.com> Message-ID: bummer, thought had a workaround! Thanks for the benefit of your experience John, I would have hated to mislead. On Thu, Mar 5, 2015 at 7:25 PM, John W. Colby wrote: > I don't believe it does. It seems that one should be able to dynamically > create a form on-the-fly and use that to populate. Usually we have pieces > and parts we really want to keep and just dynamically create controls in > the main body. > > > John W. Colby > > > On 3/5/2015 5:59 PM, Bill Benson wrote: > >> Does that marvelous code that exports forms and controls using SaveAsText >> and LoadFromText not clear out the control limits? Perhaps this is an >> avenue to use while forms are not open... a way of refreshing the >> database. >> >> >> http://www.access-programmers.co.uk/forums/showthread.php?t=99179 >> >> >> On Tue, Mar 3, 2015 at 6:26 PM, Dan Waters wrote: >> >> Hi Janet, >>> >>> Your co-worker was 'experimenting'. Too bad it didn't work. As Dave >>> said >>> there is a limited number of controls on a form - then you need a new >>> form. The 'experiment' did not work. >>> >>> I made something that might be similar for one of my customers. Their >>> shop has about 25 different die casting machines - they are each bought >>> for >>> different capabilities. As such, they each have a different set of >>> settings, requiring a different set of controls for each machine. What I >>> did was set up a main form with a tab control. There are 8 tabs. The >>> first 2 are the same for every machine. The next 6 contain a subform >>> control that is filled with the subforms I designed for the specific >>> machine, which is selected by a combobox on the main form. The number of >>> subforms per machine ranges from 2 to 6. I swap out the subforms in code >>> after the combobox is selected. >>> >>> Each machine has its own table, which populates the main form controls >>> and >>> all the controls on the subforms. I'll change the main form's >>> recordsource >>> in code when the machine number combobox is selected. >>> >>> I did something very similar for reports. When a job is set up, someone >>> selects the machine and the part number (each part gets different >>> settings), and they print out a report that is given to the folks who >>> actually set up the die cast machine for that part. >>> >>> This worked out to be a good approach - no errors for many years. >>> >>> Also, I will send you off-line a copy of my 'Decorrupter' application. >>> This will write all objects to text and then import them back as objects >>> - >>> doing this resets the historical number of controls back to zero. >>> >>> Good Luck! >>> Dan >>> >>> -----Original Message----- >>> From: accessd-bounces at databaseadvisors.com [mailto: >>> accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach >>> Sent: Tuesday, March 03, 2015 14:46 PM >>> To: Database Advisors >>> Subject: [AccessD] Form corruption? >>> >>> Hello All - >>> >>> My Productivity App from WIFI hell has another component to it that I >>> need >>> to ask about. This portion of the app was written by my co-worker using >>> a >>> methodology I did NOT want to employ. He designed the main form so that >>> 90% of the form objects are *drawn on the form at load time.* Existing >>> objects are deleted first, and then new ones created using >>> 'CreateControl'. >>> >>> >>> This is a 2 page form - page 1 with command buttons and page 2 with what >>> are basically 'hand drawn' charts. I've attached 2 screen shots to give >>> an >>> idea of the number of objects that are being created. >>> >>> He designed it this way so that there would be, in his mind, the ultimate >>> amount of flexibility in terms of drawing a form with 1 group of machines >>> or 10 groups of machines. No objects to hide/activate - just create them >>> all from scratch each time. >>> >>> It works pretty well out on the production floor for the most part. But >>> when I'm working in the app, making changes to the code behind the form >>> (or >>> even just making changes to stand-alone modules) it will be very subject >>> to: >>> >>> Error 29054: Access can't add, rename, or delete the control(s) you >>> requested. >>> >>> It's as if form corruption creeps in behind my back. I can run the form >>> repeatedly during development with no issues. And then out of the blue >>> the >>> error crops up. Sometimes re-deleting all of the controls is enough to >>> correct it; other times I have to pull a 'clean' form from back up in >>> order to get un-stuck. >>> >>> Does anyone know what's behind this error? Is there are way to keep his >>> 'draw on load' code intact and keep this error from recurring? Or do I >>> need to re-create the form with hard-coded objects the way I wanted to in >>> the first place? >>> >>> Thank you. >>> >>> Janet Erbach >>> >>> >>> -- >>> 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 > From bradm at blackforestltd.com Fri Mar 6 06:50:40 2015 From: bradm at blackforestltd.com (Brad Marks) Date: Fri, 6 Mar 2015 12:50:40 +0000 Subject: [AccessD] Old Dog, New Tricks / To Visual Studio or Not In-Reply-To: <193c98091a1544ccbb538c3007868f7a@AMSPR06MB311.eurprd06.prod.outlook.com> References: <42B25C4B288846ACB8FC00E6AB3F40D6@HAL9007>, <193c98091a1544ccbb538c3007868f7a@AMSPR06MB311.eurprd06.prod.outlook.com> Message-ID: <1425646250089.2700@blackforestltd.com> All, I have developed applications since 1975 with my first 33 years in the mainframe realm (IBM, MVS, COBOL, DB2, Easytrieve, BAL, RPG, etc.) I am now semi-retired and work part-time for a small manufacturing firm (50 people). Over the past few years, I have developed a number of applications with Microsoft Access. About five years ago, I suggested to the management team that we look at using Visual Studio. This suggestion was voted down due to the time and expense of introducing Visual Studio at that point in time. The company ownership and leadership has changed over the past few months. I believe that there might now be a willingness to consider the introduction of Visual Studio. I have briefly read about ?Visual Studio 2013 Community? and I have started to watch some Visual Studio training videos on YouTube. It appears that I can experiment with ?Visual Studio 2013 Community? with no financial investment, just an investment of time. However, because the small firm that I work for has annual revenues greater than one million, I would not be able to build and deploy applications with ?Visual Studio 2013 Community? at work. We would need to buy the professional version. I have some questions about moving from Access/VBA to Visual Studio (or using VS to supplement existing Access application). How steep is the learning curve? How long did it take others to get up to speed with VS? When I develop applications with Microsoft Access, I use a ?full? version of Access. The deployment is made to about 25 PCs that have Microsoft Access ?Runtime? (free). I assume that if an application is developed with Visual Studio, it can be deployed to other PCs for free. Is this true? I am going to be 63 years old in September. I really like to learn new things and experiment. I have tons of free time to watch training videos and play with the software. However, at my age and with possible cognitive disabilities from so many years of working with COBOL, I am not sure that I want to take on something as large as Visual Studio. I know that this is really a personal decision, but I would appreciate any insights about an old dog?s ability to learn new tricks. Thanks, Brad PS. Currently all of my development work is for in-house desktop PC applications. Our website is outsourced to a contractor. There has been some discussion about bringing the maintenance of this website in-house. This would obviously change the picture. From fuller.artful at gmail.com Fri Mar 6 07:19:42 2015 From: fuller.artful at gmail.com (Arthur Fuller) Date: Fri, 6 Mar 2015 08:19:42 -0500 Subject: [AccessD] Microsoft Access Version Releases, Service Packs, Hotfixes, and Updates History In-Reply-To: References: Message-ID: Thanks, Rocky (and FMS). On Thu, Mar 5, 2015 at 3:14 PM, Rocky Smolin wrote: > FYI > > http://www.fmsinc.com/MicrosoftAccess/history/versions.htm From dbdoug at gmail.com Fri Mar 6 10:39:14 2015 From: dbdoug at gmail.com (Doug Steele) Date: Fri, 6 Mar 2015 08:39:14 -0800 Subject: [AccessD] SQL Server Express install Message-ID: Hi All: I'm sure this has been mentioned before, but I can't find it. Can someone give me the best link for SSE download and installation? I've got a client who has tied himself in knots with various versions and options. Thanks, Doug From gustav at cactus.dk Fri Mar 6 10:44:32 2015 From: gustav at cactus.dk (Gustav Brock) Date: Fri, 6 Mar 2015 16:44:32 +0000 Subject: [AccessD] SQL Server Express install Message-ID: Hi Doug If you search with Bing, it's the first item: http://www.microsoft.com/en-us/download/details.aspx?id=42299 /gustav -----Oprindelig meddelelse----- Fra: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] P? vegne af Doug Steele Sendt: 6. marts 2015 17:39 Til: Access Developers discussion and problem solving Emne: [AccessD] SQL Server Express install Hi All: I'm sure this has been mentioned before, but I can't find it. Can someone give me the best link for SSE download and installation? I've got a client who has tied himself in knots with various versions and options. Thanks, Doug From davidmcafee at gmail.com Fri Mar 6 11:31:20 2015 From: davidmcafee at gmail.com (David McAfee) Date: Fri, 6 Mar 2015 09:31:20 -0800 Subject: [AccessD] Old Dog, New Tricks / To Visual Studio or Not In-Reply-To: <1425646250089.2700@blackforestltd.com> References: <42B25C4B288846ACB8FC00E6AB3F40D6@HAL9007> <193c98091a1544ccbb538c3007868f7a@AMSPR06MB311.eurprd06.prod.outlook.com> <1425646250089.2700@blackforestltd.com> Message-ID: If you've used VBA. the jump to VB.net isn't that bad, but I would strongly recommend against that and jumping straight into C# if time allows it. If you've programmed in C (or one of its dialects in the past, C# should be a little easier for you to pick up). I jumped into VB.Net first, and really wish I would have just spent the time (that I didn't have) learning C# right away. Visual Studio is way more powerful and easier to deploy as most computers should have the correct run time already installed (free deployment). It does take longer to develop stuff (IMO) in visual studio than it does in Access, but it's not that bad. I take it that you would still be creating WinForms and not Webpage front ends? I posted some code VB.Net code the other day under the thread titled "Automatic Update Function". I can post the same code in C# to show you how similar/different they are to each other. D On Fri, Mar 6, 2015 at 4:50 AM, Brad Marks wrote: > All, > > I have developed applications since 1975 with my first 33 years in the > mainframe realm (IBM, MVS, COBOL, DB2, Easytrieve, BAL, RPG, etc.) I am > now semi-retired and work part-time for a small manufacturing firm (50 > people). Over the past few years, I have developed a number of > applications with Microsoft Access. About five years ago, > I suggested to the management team that we look at using Visual Studio. > This suggestion was voted down due to the time and expense of introducing > Visual Studio at that point in time. > > The company ownership and leadership has changed over the past few > months. I believe that there might now be a willingness to consider the > introduction of Visual Studio. I have briefly read about ?Visual Studio > 2013 Community? and I have started to watch some Visual Studio training > videos on YouTube. > > It appears that I can experiment with ?Visual Studio 2013 Community? with > no financial investment, just an investment of time. > > However, because the small firm that I work for has annual revenues > greater than one million, I would not be able to build and deploy > applications with ?Visual Studio 2013 Community? at work. We would need to > buy the professional version. > > I have some questions about moving from Access/VBA to Visual Studio (or > using VS to supplement existing Access application). > > How steep is the learning curve? > > How long did it take others to get up to speed with VS? > > When I develop applications with Microsoft Access, I use a ?full? version > of Access. The deployment is made to about 25 PCs that have Microsoft > Access ?Runtime? (free). > I assume that if an application is developed with Visual Studio, it can be > deployed to other PCs for free. Is this true? > > I am going to be 63 years old in September. I really like to learn new > things and experiment. I have tons of free time to watch training videos > and play with the software. However, at my age and with possible cognitive > disabilities from so many years of working with COBOL, I am not sure that I > want to take on something as large as Visual Studio. I know that this is > really a personal decision, but I would appreciate any insights about an > old dog?s ability to learn new tricks. > > Thanks, > > Brad > > PS. Currently all of my development work is for in-house desktop PC > applications. Our website is outsourced to a contractor. There has been > some discussion about bringing the maintenance of this website in-house. > This would obviously change the picture. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From R.Griffiths at bury.gov.uk Fri Mar 6 11:43:07 2015 From: R.Griffiths at bury.gov.uk (Griffiths, Richard) Date: Fri, 6 Mar 2015 17:43:07 +0000 Subject: [AccessD] Old Dog, New Tricks / To Visual Studio or Not In-Reply-To: References: <42B25C4B288846ACB8FC00E6AB3F40D6@HAL9007> <193c98091a1544ccbb538c3007868f7a@AMSPR06MB311.eurprd06.prod.outlook.com> <1425646250089.2700@blackforestltd.com> Message-ID: <8F6EDD378FED5D4C93923A631E240C729BBB12EA79@BYEXVN01.bury.gov.uk> I must stress to jump to C# - I was initially apprehensive before I changed for some strange reason, s but it was probably the easiest 'new thing' I've ever done in 30 years plus programming - without getting into any VB.net / C# comparison arguments (not needed!) just do it for the simple reason the nowadays virtually all sample code, sample apps, frameworks etc are in c# - it?s a piece of cake. Regards Richard Griffiths Developer Tel: 0161 253 5169 email: r.griffiths at bury.gov.uk web: www.bury.gov.uk Bury Council Town Hall Knowsley Street Bury BL9 0SW -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David McAfee Sent: 06 March 2015 17:31 To: Access Developers discussion and problem solving Subject: Re: [AccessD] Old Dog, New Tricks / To Visual Studio or Not If you've used VBA. the jump to VB.net isn't that bad, but I would strongly recommend against that and jumping straight into C# if time allows it. If you've programmed in C (or one of its dialects in the past, C# should be a little easier for you to pick up). I jumped into VB.Net first, and really wish I would have just spent the time (that I didn't have) learning C# right away. Visual Studio is way more powerful and easier to deploy as most computers should have the correct run time already installed (free deployment). It does take longer to develop stuff (IMO) in visual studio than it does in Access, but it's not that bad. I take it that you would still be creating WinForms and not Webpage front ends? I posted some code VB.Net code the other day under the thread titled "Automatic Update Function". I can post the same code in C# to show you how similar/different they are to each other. D On Fri, Mar 6, 2015 at 4:50 AM, Brad Marks wrote: > All, > > I have developed applications since 1975 with my first 33 years in the > mainframe realm (IBM, MVS, COBOL, DB2, Easytrieve, BAL, RPG, etc.) I > am now semi-retired and work part-time for a small manufacturing firm > (50 people). Over the past few years, I have developed a number of > applications with Microsoft Access. About five years ago, I suggested > to the management team that we look at using Visual Studio. > This suggestion was voted down due to the time and expense of > introducing Visual Studio at that point in time. > > The company ownership and leadership has changed over the past few > months. I believe that there might now be a willingness to consider > the introduction of Visual Studio. I have briefly read about ?Visual > Studio > 2013 Community? and I have started to watch some Visual Studio > training videos on YouTube. > > It appears that I can experiment with ?Visual Studio 2013 Community? > with no financial investment, just an investment of time. > > However, because the small firm that I work for has annual revenues > greater than one million, I would not be able to build and deploy > applications with ?Visual Studio 2013 Community? at work. We would > need to buy the professional version. > > I have some questions about moving from Access/VBA to Visual Studio > (or using VS to supplement existing Access application). > > How steep is the learning curve? > > How long did it take others to get up to speed with VS? > > When I develop applications with Microsoft Access, I use a ?full? > version of Access. The deployment is made to about 25 PCs that have > Microsoft Access ?Runtime? (free). > I assume that if an application is developed with Visual Studio, it > can be deployed to other PCs for free. Is this true? > > I am going to be 63 years old in September. I really like to learn > new things and experiment. I have tons of free time to watch training > videos and play with the software. However, at my age and with > possible cognitive disabilities from so many years of working with > COBOL, I am not sure that I want to take on something as large as > Visual Studio. I know that this is really a personal decision, but I > would appreciate any insights about an old dog?s ability to learn new tricks. > > Thanks, > > Brad > > PS. Currently all of my development work is for in-house desktop PC > applications. Our website is outsourced to a contractor. There has > been some discussion about bringing the maintenance of this website in-house. > This would obviously change the picture. > > -- > 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 ----------------------------------------------------------------- Why not visit our website www.bury.gov.uk ----------------------------------------------------------------- Incoming and outgoing e-mail messages are routinely monitored for compliance with our information security policy. The information contained in this e-mail and any files transmitted with it is for the intended recipient(s) alone. It may contain confidential information that is exempt from the disclosure under English law and may also be covered by legal,professional or other privilege. If you are not the intended recipient, you must not copy, distribute or take any action in reliance on it. If you have received this e-mail in error, please notify us immediately by using the reply facility on your e-mail system. If this message is being transmitted over the Internet, be aware that it may be intercepted by third parties. As a public body, the Council may be required to disclose this e-mail or any response to it under the Freedom of Information Act 2000 unless the information in it is covered by one of the exemptions in the Act. Electronic service accepted only at legal.services at bury.gov.uk and on fax number 0161 253 5119 . ************************************************************* From bradm at blackforestltd.com Fri Mar 6 11:45:52 2015 From: bradm at blackforestltd.com (Brad Marks) Date: Fri, 6 Mar 2015 17:45:52 +0000 Subject: [AccessD] Old Dog, New Tricks / To Visual Studio or Not In-Reply-To: References: <42B25C4B288846ACB8FC00E6AB3F40D6@HAL9007> <193c98091a1544ccbb538c3007868f7a@AMSPR06MB311.eurprd06.prod.outlook.com> <1425646250089.2700@blackforestltd.com> Message-ID: David, Thanks for your reply and insights. I have not programmed in C before. I have looked at C# a little bit. I am curious as to why you recommend C# over VB. Currently our website (where people order stuff) is maintained by an outside contractor who uses Visual Studio. If we stay with this contractor and do not move the maintenance of the website to "in-house", then any VS apps that I would build would be for Windows Desktop PCs only. However, if we do bring the website maintenance in-house, then I will need to also build web apps/pages. I am just trying to get a better handle on how complicated it would be to jump from Access to Visual Studio. I have had quite a bit of success building small applications with Access. These apps seem to work nicely for the most part. Every once in a while something flakey happens, but these occurrences are quite rare. Thanks again for your reply. Brad -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David McAfee Sent: Friday, March 06, 2015 11:31 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Old Dog, New Tricks / To Visual Studio or Not If you've used VBA. the jump to VB.net isn't that bad, but I would strongly recommend against that and jumping straight into C# if time allows it. If you've programmed in C (or one of its dialects in the past, C# should be a little easier for you to pick up). I jumped into VB.Net first, and really wish I would have just spent the time (that I didn't have) learning C# right away. Visual Studio is way more powerful and easier to deploy as most computers should have the correct run time already installed (free deployment). It does take longer to develop stuff (IMO) in visual studio than it does in Access, but it's not that bad. I take it that you would still be creating WinForms and not Webpage front ends? I posted some code VB.Net code the other day under the thread titled "Automatic Update Function". I can post the same code in C# to show you how similar/different they are to each other. D On Fri, Mar 6, 2015 at 4:50 AM, Brad Marks wrote: > All, > > I have developed applications since 1975 with my first 33 years in the > mainframe realm (IBM, MVS, COBOL, DB2, Easytrieve, BAL, RPG, etc.) I > am now semi-retired and work part-time for a small manufacturing firm > (50 people). Over the past few years, I have developed a number of > applications with Microsoft Access. About five years ago, I suggested > to the management team that we look at using Visual Studio. > This suggestion was voted down due to the time and expense of > introducing Visual Studio at that point in time. > > The company ownership and leadership has changed over the past few > months. I believe that there might now be a willingness to consider > the introduction of Visual Studio. I have briefly read about ?Visual > Studio > 2013 Community? and I have started to watch some Visual Studio > training videos on YouTube. > > It appears that I can experiment with ?Visual Studio 2013 Community? > with no financial investment, just an investment of time. > > However, because the small firm that I work for has annual revenues > greater than one million, I would not be able to build and deploy > applications with ?Visual Studio 2013 Community? at work. We would > need to buy the professional version. > > I have some questions about moving from Access/VBA to Visual Studio > (or using VS to supplement existing Access application). > > How steep is the learning curve? > > How long did it take others to get up to speed with VS? > > When I develop applications with Microsoft Access, I use a ?full? > version of Access. The deployment is made to about 25 PCs that have > Microsoft Access ?Runtime? (free). > I assume that if an application is developed with Visual Studio, it > can be deployed to other PCs for free. Is this true? > > I am going to be 63 years old in September. I really like to learn > new things and experiment. I have tons of free time to watch training > videos and play with the software. However, at my age and with > possible cognitive disabilities from so many years of working with > COBOL, I am not sure that I want to take on something as large as > Visual Studio. I know that this is really a personal decision, but I > would appreciate any insights about an old dog?s ability to learn new tricks. > > Thanks, > > Brad > > PS. Currently all of my development work is for in-house desktop PC > applications. Our website is outsourced to a contractor. There has > been some discussion about bringing the maintenance of this website in-house. > This would obviously change the picture. > > -- > 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 From bradm at blackforestltd.com Fri Mar 6 11:49:38 2015 From: bradm at blackforestltd.com (Brad Marks) Date: Fri, 6 Mar 2015 17:49:38 +0000 Subject: [AccessD] Old Dog, New Tricks / To Visual Studio or Not In-Reply-To: <8F6EDD378FED5D4C93923A631E240C729BBB12EA79@BYEXVN01.bury.gov.uk> References: <42B25C4B288846ACB8FC00E6AB3F40D6@HAL9007> <193c98091a1544ccbb538c3007868f7a@AMSPR06MB311.eurprd06.prod.outlook.com> <1425646250089.2700@blackforestltd.com> <8F6EDD378FED5D4C93923A631E240C729BBB12EA79@BYEXVN01.bury.gov.uk> Message-ID: Richard, Thanks for your insights. Originally when I started to think about Visual Studio, I was thinking VB as I have worked with VBA for the past few years. It looks like I need to take a closer look at C#. I would like to better understand the benefits of C# over VB, however. Brad -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Griffiths, Richard Sent: Friday, March 06, 2015 11:43 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Old Dog, New Tricks / To Visual Studio or Not I must stress to jump to C# - I was initially apprehensive before I changed for some strange reason, s but it was probably the easiest 'new thing' I've ever done in 30 years plus programming - without getting into any VB.net / C# comparison arguments (not needed!) just do it for the simple reason the nowadays virtually all sample code, sample apps, frameworks etc are in c# - it?s a piece of cake. Regards Richard Griffiths Developer Tel: 0161 253 5169 email: r.griffiths at bury.gov.uk web: www.bury.gov.uk Bury Council Town Hall Knowsley Street Bury BL9 0SW -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David McAfee Sent: 06 March 2015 17:31 To: Access Developers discussion and problem solving Subject: Re: [AccessD] Old Dog, New Tricks / To Visual Studio or Not If you've used VBA. the jump to VB.net isn't that bad, but I would strongly recommend against that and jumping straight into C# if time allows it. If you've programmed in C (or one of its dialects in the past, C# should be a little easier for you to pick up). I jumped into VB.Net first, and really wish I would have just spent the time (that I didn't have) learning C# right away. Visual Studio is way more powerful and easier to deploy as most computers should have the correct run time already installed (free deployment). It does take longer to develop stuff (IMO) in visual studio than it does in Access, but it's not that bad. I take it that you would still be creating WinForms and not Webpage front ends? I posted some code VB.Net code the other day under the thread titled "Automatic Update Function". I can post the same code in C# to show you how similar/different they are to each other. D On Fri, Mar 6, 2015 at 4:50 AM, Brad Marks wrote: > All, > > I have developed applications since 1975 with my first 33 years in the > mainframe realm (IBM, MVS, COBOL, DB2, Easytrieve, BAL, RPG, etc.) I > am now semi-retired and work part-time for a small manufacturing firm > (50 people). Over the past few years, I have developed a number of > applications with Microsoft Access. About five years ago, I suggested > to the management team that we look at using Visual Studio. > This suggestion was voted down due to the time and expense of > introducing Visual Studio at that point in time. > > The company ownership and leadership has changed over the past few > months. I believe that there might now be a willingness to consider > the introduction of Visual Studio. I have briefly read about ?Visual > Studio > 2013 Community? and I have started to watch some Visual Studio > training videos on YouTube. > > It appears that I can experiment with ?Visual Studio 2013 Community? > with no financial investment, just an investment of time. > > However, because the small firm that I work for has annual revenues > greater than one million, I would not be able to build and deploy > applications with ?Visual Studio 2013 Community? at work. We would > need to buy the professional version. > > I have some questions about moving from Access/VBA to Visual Studio > (or using VS to supplement existing Access application). > > How steep is the learning curve? > > How long did it take others to get up to speed with VS? > > When I develop applications with Microsoft Access, I use a ?full? > version of Access. The deployment is made to about 25 PCs that have > Microsoft Access ?Runtime? (free). > I assume that if an application is developed with Visual Studio, it > can be deployed to other PCs for free. Is this true? > > I am going to be 63 years old in September. I really like to learn > new things and experiment. I have tons of free time to watch training > videos and play with the software. However, at my age and with > possible cognitive disabilities from so many years of working with > COBOL, I am not sure that I want to take on something as large as > Visual Studio. I know that this is really a personal decision, but I > would appreciate any insights about an old dog?s ability to learn new tricks. > > Thanks, > > Brad > > PS. Currently all of my development work is for in-house desktop PC > applications. Our website is outsourced to a contractor. There has > been some discussion about bringing the maintenance of this website in-house. > This would obviously change the picture. > > -- > 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 ----------------------------------------------------------------- Why not visit our website www.bury.gov.uk ----------------------------------------------------------------- Incoming and outgoing e-mail messages are routinely monitored for compliance with our information security policy. The information contained in this e-mail and any files transmitted with it is for the intended recipient(s) alone. It may contain confidential information that is exempt from the disclosure under English law and may also be covered by legal,professional or other privilege. If you are not the intended recipient, you must not copy, distribute or take any action in reliance on it. If you have received this e-mail in error, please notify us immediately by using the reply facility on your e-mail system. If this message is being transmitted over the Internet, be aware that it may be intercepted by third parties. As a public body, the Council may be required to disclose this e-mail or any response to it under the Freedom of Information Act 2000 unless the information in it is covered by one of the exemptions in the Act. Electronic service accepted only at legal.services at bury.gov.uk and on fax number 0161 253 5119 . ************************************************************* -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at gmail.com Fri Mar 6 12:03:23 2015 From: jwcolby at gmail.com (John W. Colby) Date: Fri, 06 Mar 2015 13:03:23 -0500 Subject: [AccessD] Old Dog, New Tricks / To Visual Studio or Not In-Reply-To: References: <42B25C4B288846ACB8FC00E6AB3F40D6@HAL9007> <193c98091a1544ccbb538c3007868f7a@AMSPR06MB311.eurprd06.prod.outlook.com> <1425646250089.2700@blackforestltd.com> Message-ID: <54F9EBEB.6050900@gmail.com> I second the C# mantra. I did some extensive reading back when I was making that decision. Under the covers, both languages have almost the exact same abilities, but there are a few small differences. Each has a few niggling advantages and disadvantages. In the Windows environment, they both call down into the .Net libraries, and both languages are just thin layers that translate the "english language" programing (high level) stuff into calls down into the library The bottom line is that C# is the more desired language, and if you go to other platforms, then C++ will be almost second nature. The biggest challenge (IMHO) in learning to program in .Net is that pretty much everything is a class. You don't have to use it, but inheritance is widely available. Threading, raising and sinking interrupts, reflection, delegates etc are all things that the average VBA programmer doesn't even know exist (and don't in VBA). But you can start slow and then learn those things later. John W. Colby On 3/6/2015 12:31 PM, David McAfee wrote: > If you've used VBA. the jump to VB.net isn't that bad, but I would strongly > recommend against that and jumping straight into C# if time allows it. > If you've programmed in C (or one of its dialects in the past, C# should be > a little easier for you to pick up). > > I jumped into VB.Net first, and really wish I would have just spent the > time (that I didn't have) learning C# right away. > > Visual Studio is way more powerful and easier to deploy as most computers > should have the correct run time already installed (free deployment). > > It does take longer to develop stuff (IMO) in visual studio than it does in > Access, but it's not that bad. > > I take it that you would still be creating WinForms and not Webpage front > ends? > > I posted some code VB.Net code the other day under the thread titled > "Automatic Update Function". > > I can post the same code in C# to show you how similar/different they are > to each other. > > D > > On Fri, Mar 6, 2015 at 4:50 AM, Brad Marks wrote: > >> All, >> >> I have developed applications since 1975 with my first 33 years in the >> mainframe realm (IBM, MVS, COBOL, DB2, Easytrieve, BAL, RPG, etc.) I am >> now semi-retired and work part-time for a small manufacturing firm (50 >> people). Over the past few years, I have developed a number of >> applications with Microsoft Access. About five years ago, >> I suggested to the management team that we look at using Visual Studio. >> This suggestion was voted down due to the time and expense of introducing >> Visual Studio at that point in time. >> >> The company ownership and leadership has changed over the past few >> months. I believe that there might now be a willingness to consider the >> introduction of Visual Studio. I have briefly read about ?Visual Studio >> 2013 Community? and I have started to watch some Visual Studio training >> videos on YouTube. >> >> It appears that I can experiment with ?Visual Studio 2013 Community? with >> no financial investment, just an investment of time. >> >> However, because the small firm that I work for has annual revenues >> greater than one million, I would not be able to build and deploy >> applications with ?Visual Studio 2013 Community? at work. We would need to >> buy the professional version. >> >> I have some questions about moving from Access/VBA to Visual Studio (or >> using VS to supplement existing Access application). >> >> How steep is the learning curve? >> >> How long did it take others to get up to speed with VS? >> >> When I develop applications with Microsoft Access, I use a ?full? version >> of Access. The deployment is made to about 25 PCs that have Microsoft >> Access ?Runtime? (free). >> I assume that if an application is developed with Visual Studio, it can be >> deployed to other PCs for free. Is this true? >> >> I am going to be 63 years old in September. I really like to learn new >> things and experiment. I have tons of free time to watch training videos >> and play with the software. However, at my age and with possible cognitive >> disabilities from so many years of working with COBOL, I am not sure that I >> want to take on something as large as Visual Studio. I know that this is >> really a personal decision, but I would appreciate any insights about an >> old dog?s ability to learn new tricks. >> >> Thanks, >> >> Brad >> >> PS. Currently all of my development work is for in-house desktop PC >> applications. Our website is outsourced to a contractor. There has been >> some discussion about bringing the maintenance of this website in-house. >> This would obviously change the picture. >> >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> From gustav at cactus.dk Fri Mar 6 12:05:44 2015 From: gustav at cactus.dk (Gustav Brock) Date: Fri, 6 Mar 2015 18:05:44 +0000 Subject: [AccessD] Old Dog, New Tricks / To Visual Studio or Not Message-ID: Hi Brad I also switched directly to C#. I think it was Shamil who guided me - could have been, anyway. I studied some code samples in VB.NET but didn't like what I saw. So much, in fact, that I have never written a function or class in VB.NET. Go to MVA and watch some intro courses. That will save you a lot of time and will get you on your feet. C# is a wonderful language and you can do so many things. I love the syntax and the extremely strong typing which saves you a lot of trouble. Also, the IntelliSense is outstanding - it is so well that is sometimes does half of the writing for you. However, as Charlotte once pointed out - at a time where I didn't quite understand it - there is never one single "right" way to program a task. That makes you feel unsure on what you are doing until you get hold on it. As for the community license, I believe you - on your own - can program what you may wish, including contract jobs as long as your own turnover is below the limit. /gustav -----Oprindelig meddelelse----- Fra: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] P? vegne af Brad Marks Sendt: 6. marts 2015 18:50 Til: Access Developers discussion and problem solving Emne: Re: [AccessD] Old Dog, New Tricks / To Visual Studio or Not Richard, Thanks for your insights. Originally when I started to think about Visual Studio, I was thinking VB as I have worked with VBA for the past few years. It looks like I need to take a closer look at C#. I would like to better understand the benefits of C# over VB, however. Brad -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Griffiths, Richard Sent: Friday, March 06, 2015 11:43 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Old Dog, New Tricks / To Visual Studio or Not I must stress to jump to C# - I was initially apprehensive before I changed for some strange reason, s but it was probably the easiest 'new thing' I've ever done in 30 years plus programming - without getting into any VB.net / C# comparison arguments (not needed!) just do it for the simple reason the nowadays virtually all sample code, sample apps, frameworks etc are in c# - it?s a piece of cake. Regards Richard Griffiths Developer Tel: 0161 253 5169 email: r.griffiths at bury.gov.uk web: www.bury.gov.uk Bury Council Town Hall Knowsley Street Bury BL9 0SW -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David McAfee Sent: 06 March 2015 17:31 To: Access Developers discussion and problem solving Subject: Re: [AccessD] Old Dog, New Tricks / To Visual Studio or Not If you've used VBA. the jump to VB.net isn't that bad, but I would strongly recommend against that and jumping straight into C# if time allows it. If you've programmed in C (or one of its dialects in the past, C# should be a little easier for you to pick up). I jumped into VB.Net first, and really wish I would have just spent the time (that I didn't have) learning C# right away. Visual Studio is way more powerful and easier to deploy as most computers should have the correct run time already installed (free deployment). It does take longer to develop stuff (IMO) in visual studio than it does in Access, but it's not that bad. I take it that you would still be creating WinForms and not Webpage front ends? I posted some code VB.Net code the other day under the thread titled "Automatic Update Function". I can post the same code in C# to show you how similar/different they are to each other. D On Fri, Mar 6, 2015 at 4:50 AM, Brad Marks wrote: > All, > > I have developed applications since 1975 with my first 33 years in the > mainframe realm (IBM, MVS, COBOL, DB2, Easytrieve, BAL, RPG, etc.) I > am now semi-retired and work part-time for a small manufacturing firm > (50 people). Over the past few years, I have developed a number of > applications with Microsoft Access. About five years ago, I suggested > to the management team that we look at using Visual Studio. > This suggestion was voted down due to the time and expense of > introducing Visual Studio at that point in time. > > The company ownership and leadership has changed over the past few > months. I believe that there might now be a willingness to consider > the introduction of Visual Studio. I have briefly read about ?Visual > Studio > 2013 Community? and I have started to watch some Visual Studio > training videos on YouTube. > > It appears that I can experiment with ?Visual Studio 2013 Community? > with no financial investment, just an investment of time. > > However, because the small firm that I work for has annual revenues > greater than one million, I would not be able to build and deploy > applications with ?Visual Studio 2013 Community? at work. We would > need to buy the professional version. > > I have some questions about moving from Access/VBA to Visual Studio > (or using VS to supplement existing Access application). > > How steep is the learning curve? > > How long did it take others to get up to speed with VS? > > When I develop applications with Microsoft Access, I use a ?full? > version of Access. The deployment is made to about 25 PCs that have > Microsoft Access ?Runtime? (free). > I assume that if an application is developed with Visual Studio, it > can be deployed to other PCs for free. Is this true? > > I am going to be 63 years old in September. I really like to learn > new things and experiment. I have tons of free time to watch training > videos and play with the software. However, at my age and with > possible cognitive disabilities from so many years of working with > COBOL, I am not sure that I want to take on something as large as > Visual Studio. I know that this is really a personal decision, but I > would appreciate any insights about an old dog?s ability to learn new tricks. > > Thanks, > > Brad > > PS. Currently all of my development work is for in-house desktop PC > applications. Our website is outsourced to a contractor. There has > been some discussion about bringing the maintenance of this website in-house. > This would obviously change the picture. From df.waters at outlook.com Fri Mar 6 12:18:33 2015 From: df.waters at outlook.com (Dan Waters) Date: Fri, 6 Mar 2015 12:18:33 -0600 Subject: [AccessD] Old Dog, New Tricks / To Visual Studio or Not In-Reply-To: References: <42B25C4B288846ACB8FC00E6AB3F40D6@HAL9007> <193c98091a1544ccbb538c3007868f7a@AMSPR06MB311.eurprd06.prod.outlook.com> <1425646250089.2700@blackforestltd.com> Message-ID: Hi Brad, About two years ago I began programming in Visual Studio using VB.Net, after 10 years of programming VBA in mostly Access. After two years, I'm I still do. The learning curve from VBA to VB.Net was much shorter, and I found that I could always translate any example in C# to VB quickly using a code converter (converter.telerik.com). And now that I've been developing for a while, I usually don't need to translate the examples (i.e., Stackoverflow.com) to understand what they're doing. Today, switching languages would be a relatively minor event. >From time to time I read lists of popular languages. If you add the number of VB developers and the number of C# developers, about 40% of developers use VB. For some reason, many developers want to proselytize about some language being better than others. C# or VB being a long-standing argument. In truth, VB has a few minor advantages (passing a variable quantity parameter array being one of them), but overall the functional difference is like buying French fries at McDonalds or buying French fries at Burger King. If you have a preference - it's just personal. Based on my experience, your statement of concern about minimizing your learning curve, the fact that you are working as a company developer (vs. a developer in a software company), and the fact that you are unlikely to work with other developers who use C#, I would recommend that you develop in VB. Your company isn't going to care which language you use, but they will care how long it takes you to get something finished. Microsoft just recently rebuilt the VB.Net language from the ground up for VS 2015 (to be released later this year). So with that kind of investment this language will be around for a long time. And, it is Microsoft's stated position that they intend to remove the functional differences between VB and C# over time. My last word - I absolutely wish that I had taken a beginner's course in Visual Studio or VB.Net when I started. I did a little looking, but couldn't find one. There are some on-line courses, but I'm a little skeptical about cost/value on those. If someone has used on-line training for Visual Studio I'd like to ask them to speak up on their experiences. Good Luck! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Brad Marks Sent: Friday, March 06, 2015 11:46 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Old Dog, New Tricks / To Visual Studio or Not David, Thanks for your reply and insights. I have not programmed in C before. I have looked at C# a little bit. I am curious as to why you recommend C# over VB. Currently our website (where people order stuff) is maintained by an outside contractor who uses Visual Studio. If we stay with this contractor and do not move the maintenance of the website to "in-house", then any VS apps that I would build would be for Windows Desktop PCs only. However, if we do bring the website maintenance in-house, then I will need to also build web apps/pages. I am just trying to get a better handle on how complicated it would be to jump from Access to Visual Studio. I have had quite a bit of success building small applications with Access. These apps seem to work nicely for the most part. Every once in a while something flakey happens, but these occurrences are quite rare. Thanks again for your reply. Brad -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David McAfee Sent: Friday, March 06, 2015 11:31 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Old Dog, New Tricks / To Visual Studio or Not If you've used VBA. the jump to VB.net isn't that bad, but I would strongly recommend against that and jumping straight into C# if time allows it. If you've programmed in C (or one of its dialects in the past, C# should be a little easier for you to pick up). I jumped into VB.Net first, and really wish I would have just spent the time (that I didn't have) learning C# right away. Visual Studio is way more powerful and easier to deploy as most computers should have the correct run time already installed (free deployment). It does take longer to develop stuff (IMO) in visual studio than it does in Access, but it's not that bad. I take it that you would still be creating WinForms and not Webpage front ends? I posted some code VB.Net code the other day under the thread titled "Automatic Update Function". I can post the same code in C# to show you how similar/different they are to each other. D On Fri, Mar 6, 2015 at 4:50 AM, Brad Marks wrote: > All, > > I have developed applications since 1975 with my first 33 years in the > mainframe realm (IBM, MVS, COBOL, DB2, Easytrieve, BAL, RPG, etc.) I > am now semi-retired and work part-time for a small manufacturing firm > (50 people). Over the past few years, I have developed a number of > applications with Microsoft Access. About five years ago, I suggested > to the management team that we look at using Visual Studio. > This suggestion was voted down due to the time and expense of > introducing Visual Studio at that point in time. > > The company ownership and leadership has changed over the past few > months. I believe that there might now be a willingness to consider > the introduction of Visual Studio. I have briefly read about ?Visual > Studio > 2013 Community? and I have started to watch some Visual Studio > training videos on YouTube. > > It appears that I can experiment with ?Visual Studio 2013 Community? > with no financial investment, just an investment of time. > > However, because the small firm that I work for has annual revenues > greater than one million, I would not be able to build and deploy > applications with ?Visual Studio 2013 Community? at work. We would > need to buy the professional version. > > I have some questions about moving from Access/VBA to Visual Studio > (or using VS to supplement existing Access application). > > How steep is the learning curve? > > How long did it take others to get up to speed with VS? > > When I develop applications with Microsoft Access, I use a ?full? > version of Access. The deployment is made to about 25 PCs that have > Microsoft Access ?Runtime? (free). > I assume that if an application is developed with Visual Studio, it > can be deployed to other PCs for free. Is this true? > > I am going to be 63 years old in September. I really like to learn > new things and experiment. I have tons of free time to watch training > videos and play with the software. However, at my age and with > possible cognitive disabilities from so many years of working with > COBOL, I am not sure that I want to take on something as large as > Visual Studio. I know that this is really a personal decision, but I > would appreciate any insights about an old dog?s ability to learn new tricks. > > Thanks, > > Brad > > PS. Currently all of my development work is for in-house desktop PC > applications. Our website is outsourced to a contractor. There has > been some discussion about bringing the maintenance of this website in-house. > This would obviously change the picture. > > -- > 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From davidmcafee at gmail.com Fri Mar 6 12:25:51 2015 From: davidmcafee at gmail.com (David McAfee) Date: Fri, 6 Mar 2015 10:25:51 -0800 Subject: [AccessD] Old Dog, New Tricks / To Visual Studio or Not In-Reply-To: References: <42B25C4B288846ACB8FC00E6AB3F40D6@HAL9007> <193c98091a1544ccbb538c3007868f7a@AMSPR06MB311.eurprd06.prod.outlook.com> <1425646250089.2700@blackforestltd.com> Message-ID: Brad, as others have mentioned it is more common to find examples in C#. Once you have the hang of C#, Java is very easy to learn (their syntax is almost identical). The only thing that I don't like about C# is the case sensitivity. A bad habit of mine in VBA is to DIM a Variable such as strSomeStupidNameLikeThis and then purposely type it in lower case later on in code to see if it corrects itself to the propercase (redneck way of making sure I spelled it correctly). Once again, VS handles this now with their intellisense. Still hate case sensitivity though :P D On Fri, Mar 6, 2015 at 9:45 AM, Brad Marks wrote: > David, > > Thanks for your reply and insights. > > I have not programmed in C before. I have looked at C# a little bit. I > am curious as to why you recommend C# over VB. > > Currently our website (where people order stuff) is maintained by an > outside contractor who uses Visual Studio. If we stay with this contractor > and do not move the maintenance of the website to "in-house", then any VS > apps that I would build would be for Windows Desktop PCs only. > > However, if we do bring the website maintenance in-house, then I will need > to also build web apps/pages. > > I am just trying to get a better handle on how complicated it would be to > jump from Access to Visual Studio. > > I have had quite a bit of success building small applications with > Access. These apps seem to work nicely for the most part. Every once in a > while something flakey happens, but these occurrences are quite rare. > > Thanks again for your reply. > > Brad > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com [mailto: > accessd-bounces at databaseadvisors.com] On Behalf Of David McAfee > Sent: Friday, March 06, 2015 11:31 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Old Dog, New Tricks / To Visual Studio or Not > > If you've used VBA. the jump to VB.net isn't that bad, but I would > strongly recommend against that and jumping straight into C# if time allows > it. > If you've programmed in C (or one of its dialects in the past, C# should > be a little easier for you to pick up). > > I jumped into VB.Net first, and really wish I would have just spent the > time (that I didn't have) learning C# right away. > > Visual Studio is way more powerful and easier to deploy as most computers > should have the correct run time already installed (free deployment). > > It does take longer to develop stuff (IMO) in visual studio than it does > in Access, but it's not that bad. > > I take it that you would still be creating WinForms and not Webpage front > ends? > > I posted some code VB.Net code the other day under the thread titled > "Automatic Update Function". > > I can post the same code in C# to show you how similar/different they are > to each other. > > D > > On Fri, Mar 6, 2015 at 4:50 AM, Brad Marks > wrote: > > > All, > > > > I have developed applications since 1975 with my first 33 years in the > > mainframe realm (IBM, MVS, COBOL, DB2, Easytrieve, BAL, RPG, etc.) I > > am now semi-retired and work part-time for a small manufacturing firm > > (50 people). Over the past few years, I have developed a number of > > applications with Microsoft Access. About five years ago, I suggested > > to the management team that we look at using Visual Studio. > > This suggestion was voted down due to the time and expense of > > introducing Visual Studio at that point in time. > > > > The company ownership and leadership has changed over the past few > > months. I believe that there might now be a willingness to consider > > the introduction of Visual Studio. I have briefly read about ?Visual > > Studio > > 2013 Community? and I have started to watch some Visual Studio > > training videos on YouTube. > > > > It appears that I can experiment with ?Visual Studio 2013 Community? > > with no financial investment, just an investment of time. > > > > However, because the small firm that I work for has annual revenues > > greater than one million, I would not be able to build and deploy > > applications with ?Visual Studio 2013 Community? at work. We would > > need to buy the professional version. > > > > I have some questions about moving from Access/VBA to Visual Studio > > (or using VS to supplement existing Access application). > > > > How steep is the learning curve? > > > > How long did it take others to get up to speed with VS? > > > > When I develop applications with Microsoft Access, I use a ?full? > > version of Access. The deployment is made to about 25 PCs that have > > Microsoft Access ?Runtime? (free). > > I assume that if an application is developed with Visual Studio, it > > can be deployed to other PCs for free. Is this true? > > > > I am going to be 63 years old in September. I really like to learn > > new things and experiment. I have tons of free time to watch training > > videos and play with the software. However, at my age and with > > possible cognitive disabilities from so many years of working with > > COBOL, I am not sure that I want to take on something as large as > > Visual Studio. I know that this is really a personal decision, but I > > would appreciate any insights about an old dog?s ability to learn new > tricks. > > > > Thanks, > > > > Brad > > > > PS. Currently all of my development work is for in-house desktop PC > > applications. Our website is outsourced to a contractor. There has > > been some discussion about bringing the maintenance of this website > in-house. > > This would obviously change the picture. > > > > -- > > 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From stuart at lexacorp.com.pg Fri Mar 6 16:41:10 2015 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Sat, 07 Mar 2015 09:41:10 +1100 Subject: [AccessD] Delimiter Value In-Reply-To: References: , <54F63300.9010802@gmail.com>, Message-ID: <54FA2D06.14102.23F01216@stuart.lexacorp.com.pg> Similar problem with Unix generated text files which just use a LF (Chr$(10) as the delimiter rather than the Windows CR LF pair. VBA doesn't recognise this as a line break and if you use Line Input..., it tries to {ead the whole file in one go. You need to do a universal Replace of LF with CRLF before trying to parse I ended up writing a very small pre-processing utility in PowerBASIC to do this when I had a few Access applications that were reading in large Unix generated text data files (many hundreds of MB per file). And of course, to complicate matters further, early MACs (up to OS 9?) used a single CR as the delimiter. :{ -- Stuart On 5 Mar 2015 at 18:06, Bill Benson wrote: > I found one time that when loading data from Excel into a text box on > a userform, the cell which had contained a line break character - > can't remember if it was CHR(10) or CHR(13) gave me infinite pains > when trying to parse the text in the text box. I forget what Access > did to it - either converted it to a combination or switched them. > Whatever it was, it was a major PIA and it made testing values, or > length of entries a big headache. I wish I could remember what it was > and I wish I could. > From bensonforums at gmail.com Fri Mar 6 21:40:34 2015 From: bensonforums at gmail.com (Bill Benson) Date: Fri, 6 Mar 2015 22:40:34 -0500 Subject: [AccessD] Trying to open Access invisibly not working In-Reply-To: References: Message-ID: Do you really need access to do the heavy lifting, or just hold data (ie, act as a back end). If not, you could use ADO. On Mar 3, 2015 12:42 PM, wrote: > I have written some code in Excel VBA that opens Access, creating a link > in Access to a sheet in the current workbook in Excel, has Access run some > a VBA procedure I've written there, and then closes Access. It all works > great except one thing: Access insists on showing its smiling face in the > process. Now I admit that it's doing the heavy lifting in this, but I > don't want my users to freak out when it shows up. > > Here's the code that calls Access and closes it: > > '------------------- > Dim accObj As Object, strFile As String > > 'Open Access and run subroutine > strFile = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name > Set accObj = CreateObject("Access.Application") > > With accObj > .Application.Visible = False 'This does nothing > .OpenCurrentDatabase [This is where I put the full path to the > database] > Application.ScreenUpdating = True > Application.ScreenUpdating = False > .Run "LinkCPL", strFile, "SourceData", "A1:B" & lngLastRow > .CloseCurrentDatabase > End With > > Set accObj = Nothing > '-------------------- > > From what I've read, OpenCurrentDatabase opens Access in an Access window, > which is where the problem comes in. I tried minimizing Access from within > the code procedure (LinkCPL) by opening it with the following code from > Microsoft.com: > '----------- > DoCmd.Minimize > DoCmd.RunCommand acCmdAppMinimize > '----------- > > It minimizes the database, but not the app! The background of the window > stays there. Since I have screen updating turned off in Excel during the > procedure, I thought maybe Access was actuallly minimizing and Excel was > failing to repaint, so I tossed the two ScreeUpdating statements into the > mix, but they did not help. I also tried "Application.Repaint" between > them, but VBA complains that it's not supported. > > Sorry if this is too lengthy. I'd appreciate any help you could offer > here. > > > Tom Ewald > Mass Properties > General Dynamics Land Systems > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From gustav at cactus.dk Sat Mar 7 08:39:21 2015 From: gustav at cactus.dk (Gustav Brock) Date: Sat, 7 Mar 2015 14:39:21 +0000 Subject: [AccessD] Detached event procedures Message-ID: <1425739161000.90739@cactus.dk> ?Hi all If you on a form decide to move some controls into a tab control, you normally do a cut and paste of these controls - from the form into a page of the tab control. Then all the events of the controls get cleared; the [Event Procedure] markings are gone and the code behind is detached though still present. To restore these settings, open the code module of the form: 1. Mark all code with Ctrl+A 2. Cut it away with Ctrl-X 3. Select menu Debug, Compile 4. Paste all the code back into the empty module with Ctrl-V 5. Select Debug, Compile Now your event procedures are hooked up again. I knew of this little trick but had forgotten the details and found it here after much searching: http://bytes.com/topic/access/answers/632851-detached-event-procedures /gustav From lawrence.robinr at gmail.com Sat Mar 7 09:06:47 2015 From: lawrence.robinr at gmail.com (Robin Lawrence) Date: Sat, 7 Mar 2015 15:06:47 +0000 Subject: [AccessD] Acess 2010 Runtime Printing Problem Message-ID: Hi, I've not posted for a while being semi-retired but I've come across a problem with an Acess XP database which is running on Acess 2010 runtime on Win7 computers. The problem is with a computer that prints tickets from a Star TSP743II thermal printer which is installed to that computer only (via USB) This was previously running on an XP computer which has now been replaced by a Win7 machine - however my full copy of Access is XP on a XP virtual machine (don't have full 2010) which doesnt have the drivers for that printer installed. If I remember correctly the way I use to do this was to save the report to a specific printer, copy the db to the new machine (Runtime only) and when the report is run it can't find the printer so it asks whether to print to the default or specific printer. This (I'm sure?) only used to happen the first time the report was run - then it remembered the settings....? However this is not happening with 2010 runtime - it simply doesn't save the settings ... and asks for them again next time the report is run The user has admin privileges on the machine concerned. Any suggestions welcome, Rgds Robin Lawrence From charlotte.foust at gmail.com Sat Mar 7 09:14:16 2015 From: charlotte.foust at gmail.com (Charlotte Foust) Date: Sat, 7 Mar 2015 07:14:16 -0800 Subject: [AccessD] Old Dog, New Tricks / To Visual Studio or Not In-Reply-To: References: <42B25C4B288846ACB8FC00E6AB3F40D6@HAL9007> <193c98091a1544ccbb538c3007868f7a@AMSPR06MB311.eurprd06.prod.outlook.com> <1425646250089.2700@blackforestltd.com> Message-ID: Dan, I'm with you. I can read C#, but the entire curly brackets thing drives me nuts. I like white space, but those languages seem to carry it to the extreme to make them readable. IMO one of the main features that has made VB (non-.Net) discounted as a "real" language is the fact that it is easily readable. There's an ego trip among programmers that seems to have existed forever (or at least as long as computers) and it equates to, "I can write code that only a select few can possibly understand." I am NOT talking about anyone on this list because if they had that flaw they would never have picked up Access. But there is a general mind frame in the non-database programming world that discounts any language that is readable. VB.Net does the same things that C# does to a greater and greater extent with each release, and both languages compile to the same common language runtime. C# is a good language to learn if you want more opportunities as a programmer. VB is a good language to learn if you're in a hurry to escape VBA because it's more familiar. It's really a mind frame you need to adopt in VS, the fact that everything is an object and strong typing is the rule of the day and classes are de riguer. Charlotte On Fri, Mar 6, 2015 at 10:18 AM, Dan Waters wrote: > Hi Brad, > > About two years ago I began programming in Visual Studio using VB.Net, > after 10 years of programming VBA in mostly Access. After two years, I'm I > still do. The learning curve from VBA to VB.Net was much shorter, and I > found that I could always translate any example in C# to VB quickly using a > code converter (converter.telerik.com). And now that I've been > developing for a while, I usually don't need to translate the examples > (i.e., Stackoverflow.com) to understand what they're doing. Today, > switching languages would be a relatively minor event. > > From time to time I read lists of popular languages. If you add the > number of VB developers and the number of C# developers, about 40% of > developers use VB. > > For some reason, many developers want to proselytize about some language > being better than others. C# or VB being a long-standing argument. In > truth, VB has a few minor advantages (passing a variable quantity parameter > array being one of them), but overall the functional difference is like > buying French fries at McDonalds or buying French fries at Burger King. If > you have a preference - it's just personal. > > Based on my experience, your statement of concern about minimizing your > learning curve, the fact that you are working as a company developer (vs. a > developer in a software company), and the fact that you are unlikely to > work with other developers who use C#, I would recommend that you develop > in VB. Your company isn't going to care which language you use, but they > will care how long it takes you to get something finished. > > Microsoft just recently rebuilt the VB.Net language from the ground up for > VS 2015 (to be released later this year). So with that kind of investment > this language will be around for a long time. And, it is Microsoft's > stated position that they intend to remove the functional differences > between VB and C# over time. > > My last word - I absolutely wish that I had taken a beginner's course in > Visual Studio or VB.Net when I started. I did a little looking, but > couldn't find one. There are some on-line courses, but I'm a little > skeptical about cost/value on those. If someone has used on-line training > for Visual Studio I'd like to ask them to speak up on their experiences. > > Good Luck! > Dan > > > > From df.waters at outlook.com Sat Mar 7 10:02:32 2015 From: df.waters at outlook.com (Dan Waters) Date: Sat, 7 Mar 2015 10:02:32 -0600 Subject: [AccessD] Detached event procedures In-Reply-To: <1425739161000.90739@cactus.dk> References: <1425739161000.90739@cactus.dk> Message-ID: Hi Gustav, After you paste the control onto the tab form, you can open the property sheet for the control, select the Event tab, and then select Event Procedure for the event in question. If the procedure has its default name, then they should be hooked up. Sometimes my controls get 'unhooked' and that works for me. HTH! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Saturday, March 07, 2015 8:39 AM To: Access Developers discussion and problem solving Subject: [AccessD] Detached event procedures ?Hi all If you on a form decide to move some controls into a tab control, you normally do a cut and paste of these controls - from the form into a page of the tab control. Then all the events of the controls get cleared; the [Event Procedure] markings are gone and the code behind is detached though still present. To restore these settings, open the code module of the form: 1. Mark all code with Ctrl+A 2. Cut it away with Ctrl-X 3. Select menu Debug, Compile 4. Paste all the code back into the empty module with Ctrl-V 5. Select Debug, Compile Now your event procedures are hooked up again. I knew of this little trick but had forgotten the details and found it here after much searching: http://bytes.com/topic/access/answers/632851-detached-event-procedures /gustav -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From gustav at cactus.dk Sat Mar 7 10:08:13 2015 From: gustav at cactus.dk (Gustav Brock) Date: Sat, 7 Mar 2015 16:08:13 +0000 Subject: [AccessD] Detached event procedures In-Reply-To: References: <1425739161000.90739@cactus.dk>, Message-ID: <1425744492683.75104@cactus.dk> Hi Dan Yes, that works but - facing 50+ events - I looked for a less tedious procedure. /gustav ________________________________________ Fra: accessd-bounces at databaseadvisors.com p? vegne af Dan Waters Sendt: 7. marts 2015 17:02 Til: 'Access Developers discussion and problem solving' Emne: Re: [AccessD] Detached event procedures Hi Gustav, After you paste the control onto the tab form, you can open the property sheet for the control, select the Event tab, and then select Event Procedure for the event in question. If the procedure has its default name, then they should be hooked up. Sometimes my controls get 'unhooked' and that works for me. HTH! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Saturday, March 07, 2015 8:39 AM To: Access Developers discussion and problem solving Subject: [AccessD] Detached event procedures ?Hi all If you on a form decide to move some controls into a tab control, you normally do a cut and paste of these controls - from the form into a page of the tab control. Then all the events of the controls get cleared; the [Event Procedure] markings are gone and the code behind is detached though still present. To restore these settings, open the code module of the form: 1. Mark all code with Ctrl+A 2. Cut it away with Ctrl-X 3. Select menu Debug, Compile 4. Paste all the code back into the empty module with Ctrl-V 5. Select Debug, Compile Now your event procedures are hooked up again. I knew of this little trick but had forgotten the details and found it here after much searching: http://bytes.com/topic/access/answers/632851-detached-event-procedures /gustav From df.waters at outlook.com Sat Mar 7 10:42:58 2015 From: df.waters at outlook.com (Dan Waters) Date: Sat, 7 Mar 2015 10:42:58 -0600 Subject: [AccessD] Detached event procedures In-Reply-To: <1425744492683.75104@cactus.dk> References: <1425739161000.90739@cactus.dk>, <1425744492683.75104@cactus.dk> Message-ID: I'll remember that! -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Saturday, March 07, 2015 10:08 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Detached event procedures Hi Dan Yes, that works but - facing 50+ events - I looked for a less tedious procedure. /gustav From bensonforums at gmail.com Mon Mar 9 07:47:52 2015 From: bensonforums at gmail.com (Bill Benson) Date: Mon, 9 Mar 2015 08:47:52 -0400 Subject: [AccessD] Old Dog, New Tricks / To Visual Studio or Not In-Reply-To: <1425646250089.2700@blackforestltd.com> References: <42B25C4B288846ACB8FC00E6AB3F40D6@HAL9007> <193c98091a1544ccbb538c3007868f7a@AMSPR06MB311.eurprd06.prod.outlook.com> <1425646250089.2700@blackforestltd.com> Message-ID: You might look into Bizspark, and for your own LLC. The latter can be done without lawyers, if you are not doing it with any deep concern about crossing i's and dotting t's, and just want a way to represent to Microsoft that you are entering a new chapter in life (visual studios development) - you can even bring along a few associates for the ride. But your aim really ought to be making money as a developer, I am not advocating you just lie to them. They are a great company and this is a great program. Many people have formed startups after working for other corps, so this is maybe something you can do on the side. On Mar 6, 2015 7:52 AM, "Brad Marks" wrote: > All, > > I have developed applications since 1975 with my first 33 years in the > mainframe realm (IBM, MVS, COBOL, DB2, Easytrieve, BAL, RPG, etc.) I am > now semi-retired and work part-time for a small manufacturing firm (50 > people). Over the past few years, I have developed a number of > applications with Microsoft Access. About five years ago, > I suggested to the management team that we look at using Visual Studio. > This suggestion was voted down due to the time and expense of introducing > Visual Studio at that point in time. > > The company ownership and leadership has changed over the past few > months. I believe that there might now be a willingness to consider the > introduction of Visual Studio. I have briefly read about ?Visual Studio > 2013 Community? and I have started to watch some Visual Studio training > videos on YouTube. > > It appears that I can experiment with ?Visual Studio 2013 Community? with > no financial investment, just an investment of time. > > However, because the small firm that I work for has annual revenues > greater than one million, I would not be able to build and deploy > applications with ?Visual Studio 2013 Community? at work. We would need to > buy the professional version. > > I have some questions about moving from Access/VBA to Visual Studio (or > using VS to supplement existing Access application). > > How steep is the learning curve? > > How long did it take others to get up to speed with VS? > > When I develop applications with Microsoft Access, I use a ?full? version > of Access. The deployment is made to about 25 PCs that have Microsoft > Access ?Runtime? (free). > I assume that if an application is developed with Visual Studio, it can be > deployed to other PCs for free. Is this true? > > I am going to be 63 years old in September. I really like to learn new > things and experiment. I have tons of free time to watch training videos > and play with the software. However, at my age and with possible cognitive > disabilities from so many years of working with COBOL, I am not sure that I > want to take on something as large as Visual Studio. I know that this is > really a personal decision, but I would appreciate any insights about an > old dog?s ability to learn new tricks. > > Thanks, > > Brad > > PS. Currently all of my development work is for in-house desktop PC > applications. Our website is outsourced to a contractor. There has been > some discussion about bringing the maintenance of this website in-house. > This would obviously change the picture. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jerbach.db at gmail.com Mon Mar 9 10:29:02 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Mon, 9 Mar 2015 10:29:02 -0500 Subject: [AccessD] Form corruption? In-Reply-To: <54F65420.4000005@gmail.com> References: <54F65420.4000005@gmail.com> Message-ID: And I am doing that very test right now. With interesting results, too - inconsistent ones. 1) When I run the test to draw objects on the form one right after another, Access consistently chokes at object 1040. 2) After I delete those 1040 objects and start drawing again, Access will add another 1040 - a total of 2080 having been drawn to the form in all - before it chokes. 3) If I draw in 'batches' - add 500, delete 500, add 500 more - I can keep going for a long time. (This is with saving the form, closing it down, and re-opening it after each batch.) I got up to a total count 20,000 some objects that had been drawn to the form over it's 'life time' before access gave up. 4) I started playing with drawing objects in different batch sizes. I just now ran a few batches of 500, then ran one of 2,000, then upped it to 5,000 . Access choked after drawing a total of 6120 objects. So it seems that Access is inconsistent in it's response to how many objects have been drawn, deleted, and re-drawn on the form over the course of it's lifetime. Which is the ammo I need to bring to my boss when I tell him the whole form handling routine has to be re-written. Janet On Tue, Mar 3, 2015 at 6:38 PM, John W. Colby wrote: > It sounds like it's time for Janet to do a test! > > ;) > > John W. Colby > > On 3/3/2015 7:35 PM, Jim Dettman wrote: > >> The number given has always been 754, but that has drifted upwards to >> over 1,000 in later versions. I posted all the counts a few years back. >> >> Jim >> >> Sent from my iPhone >> >> On Mar 3, 2015, at 6:45 PM, Charlotte Foust >>> wrote: >>> >>> It used to be in the documentation, but I haven't looked it up recently >>> because it became moot after they introduced tab controls. >>> >>> Charlotte >>> >>> > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at gmail.com Mon Mar 9 11:34:35 2015 From: jwcolby at gmail.com (John W. Colby) Date: Mon, 09 Mar 2015 12:34:35 -0400 Subject: [AccessD] Form corruption? In-Reply-To: References: <54F65420.4000005@gmail.com> Message-ID: <54FDCB9B.4080401@gmail.com> Thanks for doing that Janet. I suspect that this has to do with instances of DAO recordsets. I have never tested controls per se but I did once test DAO recordsets and came up with that same number. I would bet that if you tested with non data aware controls you would find entirely (and larger) numbers. Things like labels and lines etc. I am guessing that there is some sort of garbage collection process that is scavenging the dao pointers, which allows the different numbers you are seeing. John W. Colby On 3/9/2015 11:29 AM, Janet Erbach wrote: > And I am doing that very test right now. With interesting results, too - > inconsistent ones. > > 1) When I run the test to draw objects on the form one right after > another, Access consistently chokes at object 1040. > > 2) After I delete those 1040 objects and start drawing again, Access will > add another 1040 - a total of 2080 having been drawn to the form in all - > before it chokes. > > 3) If I draw in 'batches' - add 500, delete 500, add 500 more - I can keep > going for a long time. (This is with saving the form, closing it down, and > re-opening it after each batch.) I got up to a total count 20,000 some > objects that had been drawn to the form over it's 'life time' before access > gave up. > > 4) I started playing with drawing objects in different batch sizes. I > just now ran a few batches of 500, then ran one of 2,000, then upped it to > 5,000 . Access choked after drawing a total of 6120 objects. > > So it seems that Access is inconsistent in it's response to how many > objects have been drawn, deleted, and re-drawn on the form over the course > of it's lifetime. Which is the ammo I need to bring to my boss when I tell > him the whole form handling routine has to be re-written. > > Janet > > > > > > On Tue, Mar 3, 2015 at 6:38 PM, John W. Colby wrote: > >> It sounds like it's time for Janet to do a test! >> >> ;) >> >> John W. Colby >> >> On 3/3/2015 7:35 PM, Jim Dettman wrote: >> >>> The number given has always been 754, but that has drifted upwards to >>> over 1,000 in later versions. I posted all the counts a few years back. >>> >>> Jim >>> >>> Sent from my iPhone >>> >>> On Mar 3, 2015, at 6:45 PM, Charlotte Foust >>>> wrote: >>>> >>>> It used to be in the documentation, but I haven't looked it up recently >>>> because it became moot after they introduced tab controls. >>>> >>>> Charlotte >>>> >>>> >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> From jerbach.db at gmail.com Mon Mar 9 11:43:25 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Mon, 9 Mar 2015 11:43:25 -0500 Subject: [AccessD] Form corruption? In-Reply-To: <54FDCB9B.4080401@gmail.com> References: <54F65420.4000005@gmail.com> <54FDCB9B.4080401@gmail.com> Message-ID: Garbage collectors, eh? Then why didn't they come for this app the moment it hit the floor?? :) None of the objects I'm drawing are bound to anything in this test - just rectangles with labels. And I just got as high as 30,159. But it doesn't really matter; I can still make my point that this is an unstable approach. On Mon, Mar 9, 2015 at 11:34 AM, John W. Colby wrote: > Thanks for doing that Janet. > > I suspect that this has to do with instances of DAO recordsets. I have > never tested controls per se but I did once test DAO recordsets and came up > with that same number. I would bet that if you tested with non data aware > controls you would find entirely (and larger) numbers. Things like labels > and lines etc. > > I am guessing that there is some sort of garbage collection process that > is scavenging the dao pointers, which allows the different numbers you are > seeing. > > John W. Colby > > > On 3/9/2015 11:29 AM, Janet Erbach wrote: > >> And I am doing that very test right now. With interesting results, too - >> inconsistent ones. >> >> 1) When I run the test to draw objects on the form one right after >> another, Access consistently chokes at object 1040. >> >> 2) After I delete those 1040 objects and start drawing again, Access will >> add another 1040 - a total of 2080 having been drawn to the form in all - >> before it chokes. >> >> 3) If I draw in 'batches' - add 500, delete 500, add 500 more - I can >> keep >> going for a long time. (This is with saving the form, closing it down, >> and >> re-opening it after each batch.) I got up to a total count 20,000 some >> objects that had been drawn to the form over it's 'life time' before >> access >> gave up. >> >> 4) I started playing with drawing objects in different batch sizes. I >> just now ran a few batches of 500, then ran one of 2,000, then upped it to >> 5,000 . Access choked after drawing a total of 6120 objects. >> >> So it seems that Access is inconsistent in it's response to how many >> objects have been drawn, deleted, and re-drawn on the form over the course >> of it's lifetime. Which is the ammo I need to bring to my boss when I >> tell >> him the whole form handling routine has to be re-written. >> >> Janet >> >> >> >> >> >> On Tue, Mar 3, 2015 at 6:38 PM, John W. Colby wrote: >> >> It sounds like it's time for Janet to do a test! >>> >>> ;) >>> >>> John W. Colby >>> >>> On 3/3/2015 7:35 PM, Jim Dettman wrote: >>> >>> The number given has always been 754, but that has drifted upwards to >>>> over 1,000 in later versions. I posted all the counts a few years >>>> back. >>>> >>>> Jim >>>> >>>> Sent from my iPhone >>>> >>>> On Mar 3, 2015, at 6:45 PM, Charlotte Foust < >>>> charlotte.foust at gmail.com> >>>> >>>>> wrote: >>>>> >>>>> It used to be in the documentation, but I haven't looked it up recently >>>>> because it became moot after they introduced tab controls. >>>>> >>>>> Charlotte >>>>> >>>>> >>>>> -- >>> 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 > From jwcolby at gmail.com Mon Mar 9 11:51:31 2015 From: jwcolby at gmail.com (John W. Colby) Date: Mon, 09 Mar 2015 12:51:31 -0400 Subject: [AccessD] Form corruption? In-Reply-To: References: <54F65420.4000005@gmail.com> <54FDCB9B.4080401@gmail.com> Message-ID: <54FDCF93.9010100@gmail.com> So these are not text box, combo box, list, radio button or check box controls? John W. Colby On 3/9/2015 12:43 PM, Janet Erbach wrote: > Garbage collectors, eh? Then why didn't they come for this app the moment > it hit the floor?? :) > > None of the objects I'm drawing are bound to anything in this test - just > rectangles with labels. And I just got as high as 30,159. But it doesn't > really matter; I can still make my point that this is an unstable approach. > > On Mon, Mar 9, 2015 at 11:34 AM, John W. Colby wrote: > >> Thanks for doing that Janet. >> >> I suspect that this has to do with instances of DAO recordsets. I have >> never tested controls per se but I did once test DAO recordsets and came up >> with that same number. I would bet that if you tested with non data aware >> controls you would find entirely (and larger) numbers. Things like labels >> and lines etc. >> >> I am guessing that there is some sort of garbage collection process that >> is scavenging the dao pointers, which allows the different numbers you are >> seeing. >> >> John W. Colby >> >> >> On 3/9/2015 11:29 AM, Janet Erbach wrote: >> >>> And I am doing that very test right now. With interesting results, too - >>> inconsistent ones. >>> >>> 1) When I run the test to draw objects on the form one right after >>> another, Access consistently chokes at object 1040. >>> >>> 2) After I delete those 1040 objects and start drawing again, Access will >>> add another 1040 - a total of 2080 having been drawn to the form in all - >>> before it chokes. >>> >>> 3) If I draw in 'batches' - add 500, delete 500, add 500 more - I can >>> keep >>> going for a long time. (This is with saving the form, closing it down, >>> and >>> re-opening it after each batch.) I got up to a total count 20,000 some >>> objects that had been drawn to the form over it's 'life time' before >>> access >>> gave up. >>> >>> 4) I started playing with drawing objects in different batch sizes. I >>> just now ran a few batches of 500, then ran one of 2,000, then upped it to >>> 5,000 . Access choked after drawing a total of 6120 objects. >>> >>> So it seems that Access is inconsistent in it's response to how many >>> objects have been drawn, deleted, and re-drawn on the form over the course >>> of it's lifetime. Which is the ammo I need to bring to my boss when I >>> tell >>> him the whole form handling routine has to be re-written. >>> >>> Janet >>> >>> >>> >>> >>> >>> On Tue, Mar 3, 2015 at 6:38 PM, John W. Colby wrote: >>> >>> It sounds like it's time for Janet to do a test! >>>> ;) >>>> >>>> John W. Colby >>>> >>>> On 3/3/2015 7:35 PM, Jim Dettman wrote: >>>> >>>> The number given has always been 754, but that has drifted upwards to >>>>> over 1,000 in later versions. I posted all the counts a few years >>>>> back. >>>>> >>>>> Jim >>>>> >>>>> Sent from my iPhone >>>>> >>>>> On Mar 3, 2015, at 6:45 PM, Charlotte Foust < >>>>> charlotte.foust at gmail.com> >>>>> >>>>>> wrote: >>>>>> >>>>>> It used to be in the documentation, but I haven't looked it up recently >>>>>> because it became moot after they introduced tab controls. >>>>>> >>>>>> Charlotte >>>>>> >>>>>> >>>>>> -- >>>> 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 >> From jerbach.db at gmail.com Mon Mar 9 11:58:12 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Mon, 9 Mar 2015 11:58:12 -0500 Subject: [AccessD] Form corruption? In-Reply-To: <54FDCF93.9010100@gmail.com> References: <54F65420.4000005@gmail.com> <54FDCB9B.4080401@gmail.com> <54FDCF93.9010100@gmail.com> Message-ID: Not in this test - I just made it very basic. Are you thinking I'll get different results if I put heftier objects in? On Mon, Mar 9, 2015 at 11:51 AM, John W. Colby wrote: > So these are not text box, combo box, list, radio button or check box > controls? > > John W. Colby > > > On 3/9/2015 12:43 PM, Janet Erbach wrote: > >> Garbage collectors, eh? Then why didn't they come for this app the moment >> it hit the floor?? :) >> >> None of the objects I'm drawing are bound to anything in this test - just >> rectangles with labels. And I just got as high as 30,159. But it doesn't >> really matter; I can still make my point that this is an unstable >> approach. >> >> On Mon, Mar 9, 2015 at 11:34 AM, John W. Colby wrote: >> >> Thanks for doing that Janet. >>> >>> I suspect that this has to do with instances of DAO recordsets. I have >>> never tested controls per se but I did once test DAO recordsets and came >>> up >>> with that same number. I would bet that if you tested with non data >>> aware >>> controls you would find entirely (and larger) numbers. Things like >>> labels >>> and lines etc. >>> >>> I am guessing that there is some sort of garbage collection process that >>> is scavenging the dao pointers, which allows the different numbers you >>> are >>> seeing. >>> >>> John W. Colby >>> >>> >>> On 3/9/2015 11:29 AM, Janet Erbach wrote: >>> >>> And I am doing that very test right now. With interesting results, too >>>> - >>>> inconsistent ones. >>>> >>>> 1) When I run the test to draw objects on the form one right after >>>> another, Access consistently chokes at object 1040. >>>> >>>> 2) After I delete those 1040 objects and start drawing again, Access >>>> will >>>> add another 1040 - a total of 2080 having been drawn to the form in all >>>> - >>>> before it chokes. >>>> >>>> 3) If I draw in 'batches' - add 500, delete 500, add 500 more - I can >>>> keep >>>> going for a long time. (This is with saving the form, closing it down, >>>> and >>>> re-opening it after each batch.) I got up to a total count 20,000 some >>>> objects that had been drawn to the form over it's 'life time' before >>>> access >>>> gave up. >>>> >>>> 4) I started playing with drawing objects in different batch sizes. I >>>> just now ran a few batches of 500, then ran one of 2,000, then upped it >>>> to >>>> 5,000 . Access choked after drawing a total of 6120 objects. >>>> >>>> So it seems that Access is inconsistent in it's response to how many >>>> objects have been drawn, deleted, and re-drawn on the form over the >>>> course >>>> of it's lifetime. Which is the ammo I need to bring to my boss when I >>>> tell >>>> him the whole form handling routine has to be re-written. >>>> >>>> Janet >>>> >>>> >>>> >>>> >>>> >>>> On Tue, Mar 3, 2015 at 6:38 PM, John W. Colby >>>> wrote: >>>> >>>> It sounds like it's time for Janet to do a test! >>>> >>>>> ;) >>>>> >>>>> John W. Colby >>>>> >>>>> On 3/3/2015 7:35 PM, Jim Dettman wrote: >>>>> >>>>> The number given has always been 754, but that has drifted upwards >>>>> to >>>>> >>>>>> over 1,000 in later versions. I posted all the counts a few years >>>>>> back. >>>>>> >>>>>> Jim >>>>>> >>>>>> Sent from my iPhone >>>>>> >>>>>> On Mar 3, 2015, at 6:45 PM, Charlotte Foust < >>>>>> charlotte.foust at gmail.com> >>>>>> >>>>>> wrote: >>>>>>> >>>>>>> It used to be in the documentation, but I haven't looked it up >>>>>>> recently >>>>>>> because it became moot after they introduced tab controls. >>>>>>> >>>>>>> Charlotte >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> >>>>>> 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 >>> >>> > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at gmail.com Mon Mar 9 12:30:34 2015 From: jwcolby at gmail.com (John W. Colby) Date: Mon, 09 Mar 2015 13:30:34 -0400 Subject: [AccessD] Form corruption? In-Reply-To: References: <54F65420.4000005@gmail.com> <54FDCB9B.4080401@gmail.com> <54FDCF93.9010100@gmail.com> Message-ID: <54FDD8BA.2030107@gmail.com> nope. I just got that same 1040 number when programmatically creating recordset objects. John W. Colby On 3/9/2015 12:58 PM, Janet Erbach wrote: > Not in this test - I just made it very basic. Are you thinking I'll get > different results if I put heftier objects in? > > On Mon, Mar 9, 2015 at 11:51 AM, John W. Colby wrote: > >> So these are not text box, combo box, list, radio button or check box >> controls? >> >> John W. Colby >> >> >> On 3/9/2015 12:43 PM, Janet Erbach wrote: >> >>> Garbage collectors, eh? Then why didn't they come for this app the moment >>> it hit the floor?? :) >>> >>> None of the objects I'm drawing are bound to anything in this test - just >>> rectangles with labels. And I just got as high as 30,159. But it doesn't >>> really matter; I can still make my point that this is an unstable >>> approach. >>> >>> On Mon, Mar 9, 2015 at 11:34 AM, John W. Colby wrote: >>> >>> Thanks for doing that Janet. >>>> I suspect that this has to do with instances of DAO recordsets. I have >>>> never tested controls per se but I did once test DAO recordsets and came >>>> up >>>> with that same number. I would bet that if you tested with non data >>>> aware >>>> controls you would find entirely (and larger) numbers. Things like >>>> labels >>>> and lines etc. >>>> >>>> I am guessing that there is some sort of garbage collection process that >>>> is scavenging the dao pointers, which allows the different numbers you >>>> are >>>> seeing. >>>> >>>> John W. Colby >>>> >>>> >>>> On 3/9/2015 11:29 AM, Janet Erbach wrote: >>>> >>>> And I am doing that very test right now. With interesting results, too >>>>> - >>>>> inconsistent ones. >>>>> >>>>> 1) When I run the test to draw objects on the form one right after >>>>> another, Access consistently chokes at object 1040. >>>>> >>>>> 2) After I delete those 1040 objects and start drawing again, Access >>>>> will >>>>> add another 1040 - a total of 2080 having been drawn to the form in all >>>>> - >>>>> before it chokes. >>>>> >>>>> 3) If I draw in 'batches' - add 500, delete 500, add 500 more - I can >>>>> keep >>>>> going for a long time. (This is with saving the form, closing it down, >>>>> and >>>>> re-opening it after each batch.) I got up to a total count 20,000 some >>>>> objects that had been drawn to the form over it's 'life time' before >>>>> access >>>>> gave up. >>>>> >>>>> 4) I started playing with drawing objects in different batch sizes. I >>>>> just now ran a few batches of 500, then ran one of 2,000, then upped it >>>>> to >>>>> 5,000 . Access choked after drawing a total of 6120 objects. >>>>> >>>>> So it seems that Access is inconsistent in it's response to how many >>>>> objects have been drawn, deleted, and re-drawn on the form over the >>>>> course >>>>> of it's lifetime. Which is the ammo I need to bring to my boss when I >>>>> tell >>>>> him the whole form handling routine has to be re-written. >>>>> >>>>> Janet >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> On Tue, Mar 3, 2015 at 6:38 PM, John W. Colby >>>>> wrote: >>>>> >>>>> It sounds like it's time for Janet to do a test! >>>>> >>>>>> ;) >>>>>> >>>>>> John W. Colby >>>>>> >>>>>> On 3/3/2015 7:35 PM, Jim Dettman wrote: >>>>>> >>>>>> The number given has always been 754, but that has drifted upwards >>>>>> to >>>>>> >>>>>>> over 1,000 in later versions. I posted all the counts a few years >>>>>>> back. >>>>>>> >>>>>>> Jim >>>>>>> >>>>>>> Sent from my iPhone >>>>>>> >>>>>>> On Mar 3, 2015, at 6:45 PM, Charlotte Foust < >>>>>>> charlotte.foust at gmail.com> >>>>>>> >>>>>>> wrote: >>>>>>>> It used to be in the documentation, but I haven't looked it up >>>>>>>> recently >>>>>>>> because it became moot after they introduced tab controls. >>>>>>>> >>>>>>>> Charlotte >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>> 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 >>>> >>>> >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> From jimdettman at verizon.net Mon Mar 9 14:04:32 2015 From: jimdettman at verizon.net (Jim Dettman) Date: Mon, 09 Mar 2015 15:04:32 -0400 Subject: [AccessD] Form corruption? In-Reply-To: <54FDD8BA.2030107@gmail.com> References: <54F65420.4000005@gmail.com> <54FDCB9B.4080401@gmail.com> <54FDCF93.9010100@gmail.com> <54FDD8BA.2030107@gmail.com> Message-ID: <0D1F91C0258348C58046EDE48F83E11E@XPS> That's the number I remember from a few years back as well for the last couple of releases. The number does seem to float a bit, but it's always right around the same number. I've never seen numbers along the lines Janet is seeing and the question I have there; Janet are you saving the form each time or no? And keep in mind that there are two basic work arounds for this: 1. Create the form from scratch each time. 2. Create all the controls you need, then unhide/hide as needed. Either may allow you to get the job done without a significant amount of re-writing. Jim. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. Colby Sent: Monday, March 09, 2015 01:31 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Form corruption? nope. I just got that same 1040 number when programmatically creating recordset objects. John W. Colby On 3/9/2015 12:58 PM, Janet Erbach wrote: > Not in this test - I just made it very basic. Are you thinking I'll get > different results if I put heftier objects in? > > On Mon, Mar 9, 2015 at 11:51 AM, John W. Colby wrote: > >> So these are not text box, combo box, list, radio button or check box >> controls? >> >> John W. Colby >> >> >> On 3/9/2015 12:43 PM, Janet Erbach wrote: >> >>> Garbage collectors, eh? Then why didn't they come for this app the moment >>> it hit the floor?? :) >>> >>> None of the objects I'm drawing are bound to anything in this test - just >>> rectangles with labels. And I just got as high as 30,159. But it doesn't >>> really matter; I can still make my point that this is an unstable >>> approach. >>> >>> On Mon, Mar 9, 2015 at 11:34 AM, John W. Colby wrote: >>> >>> Thanks for doing that Janet. >>>> I suspect that this has to do with instances of DAO recordsets. I have >>>> never tested controls per se but I did once test DAO recordsets and came >>>> up >>>> with that same number. I would bet that if you tested with non data >>>> aware >>>> controls you would find entirely (and larger) numbers. Things like >>>> labels >>>> and lines etc. >>>> >>>> I am guessing that there is some sort of garbage collection process that >>>> is scavenging the dao pointers, which allows the different numbers you >>>> are >>>> seeing. >>>> >>>> John W. Colby >>>> >>>> >>>> On 3/9/2015 11:29 AM, Janet Erbach wrote: >>>> >>>> And I am doing that very test right now. With interesting results, too >>>>> - >>>>> inconsistent ones. >>>>> >>>>> 1) When I run the test to draw objects on the form one right after >>>>> another, Access consistently chokes at object 1040. >>>>> >>>>> 2) After I delete those 1040 objects and start drawing again, Access >>>>> will >>>>> add another 1040 - a total of 2080 having been drawn to the form in all >>>>> - >>>>> before it chokes. >>>>> >>>>> 3) If I draw in 'batches' - add 500, delete 500, add 500 more - I can >>>>> keep >>>>> going for a long time. (This is with saving the form, closing it down, >>>>> and >>>>> re-opening it after each batch.) I got up to a total count 20,000 some >>>>> objects that had been drawn to the form over it's 'life time' before >>>>> access >>>>> gave up. >>>>> >>>>> 4) I started playing with drawing objects in different batch sizes. I >>>>> just now ran a few batches of 500, then ran one of 2,000, then upped it >>>>> to >>>>> 5,000 . Access choked after drawing a total of 6120 objects. >>>>> >>>>> So it seems that Access is inconsistent in it's response to how many >>>>> objects have been drawn, deleted, and re-drawn on the form over the >>>>> course >>>>> of it's lifetime. Which is the ammo I need to bring to my boss when I >>>>> tell >>>>> him the whole form handling routine has to be re-written. >>>>> >>>>> Janet >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> On Tue, Mar 3, 2015 at 6:38 PM, John W. Colby >>>>> wrote: >>>>> >>>>> It sounds like it's time for Janet to do a test! >>>>> >>>>>> ;) >>>>>> >>>>>> John W. Colby >>>>>> >>>>>> On 3/3/2015 7:35 PM, Jim Dettman wrote: >>>>>> >>>>>> The number given has always been 754, but that has drifted upwards >>>>>> to >>>>>> >>>>>>> over 1,000 in later versions. I posted all the counts a few years >>>>>>> back. >>>>>>> >>>>>>> Jim >>>>>>> >>>>>>> Sent from my iPhone >>>>>>> >>>>>>> On Mar 3, 2015, at 6:45 PM, Charlotte Foust < >>>>>>> charlotte.foust at gmail.com> >>>>>>> >>>>>>> wrote: >>>>>>>> It used to be in the documentation, but I haven't looked it up >>>>>>>> recently >>>>>>>> because it became moot after they introduced tab controls. >>>>>>>> >>>>>>>> Charlotte >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>> 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 >>>> >>>> >> -- >> 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 From jerbach.db at gmail.com Mon Mar 9 14:12:49 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Mon, 9 Mar 2015 14:12:49 -0500 Subject: [AccessD] Form corruption? In-Reply-To: <0D1F91C0258348C58046EDE48F83E11E@XPS> References: <54F65420.4000005@gmail.com> <54FDCB9B.4080401@gmail.com> <54FDCF93.9010100@gmail.com> <54FDD8BA.2030107@gmail.com> <0D1F91C0258348C58046EDE48F83E11E@XPS> Message-ID: Jim - The form is being saved each time after the objects are drawn. The next time the app loads, all of the 'on-the-fly' objects are deleted, and then re-drawn. I think I'm going to go with the unhide/hide method - I'd like this app to be as straightforward as possible. On Mon, Mar 9, 2015 at 2:04 PM, Jim Dettman wrote: > > That's the number I remember from a few years back as well for the last > couple of releases. The number does seem to float a bit, but it's always > right around the same number. > > I've never seen numbers along the lines Janet is seeing and the question I > have there; Janet are you saving the form each time or no? > > And keep in mind that there are two basic work arounds for this: > > 1. Create the form from scratch each time. > > 2. Create all the controls you need, then unhide/hide as needed. > > Either may allow you to get the job done without a significant amount of > re-writing. > > > Jim. > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > John W. Colby > Sent: Monday, March 09, 2015 01:31 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Form corruption? > > nope. I just got that same 1040 number when programmatically creating > recordset objects. > > John W. Colby > > On 3/9/2015 12:58 PM, Janet Erbach wrote: > > Not in this test - I just made it very basic. Are you thinking I'll get > > different results if I put heftier objects in? > > > > On Mon, Mar 9, 2015 at 11:51 AM, John W. Colby > wrote: > > > >> So these are not text box, combo box, list, radio button or check box > >> controls? > >> > >> John W. Colby > >> > >> > >> On 3/9/2015 12:43 PM, Janet Erbach wrote: > >> > >>> Garbage collectors, eh? Then why didn't they come for this app the > moment > >>> it hit the floor?? :) > >>> > >>> None of the objects I'm drawing are bound to anything in this test - > just > >>> rectangles with labels. And I just got as high as 30,159. But it > doesn't > >>> really matter; I can still make my point that this is an unstable > >>> approach. > >>> > >>> On Mon, Mar 9, 2015 at 11:34 AM, John W. Colby > wrote: > >>> > >>> Thanks for doing that Janet. > >>>> I suspect that this has to do with instances of DAO recordsets. I > have > >>>> never tested controls per se but I did once test DAO recordsets and > came > >>>> up > >>>> with that same number. I would bet that if you tested with non data > >>>> aware > >>>> controls you would find entirely (and larger) numbers. Things like > >>>> labels > >>>> and lines etc. > >>>> > >>>> I am guessing that there is some sort of garbage collection process > that > >>>> is scavenging the dao pointers, which allows the different numbers you > >>>> are > >>>> seeing. > >>>> > >>>> John W. Colby > >>>> > >>>> > >>>> On 3/9/2015 11:29 AM, Janet Erbach wrote: > >>>> > >>>> And I am doing that very test right now. With interesting results, > too > >>>>> - > >>>>> inconsistent ones. > >>>>> > >>>>> 1) When I run the test to draw objects on the form one right after > >>>>> another, Access consistently chokes at object 1040. > >>>>> > >>>>> 2) After I delete those 1040 objects and start drawing again, Access > >>>>> will > >>>>> add another 1040 - a total of 2080 having been drawn to the form in > all > >>>>> - > >>>>> before it chokes. > >>>>> > >>>>> 3) If I draw in 'batches' - add 500, delete 500, add 500 more - I > can > >>>>> keep > >>>>> going for a long time. (This is with saving the form, closing it > down, > >>>>> and > >>>>> re-opening it after each batch.) I got up to a total count 20,000 > some > >>>>> objects that had been drawn to the form over it's 'life time' before > >>>>> access > >>>>> gave up. > >>>>> > >>>>> 4) I started playing with drawing objects in different batch sizes. > I > >>>>> just now ran a few batches of 500, then ran one of 2,000, then upped > it > >>>>> to > >>>>> 5,000 . Access choked after drawing a total of 6120 objects. > >>>>> > >>>>> So it seems that Access is inconsistent in it's response to how many > >>>>> objects have been drawn, deleted, and re-drawn on the form over the > >>>>> course > >>>>> of it's lifetime. Which is the ammo I need to bring to my boss when > I > >>>>> tell > >>>>> him the whole form handling routine has to be re-written. > >>>>> > >>>>> Janet > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> On Tue, Mar 3, 2015 at 6:38 PM, John W. Colby > >>>>> wrote: > >>>>> > >>>>> It sounds like it's time for Janet to do a test! > >>>>> > >>>>>> ;) > >>>>>> > >>>>>> John W. Colby > >>>>>> > >>>>>> On 3/3/2015 7:35 PM, Jim Dettman wrote: > >>>>>> > >>>>>> The number given has always been 754, but that has drifted > upwards > >>>>>> to > >>>>>> > >>>>>>> over 1,000 in later versions. I posted all the counts a few years > >>>>>>> back. > >>>>>>> > >>>>>>> Jim > >>>>>>> > >>>>>>> Sent from my iPhone > >>>>>>> > >>>>>>> On Mar 3, 2015, at 6:45 PM, Charlotte Foust < > >>>>>>> charlotte.foust at gmail.com> > >>>>>>> > >>>>>>> wrote: > >>>>>>>> It used to be in the documentation, but I haven't looked it up > >>>>>>>> recently > >>>>>>>> because it became moot after they introduced tab controls. > >>>>>>>> > >>>>>>>> Charlotte > >>>>>>>> > >>>>>>>> > >>>>>>>> -- > >>>>>>>> > >>>>>>> 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 > >>>> > >>>> > >> -- > >> 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at gmail.com Mon Mar 9 14:16:00 2015 From: jwcolby at gmail.com (John W. Colby) Date: Mon, 09 Mar 2015 15:16:00 -0400 Subject: [AccessD] Form corruption? In-Reply-To: References: <54F65420.4000005@gmail.com> <54FDCB9B.4080401@gmail.com> <54FDCF93.9010100@gmail.com> <54FDD8BA.2030107@gmail.com> <0D1F91C0258348C58046EDE48F83E11E@XPS> Message-ID: <54FDF170.8020806@gmail.com> If there are common sets of controls that need to be hidden and unhidden, I would use a tab control, selecting the tab to "unhide" the set of controls on that tab. John W. Colby On 3/9/2015 3:12 PM, Janet Erbach wrote: > Jim - > > The form is being saved each time after the objects are drawn. The next > time the app loads, all of the 'on-the-fly' objects are deleted, and then > re-drawn. > > I think I'm going to go with the unhide/hide method - I'd like this app to > be as straightforward as possible. > > On Mon, Mar 9, 2015 at 2:04 PM, Jim Dettman wrote: > >> That's the number I remember from a few years back as well for the last >> couple of releases. The number does seem to float a bit, but it's always >> right around the same number. >> >> I've never seen numbers along the lines Janet is seeing and the question I >> have there; Janet are you saving the form each time or no? >> >> And keep in mind that there are two basic work arounds for this: >> >> 1. Create the form from scratch each time. >> >> 2. Create all the controls you need, then unhide/hide as needed. >> >> Either may allow you to get the job done without a significant amount of >> re-writing. >> >> >> Jim. >> >> -----Original Message----- >> From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of >> John W. Colby >> Sent: Monday, March 09, 2015 01:31 PM >> To: Access Developers discussion and problem solving >> Subject: Re: [AccessD] Form corruption? >> >> nope. I just got that same 1040 number when programmatically creating >> recordset objects. >> >> John W. Colby >> >> On 3/9/2015 12:58 PM, Janet Erbach wrote: >>> Not in this test - I just made it very basic. Are you thinking I'll get >>> different results if I put heftier objects in? >>> >>> On Mon, Mar 9, 2015 at 11:51 AM, John W. Colby >> wrote: >>>> So these are not text box, combo box, list, radio button or check box >>>> controls? >>>> >>>> John W. Colby >>>> >>>> >>>> On 3/9/2015 12:43 PM, Janet Erbach wrote: >>>> >>>>> Garbage collectors, eh? Then why didn't they come for this app the >> moment >>>>> it hit the floor?? :) >>>>> >>>>> None of the objects I'm drawing are bound to anything in this test - >> just >>>>> rectangles with labels. And I just got as high as 30,159. But it >> doesn't >>>>> really matter; I can still make my point that this is an unstable >>>>> approach. >>>>> >>>>> On Mon, Mar 9, 2015 at 11:34 AM, John W. Colby >> wrote: >>>>> Thanks for doing that Janet. >>>>>> I suspect that this has to do with instances of DAO recordsets. I >> have >>>>>> never tested controls per se but I did once test DAO recordsets and >> came >>>>>> up >>>>>> with that same number. I would bet that if you tested with non data >>>>>> aware >>>>>> controls you would find entirely (and larger) numbers. Things like >>>>>> labels >>>>>> and lines etc. >>>>>> >>>>>> I am guessing that there is some sort of garbage collection process >> that >>>>>> is scavenging the dao pointers, which allows the different numbers you >>>>>> are >>>>>> seeing. >>>>>> >>>>>> John W. Colby >>>>>> >>>>>> >>>>>> On 3/9/2015 11:29 AM, Janet Erbach wrote: >>>>>> >>>>>> And I am doing that very test right now. With interesting results, >> too >>>>>>> - >>>>>>> inconsistent ones. >>>>>>> >>>>>>> 1) When I run the test to draw objects on the form one right after >>>>>>> another, Access consistently chokes at object 1040. >>>>>>> >>>>>>> 2) After I delete those 1040 objects and start drawing again, Access >>>>>>> will >>>>>>> add another 1040 - a total of 2080 having been drawn to the form in >> all >>>>>>> - >>>>>>> before it chokes. >>>>>>> >>>>>>> 3) If I draw in 'batches' - add 500, delete 500, add 500 more - I >> can >>>>>>> keep >>>>>>> going for a long time. (This is with saving the form, closing it >> down, >>>>>>> and >>>>>>> re-opening it after each batch.) I got up to a total count 20,000 >> some >>>>>>> objects that had been drawn to the form over it's 'life time' before >>>>>>> access >>>>>>> gave up. >>>>>>> >>>>>>> 4) I started playing with drawing objects in different batch sizes. >> I >>>>>>> just now ran a few batches of 500, then ran one of 2,000, then upped >> it >>>>>>> to >>>>>>> 5,000 . Access choked after drawing a total of 6120 objects. >>>>>>> >>>>>>> So it seems that Access is inconsistent in it's response to how many >>>>>>> objects have been drawn, deleted, and re-drawn on the form over the >>>>>>> course >>>>>>> of it's lifetime. Which is the ammo I need to bring to my boss when >> I >>>>>>> tell >>>>>>> him the whole form handling routine has to be re-written. >>>>>>> >>>>>>> Janet >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Tue, Mar 3, 2015 at 6:38 PM, John W. Colby >>>>>>> wrote: >>>>>>> >>>>>>> It sounds like it's time for Janet to do a test! >>>>>>> >>>>>>>> ;) >>>>>>>> >>>>>>>> John W. Colby >>>>>>>> >>>>>>>> On 3/3/2015 7:35 PM, Jim Dettman wrote: >>>>>>>> >>>>>>>> The number given has always been 754, but that has drifted >> upwards >>>>>>>> to >>>>>>>> >>>>>>>>> over 1,000 in later versions. I posted all the counts a few years >>>>>>>>> back. >>>>>>>>> >>>>>>>>> Jim >>>>>>>>> >>>>>>>>> Sent from my iPhone >>>>>>>>> >>>>>>>>> On Mar 3, 2015, at 6:45 PM, Charlotte Foust < >>>>>>>>> charlotte.foust at gmail.com> >>>>>>>>> >>>>>>>>> wrote: >>>>>>>>>> It used to be in the documentation, but I haven't looked it up >>>>>>>>>> recently >>>>>>>>>> because it became moot after they introduced tab controls. >>>>>>>>>> >>>>>>>>>> Charlotte >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> >>>>>>>>> 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 >>>>>> >>>>>> >>>> -- >>>> 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 >> >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> From jerbach.db at gmail.com Tue Mar 10 09:24:27 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Tue, 10 Mar 2015 09:24:27 -0500 Subject: [AccessD] Automatic Update Function In-Reply-To: References: Message-ID: David - I'm re-visiting your code because I'm having some problems with the vb script I downloaded from ThatllDoIt.com. I know VERY little about vb - I can understand the code, but that's about it. Your script is VB.Net - what is the difference between that and a vbs script? Thanks. Janet On Tue, Mar 3, 2015 at 12:31 PM, David McAfee wrote: > Here's the old, VB.net version that I used for years (I also have a C# > version if you prefer that) > > I basically name an .mdb/.adp something like MyDatabase126.mdb > I create a text file and save it as the appName.ini (not .txt) > > I create two lines in the ini file: > > LatestVersion:MyDatabase126.mdb > DeleteVersion:MyDatabase11*.mdb > > > They launch the exe, which cecks to see if they already have the latest > version on their computer, if not, copy it over. > I use the wild card * on the delete version (rather than MyDatabase125.mdb) > because a user might be out for a week or two and maybe you had several > versions released. > > If you always want to copy the file over rather than check if the file is > different, comment the third IF statement. > > It makes it real nice at work to deploy an adp/mdb to a user, even a new > user. > Just copy the .exe to their desktop and let them run it. > > It also keeps the honest people honest. They are launching an exe, not an > mdb, so there isn't an mdb they can copy. > If you have an icon for the exe, a splash screen for the mdb and do the > shift start prevention, they might not even know that they are running an > access mdb. > It copies the mdb over to their local app data folder, so unless they know > where to look, they won't find it. > As long as they have rights to the shared folder and don't have to have it > mapped, they wont know where the source files are. > They would need to have Access already installed. > > Anyway, here is my launcher: > > > > > Imports System.IO > Imports System.Environment > > Module Module1 > Sub Main() > Dim OldVersion As String = "" > Dim NewVersion As String = "" > Dim AppName As String = "" > Dim NetPath As String = > "\\YourServerNameHere\YourSharedFolderHere$\" + AppName + "\" > Dim iniFileName As String = AppName + ".ini" > Dim LocPath As String = > > System.Environment.GetFolderPath(SpecialFolder.LocalApplicationData).ToString > + "\YourCompanyNameHere\" + AppName + "\" > 'Open ini file and read it, to get new version name: > Dim oRead As System.IO.StreamReader > Dim LineIn As String > oRead = File.OpenText(NetPath + iniFileName) > While oRead.Peek <> -1 > LineIn = oRead.ReadLine() > If Left(LineIn, 14) = "LatestVersion:" Then > NewVersion = Right(LineIn, LineIn.Length - 14) > ElseIf Left(LineIn, 14) = "DeleteVersion:" Then > OldVersion = Right(LineIn, LineIn.Length - 14) > Else > LineIn = "" > End If > End While > oRead.Close() > > If Directory.Exists(NetPath) Then 'If the network path exists, > continue with the local path checks > If Directory.Exists(LocPath) Then 'if the local path exists > then check for the actual file > If Not File.Exists(LocPath + NewVersion) Then 'Check to see > if the new file is already installed > File.Copy(NetPath + NewVersion, LocPath + NewVersion) > 'If NOT, copy the file :) > End If > Else 'Directory did not exist, so create it and copy new file > over > Directory.CreateDirectory(LocPath) > File.Copy(NetPath + NewVersion, LocPath + NewVersion) > End If > > 'If the new file exists on local computer, start the new > version on the local PC > 'The IF statement is just added security, there really > shouldn't be a reason for it not to exist at this point > If File.Exists(LocPath + NewVersion) Then > System.Diagnostics.Process.Start(LocPath + NewVersion) > 'Start the file > > If OldVersion <> "" Then 'Delete old file(s) > For Each FileFound As String In > Directory.GetFiles(LocPath, OldVersion) > File.Delete(FileFound) > Next > End If > Else > 'If not found, alert the user > MsgBox("Cannot find " & LocPath & NewVersion & ".", > vbOKOnly, "unable to start " + AppName) > End If > > > Else 'The network path was unavailable, so alert the user > MsgBox("Network path: " + NetPath + " is unavailable", , > "Unable to start " + AppName) > End If > End Sub > End Module > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From davidmcafee at gmail.com Tue Mar 10 11:53:02 2015 From: davidmcafee at gmail.com (David McAfee) Date: Tue, 10 Mar 2015 09:53:02 -0700 Subject: [AccessD] Automatic Update Function In-Reply-To: References: Message-ID: I didn't see the VB script that was provided. The two are different languages. It's kind of like comparing Javascript to Java. VB script isn't a software that you install, like javascript it is a script that you write in something like notepad, it isn't compiled. VB.Net will require Visual Studio to compile the code into an executable that you can run. D On Tue, Mar 10, 2015 at 7:24 AM, Janet Erbach wrote: > David - > > I'm re-visiting your code because I'm having some problems with the vb > script I downloaded from ThatllDoIt.com. I know VERY little about vb - I > can understand the code, but that's about it. Your script is VB.Net - what > is the difference between that and a vbs script? > > Thanks. > > Janet > > On Tue, Mar 3, 2015 at 12:31 PM, David McAfee > wrote: > > > Here's the old, VB.net version that I used for years (I also have a C# > > version if you prefer that) > > > > I basically name an .mdb/.adp something like MyDatabase126.mdb > > I create a text file and save it as the appName.ini (not .txt) > > > > I create two lines in the ini file: > > > > LatestVersion:MyDatabase126.mdb > > DeleteVersion:MyDatabase11*.mdb > > > > > > They launch the exe, which cecks to see if they already have the latest > > version on their computer, if not, copy it over. > > I use the wild card * on the delete version (rather than > MyDatabase125.mdb) > > because a user might be out for a week or two and maybe you had several > > versions released. > > > > If you always want to copy the file over rather than check if the file is > > different, comment the third IF statement. > > > > It makes it real nice at work to deploy an adp/mdb to a user, even a new > > user. > > Just copy the .exe to their desktop and let them run it. > > > > It also keeps the honest people honest. They are launching an exe, not an > > mdb, so there isn't an mdb they can copy. > > If you have an icon for the exe, a splash screen for the mdb and do the > > shift start prevention, they might not even know that they are running an > > access mdb. > > It copies the mdb over to their local app data folder, so unless they > know > > where to look, they won't find it. > > As long as they have rights to the shared folder and don't have to have > it > > mapped, they wont know where the source files are. > > They would need to have Access already installed. > > > > Anyway, here is my launcher: > > > > > > > > > > Imports System.IO > > Imports System.Environment > > > > Module Module1 > > Sub Main() > > Dim OldVersion As String = "" > > Dim NewVersion As String = "" > > Dim AppName As String = "" > > Dim NetPath As String = > > "\\YourServerNameHere\YourSharedFolderHere$\" + AppName + "\" > > Dim iniFileName As String = AppName + ".ini" > > Dim LocPath As String = > > > > > System.Environment.GetFolderPath(SpecialFolder.LocalApplicationData).ToString > > + "\YourCompanyNameHere\" + AppName + "\" > > 'Open ini file and read it, to get new version name: > > Dim oRead As System.IO.StreamReader > > Dim LineIn As String > > oRead = File.OpenText(NetPath + iniFileName) > > While oRead.Peek <> -1 > > LineIn = oRead.ReadLine() > > If Left(LineIn, 14) = "LatestVersion:" Then > > NewVersion = Right(LineIn, LineIn.Length - 14) > > ElseIf Left(LineIn, 14) = "DeleteVersion:" Then > > OldVersion = Right(LineIn, LineIn.Length - 14) > > Else > > LineIn = "" > > End If > > End While > > oRead.Close() > > > > If Directory.Exists(NetPath) Then 'If the network path exists, > > continue with the local path checks > > If Directory.Exists(LocPath) Then 'if the local path exists > > then check for the actual file > > If Not File.Exists(LocPath + NewVersion) Then 'Check to > see > > if the new file is already installed > > File.Copy(NetPath + NewVersion, LocPath + NewVersion) > > 'If NOT, copy the file :) > > End If > > Else 'Directory did not exist, so create it and copy new file > > over > > Directory.CreateDirectory(LocPath) > > File.Copy(NetPath + NewVersion, LocPath + NewVersion) > > End If > > > > 'If the new file exists on local computer, start the new > > version on the local PC > > 'The IF statement is just added security, there really > > shouldn't be a reason for it not to exist at this point > > If File.Exists(LocPath + NewVersion) Then > > System.Diagnostics.Process.Start(LocPath + NewVersion) > > 'Start the file > > > > If OldVersion <> "" Then 'Delete old file(s) > > For Each FileFound As String In > > Directory.GetFiles(LocPath, OldVersion) > > File.Delete(FileFound) > > Next > > End If > > Else > > 'If not found, alert the user > > MsgBox("Cannot find " & LocPath & NewVersion & ".", > > vbOKOnly, "unable to start " + AppName) > > End If > > > > > > Else 'The network path was unavailable, so alert the user > > MsgBox("Network path: " + NetPath + " is unavailable", , > > "Unable to start " + AppName) > > End If > > End Sub > > End Module > > -- > > 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 > From jerbach.db at gmail.com Tue Mar 10 11:58:03 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Tue, 10 Mar 2015 11:58:03 -0500 Subject: [AccessD] Automatic Update Function In-Reply-To: References: Message-ID: Ok. Thank you. I'm side tracked again by corruption issues, so will re-visit the FE Update issue again when I have time to study. On Tue, Mar 10, 2015 at 11:53 AM, David McAfee wrote: > I didn't see the VB script that was provided. > > The two are different languages. > > It's kind of like comparing Javascript to Java. > > VB script isn't a software that you install, like javascript it is a script > that you write in something like notepad, it isn't compiled. > > VB.Net will require Visual Studio to compile the code into an executable > that you can run. > > D > > On Tue, Mar 10, 2015 at 7:24 AM, Janet Erbach > wrote: > > > David - > > > > I'm re-visiting your code because I'm having some problems with the vb > > script I downloaded from ThatllDoIt.com. I know VERY little about vb - I > > can understand the code, but that's about it. Your script is VB.Net - > what > > is the difference between that and a vbs script? > > > > Thanks. > > > > Janet > > > > On Tue, Mar 3, 2015 at 12:31 PM, David McAfee > > wrote: > > > > > Here's the old, VB.net version that I used for years (I also have a C# > > > version if you prefer that) > > > > > > I basically name an .mdb/.adp something like MyDatabase126.mdb > > > I create a text file and save it as the appName.ini (not .txt) > > > > > > I create two lines in the ini file: > > > > > > LatestVersion:MyDatabase126.mdb > > > DeleteVersion:MyDatabase11*.mdb > > > > > > > > > They launch the exe, which cecks to see if they already have the latest > > > version on their computer, if not, copy it over. > > > I use the wild card * on the delete version (rather than > > MyDatabase125.mdb) > > > because a user might be out for a week or two and maybe you had several > > > versions released. > > > > > > If you always want to copy the file over rather than check if the file > is > > > different, comment the third IF statement. > > > > > > It makes it real nice at work to deploy an adp/mdb to a user, even a > new > > > user. > > > Just copy the .exe to their desktop and let them run it. > > > > > > It also keeps the honest people honest. They are launching an exe, not > an > > > mdb, so there isn't an mdb they can copy. > > > If you have an icon for the exe, a splash screen for the mdb and do the > > > shift start prevention, they might not even know that they are running > an > > > access mdb. > > > It copies the mdb over to their local app data folder, so unless they > > know > > > where to look, they won't find it. > > > As long as they have rights to the shared folder and don't have to have > > it > > > mapped, they wont know where the source files are. > > > They would need to have Access already installed. > > > > > > Anyway, here is my launcher: > > > > > > > > > > > > > > > Imports System.IO > > > Imports System.Environment > > > > > > Module Module1 > > > Sub Main() > > > Dim OldVersion As String = "" > > > Dim NewVersion As String = "" > > > Dim AppName As String = "" > > > Dim NetPath As String = > > > "\\YourServerNameHere\YourSharedFolderHere$\" + AppName + "\" > > > Dim iniFileName As String = AppName + ".ini" > > > Dim LocPath As String = > > > > > > > > > System.Environment.GetFolderPath(SpecialFolder.LocalApplicationData).ToString > > > + "\YourCompanyNameHere\" + AppName + "\" > > > 'Open ini file and read it, to get new version name: > > > Dim oRead As System.IO.StreamReader > > > Dim LineIn As String > > > oRead = File.OpenText(NetPath + iniFileName) > > > While oRead.Peek <> -1 > > > LineIn = oRead.ReadLine() > > > If Left(LineIn, 14) = "LatestVersion:" Then > > > NewVersion = Right(LineIn, LineIn.Length - 14) > > > ElseIf Left(LineIn, 14) = "DeleteVersion:" Then > > > OldVersion = Right(LineIn, LineIn.Length - 14) > > > Else > > > LineIn = "" > > > End If > > > End While > > > oRead.Close() > > > > > > If Directory.Exists(NetPath) Then 'If the network path exists, > > > continue with the local path checks > > > If Directory.Exists(LocPath) Then 'if the local path exists > > > then check for the actual file > > > If Not File.Exists(LocPath + NewVersion) Then 'Check to > > see > > > if the new file is already installed > > > File.Copy(NetPath + NewVersion, LocPath + > NewVersion) > > > 'If NOT, copy the file :) > > > End If > > > Else 'Directory did not exist, so create it and copy new > file > > > over > > > Directory.CreateDirectory(LocPath) > > > File.Copy(NetPath + NewVersion, LocPath + NewVersion) > > > End If > > > > > > 'If the new file exists on local computer, start the new > > > version on the local PC > > > 'The IF statement is just added security, there really > > > shouldn't be a reason for it not to exist at this point > > > If File.Exists(LocPath + NewVersion) Then > > > System.Diagnostics.Process.Start(LocPath + NewVersion) > > > 'Start the file > > > > > > If OldVersion <> "" Then 'Delete old file(s) > > > For Each FileFound As String In > > > Directory.GetFiles(LocPath, OldVersion) > > > File.Delete(FileFound) > > > Next > > > End If > > > Else > > > 'If not found, alert the user > > > MsgBox("Cannot find " & LocPath & NewVersion & ".", > > > vbOKOnly, "unable to start " + AppName) > > > End If > > > > > > > > > Else 'The network path was unavailable, so alert the user > > > MsgBox("Network path: " + NetPath + " is unavailable", , > > > "Unable to start " + AppName) > > > End If > > > End Sub > > > End Module > > > -- > > > 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 > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From bensonforums at gmail.com Wed Mar 11 14:21:39 2015 From: bensonforums at gmail.com (Bill Benson) Date: Wed, 11 Mar 2015 15:21:39 -0400 Subject: [AccessD] Detached event procedures In-Reply-To: <1425744492683.75104@cactus.dk> References: <1425739161000.90739@cactus.dk> <1425744492683.75104@cactus.dk> Message-ID: 50 + events? Class modules anyone?! On Sat, Mar 7, 2015 at 11:08 AM, Gustav Brock wrote: > Hi Dan > > Yes, that works but - facing 50+ events - I looked for a less tedious > procedure. > > /gustav > > ________________________________________ > Fra: accessd-bounces at databaseadvisors.com < > accessd-bounces at databaseadvisors.com> p? vegne af Dan Waters < > df.waters at outlook.com> > Sendt: 7. marts 2015 17:02 > Til: 'Access Developers discussion and problem solving' > Emne: Re: [AccessD] Detached event procedures > > Hi Gustav, > > After you paste the control onto the tab form, you can open the property > sheet for the control, select the Event tab, and then select Event > Procedure > for the event in question. If the procedure has its default name, then > they > should be hooked up. > > Sometimes my controls get 'unhooked' and that works for me. > > HTH! > Dan > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock > Sent: Saturday, March 07, 2015 8:39 AM > To: Access Developers discussion and problem solving > Subject: [AccessD] Detached event procedures > > ?Hi all > > > If you on a form decide to move some controls into a tab control, you > normally do a cut and paste of these controls - from the form into a page > of > the tab control. > > Then all the events of the controls get cleared; the [Event Procedure] > markings are gone and the code behind is detached though still present. > > > To restore these settings, open the code module of the form: > > > 1. Mark all code with Ctrl+A > > 2. Cut it away with Ctrl-X > > 3. Select menu Debug, Compile > > 4. Paste all the code back into the empty module with Ctrl-V > > 5. Select Debug, Compile > > > Now your event procedures are hooked up again. > > > I knew of this little trick but had forgotten the details and found it here > after much searching: > > > http://bytes.com/topic/access/answers/632851-detached-event-procedures > > > /gustav > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From bensonforums at gmail.com Wed Mar 11 14:37:30 2015 From: bensonforums at gmail.com (Bill Benson) Date: Wed, 11 Mar 2015 15:37:30 -0400 Subject: [AccessD] Detached event procedures In-Reply-To: <1425739161000.90739@cactus.dk> References: <1425739161000.90739@cactus.dk> Message-ID: Like! cheers for Gustav. On Sat, Mar 7, 2015 at 9:39 AM, Gustav Brock wrote: > ?Hi all > > > If you on a form decide to move some controls into a tab control, you > normally do a cut and paste of these controls - from the form into a page > of the tab control. > > Then all the events of the controls get cleared; the [Event Procedure] > markings are gone and the code behind is detached though still present. > > > To restore these settings, open the code module of the form: > > > 1. Mark all code with Ctrl+A > > 2. Cut it away with Ctrl-X > > 3. Select menu Debug, Compile > > 4. Paste all the code back into the empty module with Ctrl-V > > 5. Select Debug, Compile > > > Now your event procedures are hooked up again. > > > I knew of this little trick but had forgotten the details and found it > here after much searching: > > > http://bytes.com/topic/access/answers/632851-detached-event-procedures > > > /gustav > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at gmail.com Wed Mar 11 14:56:23 2015 From: jwcolby at gmail.com (John W. Colby) Date: Wed, 11 Mar 2015 15:56:23 -0400 Subject: [AccessD] Detached event procedures In-Reply-To: References: <1425739161000.90739@cactus.dk> <1425744492683.75104@cactus.dk> Message-ID: <55009DE7.8090509@gmail.com> ROTFL. I second that! John W. Colby On 3/11/2015 3:21 PM, Bill Benson wrote: > 50 + events? Class modules anyone?! > > On Sat, Mar 7, 2015 at 11:08 AM, Gustav Brock wrote: > >> Hi Dan >> >> Yes, that works but - facing 50+ events - I looked for a less tedious >> procedure. >> >> /gustav >> >> ________________________________________ >> Fra: accessd-bounces at databaseadvisors.com < >> accessd-bounces at databaseadvisors.com> p? vegne af Dan Waters < >> df.waters at outlook.com> >> Sendt: 7. marts 2015 17:02 >> Til: 'Access Developers discussion and problem solving' >> Emne: Re: [AccessD] Detached event procedures >> >> Hi Gustav, >> >> After you paste the control onto the tab form, you can open the property >> sheet for the control, select the Event tab, and then select Event >> Procedure >> for the event in question. If the procedure has its default name, then >> they >> should be hooked up. >> >> Sometimes my controls get 'unhooked' and that works for me. >> >> HTH! >> Dan >> >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock >> Sent: Saturday, March 07, 2015 8:39 AM >> To: Access Developers discussion and problem solving >> Subject: [AccessD] Detached event procedures >> >> ?Hi all >> >> >> If you on a form decide to move some controls into a tab control, you >> normally do a cut and paste of these controls - from the form into a page >> of >> the tab control. >> >> Then all the events of the controls get cleared; the [Event Procedure] >> markings are gone and the code behind is detached though still present. >> >> >> To restore these settings, open the code module of the form: >> >> >> 1. Mark all code with Ctrl+A >> >> 2. Cut it away with Ctrl-X >> >> 3. Select menu Debug, Compile >> >> 4. Paste all the code back into the empty module with Ctrl-V >> >> 5. Select Debug, Compile >> >> >> Now your event procedures are hooked up again. >> >> >> I knew of this little trick but had forgotten the details and found it here >> after much searching: >> >> >> http://bytes.com/topic/access/answers/632851-detached-event-procedures >> >> >> /gustav >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> From stuart at lexacorp.com.pg Thu Mar 12 02:18:34 2015 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Thu, 12 Mar 2015 17:18:34 +1000 Subject: [AccessD] Detached event procedures In-Reply-To: <55009DE7.8090509@gmail.com> References: <1425739161000.90739@cactus.dk>, , <55009DE7.8090509@gmail.com> Message-ID: <55013DCA.19065.3F89775E@stuart.lexacorp.com.pg> I knew you would :) -- Stuart On 11 Mar 2015 at 15:56, John W. Colby wrote: > ROTFL. I second that! > > John W. Colby > > On 3/11/2015 3:21 PM, Bill Benson wrote: > > 50 + events? Class modules anyone?! > > > > On Sat, Mar 7, 2015 at 11:08 AM, Gustav Brock > > wrote: > > > >> Hi Dan > >> > >> Yes, that works but - facing 50+ events - I looked for a less > >> tedious procedure. > >> > >> /gustav > >> > >> ________________________________________ > >> Fra: accessd-bounces at databaseadvisors.com < > >> accessd-bounces at databaseadvisors.com> p? vegne af Dan Waters < > >> df.waters at outlook.com> Sendt: 7. marts 2015 17:02 Til: 'Access > >> Developers discussion and problem solving' Emne: Re: [AccessD] > >> Detached event procedures > >> > >> Hi Gustav, > >> > >> After you paste the control onto the tab form, you can open the > >> property sheet for the control, select the Event tab, and then > >> select Event Procedure for the event in question. If the procedure > >> has its default name, then they should be hooked up. > >> > >> Sometimes my controls get 'unhooked' and that works for me. > >> > >> HTH! > >> Dan > >> > >> -----Original Message----- > >> From: accessd-bounces at databaseadvisors.com > >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav > >> Brock Sent: Saturday, March 07, 2015 8:39 AM To: Access Developers > >> discussion and problem solving Subject: [AccessD] Detached event > >> procedures > >> > >> ?Hi all > >> > >> > >> If you on a form decide to move some controls into a tab control, > >> you normally do a cut and paste of these controls - from the form > >> into a page of the tab control. > >> > >> Then all the events of the controls get cleared; the [Event > >> Procedure] markings are gone and the code behind is detached though > >> still present. > >> > >> > >> To restore these settings, open the code module of the form: > >> > >> > >> 1. Mark all code with Ctrl+A > >> > >> 2. Cut it away with Ctrl-X > >> > >> 3. Select menu Debug, Compile > >> > >> 4. Paste all the code back into the empty module with Ctrl-V > >> > >> 5. Select Debug, Compile > >> > >> > >> Now your event procedures are hooked up again. > >> > >> > >> I knew of this little trick but had forgotten the details and found > >> it here after much searching: > >> > >> > >> http://bytes.com/topic/access/answers/632851-detached-event-procedu > >> res > >> > >> > >> /gustav > >> -- > >> 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 From bensonforums at gmail.com Thu Mar 12 20:21:03 2015 From: bensonforums at gmail.com (Bill Benson) Date: Thu, 12 Mar 2015 21:21:03 -0400 Subject: [AccessD] Detached event procedures In-Reply-To: <55013DCA.19065.3F89775E@stuart.lexacorp.com.pg> References: <1425739161000.90739@cactus.dk> <55009DE7.8090509@gmail.com> <55013DCA.19065.3F89775E@stuart.lexacorp.com.pg> Message-ID: Me too. In fact really I said it because Hee'sssss Baaaaack! On Mar 12, 2015 3:20 AM, "Stuart McLachlan" wrote: > I knew you would :) > > -- > Stuart > > On 11 Mar 2015 at 15:56, John W. Colby wrote: > > > ROTFL. I second that! > > > > John W. Colby > > > > On 3/11/2015 3:21 PM, Bill Benson wrote: > > > 50 + events? Class modules anyone?! > > > > > > On Sat, Mar 7, 2015 at 11:08 AM, Gustav Brock > > > wrote: > > > > > >> Hi Dan > > >> > > >> Yes, that works but - facing 50+ events - I looked for a less > > >> tedious procedure. > > >> > > >> /gustav > > >> > > >> ________________________________________ > > >> Fra: accessd-bounces at databaseadvisors.com < > > >> accessd-bounces at databaseadvisors.com> p? vegne af Dan Waters < > > >> df.waters at outlook.com> Sendt: 7. marts 2015 17:02 Til: 'Access > > >> Developers discussion and problem solving' Emne: Re: [AccessD] > > >> Detached event procedures > > >> > > >> Hi Gustav, > > >> > > >> After you paste the control onto the tab form, you can open the > > >> property sheet for the control, select the Event tab, and then > > >> select Event Procedure for the event in question. If the procedure > > >> has its default name, then they should be hooked up. > > >> > > >> Sometimes my controls get 'unhooked' and that works for me. > > >> > > >> HTH! > > >> Dan > > >> > > >> -----Original Message----- > > >> From: accessd-bounces at databaseadvisors.com > > >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav > > >> Brock Sent: Saturday, March 07, 2015 8:39 AM To: Access Developers > > >> discussion and problem solving Subject: [AccessD] Detached event > > >> procedures > > >> > > >> ?Hi all > > >> > > >> > > >> If you on a form decide to move some controls into a tab control, > > >> you normally do a cut and paste of these controls - from the form > > >> into a page of the tab control. > > >> > > >> Then all the events of the controls get cleared; the [Event > > >> Procedure] markings are gone and the code behind is detached though > > >> still present. > > >> > > >> > > >> To restore these settings, open the code module of the form: > > >> > > >> > > >> 1. Mark all code with Ctrl+A > > >> > > >> 2. Cut it away with Ctrl-X > > >> > > >> 3. Select menu Debug, Compile > > >> > > >> 4. Paste all the code back into the empty module with Ctrl-V > > >> > > >> 5. Select Debug, Compile > > >> > > >> > > >> Now your event procedures are hooked up again. > > >> > > >> > > >> I knew of this little trick but had forgotten the details and found > > >> it here after much searching: > > >> > > >> > > >> http://bytes.com/topic/access/answers/632851-detached-event-procedu > > >> res > > >> > > >> > > >> /gustav > > >> -- > > >> 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 > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From charlotte.foust at gmail.com Fri Mar 13 12:16:28 2015 From: charlotte.foust at gmail.com (Charlotte Foust) Date: Fri, 13 Mar 2015 10:16:28 -0700 Subject: [AccessD] Composite Unique Key in 2010 Message-ID: I'm running into a problem I've never seen before. When I try to create a unique composite key, the options to check the unique property aren't available. This is on a client's machine running Windows 7 and Office 2010. I've never seen this behavior before and it's making me crazy. It isn't just one table either, it's all of them. These are new tables created in 2010 on the machine. It will allow me to create a composite Primary key, but not a composite unique key. Has anyone run into this before? I haven't in 20+ years of Access, so I'm baffled. It's defaulted to a 2007 accdb format if that makes a difference. Charlotte From davidmcafee at gmail.com Fri Mar 13 12:29:15 2015 From: davidmcafee at gmail.com (David McAfee) Date: Fri, 13 Mar 2015 10:29:15 -0700 Subject: [AccessD] Composite Unique Key in 2010 In-Reply-To: References: Message-ID: That's because you SHOULD be using an autonumber Primary key ;P Sorry, I just had to... it's Friday :) On Fri, Mar 13, 2015 at 10:16 AM, Charlotte Foust wrote: > I'm running into a problem I've never seen before. When I try to create a > unique composite key, the options to check the unique property aren't > available. This is on a client's machine running Windows 7 and Office > 2010. I've never seen this behavior before and it's making me crazy. It > isn't just one table either, it's all of them. These are new tables > created in 2010 on the machine. It will allow me to create a composite > Primary key, but not a composite unique key. Has anyone run into this > before? I haven't in 20+ years of Access, so I'm baffled. It's defaulted > to a 2007 accdb format if that makes a difference. > > Charlotte > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From garykjos at gmail.com Fri Mar 13 12:37:40 2015 From: garykjos at gmail.com (Gary Kjos) Date: Fri, 13 Mar 2015 12:37:40 -0500 Subject: [AccessD] Composite Unique Key in 2010 In-Reply-To: References: Message-ID: I don't have a 2010 machine here at the office but it does seem to work in 2013. Are the properties just not visible at all? Or do they not allow changes? In 2013 if you are not positioned on the first of the fields in the multiple fields indixt - the one with the NAME of the index in it, the properties "Primary", "Unique", and "Ignore Nulls" go away but if I click in the row with the name they come back and allow me to change them. On Fri, Mar 13, 2015 at 12:29 PM, David McAfee wrote: > > > That's because you SHOULD be using an autonumber Primary key ;P > > > > Sorry, I just had to... it's Friday :) > > On Fri, Mar 13, 2015 at 10:16 AM, Charlotte Foust > wrote: > >> I'm running into a problem I've never seen before. When I try to create a >> unique composite key, the options to check the unique property aren't >> available. This is on a client's machine running Windows 7 and Office >> 2010. I've never seen this behavior before and it's making me crazy. It >> isn't just one table either, it's all of them. These are new tables >> created in 2010 on the machine. It will allow me to create a composite >> Primary key, but not a composite unique key. Has anyone run into this >> before? I haven't in 20+ years of Access, so I'm baffled. It's defaulted >> to a 2007 accdb format if that makes a difference. >> >> Charlotte >> -- >> 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 -- Gary Kjos garykjos at gmail.com From jwcolby at gmail.com Fri Mar 13 12:43:12 2015 From: jwcolby at gmail.com (John W. Colby) Date: Fri, 13 Mar 2015 13:43:12 -0400 Subject: [AccessD] Composite Unique Key in 2010 In-Reply-To: References: Message-ID: <550321B0.5050604@gmail.com> LOL. John W. Colby On 3/13/2015 1:29 PM, David McAfee wrote: > > > That's because you SHOULD be using an autonumber Primary key ;P > > > > Sorry, I just had to... it's Friday :) > > On Fri, Mar 13, 2015 at 10:16 AM, Charlotte Foust > wrote: >> I'm running into a problem I've never seen before. When I try to create a >> unique composite key, the options to check the unique property aren't >> available. This is on a client's machine running Windows 7 and Office >> 2010. I've never seen this behavior before and it's making me crazy. It >> isn't just one table either, it's all of them. These are new tables >> created in 2010 on the machine. It will allow me to create a composite >> Primary key, but not a composite unique key. Has anyone run into this >> before? I haven't in 20+ years of Access, so I'm baffled. It's defaulted >> to a 2007 accdb format if that makes a difference. >> >> Charlotte >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> From charlotte.foust at gmail.com Fri Mar 13 12:45:03 2015 From: charlotte.foust at gmail.com (Charlotte Foust) Date: Fri, 13 Mar 2015 10:45:03 -0700 Subject: [AccessD] Composite Unique Key in 2010 In-Reply-To: References: Message-ID: @David, I always use autonumber PKs. In this case, when you try to create a composite unique key--and yes, I know well how to create them--you can set up the composite key, but the options to set the Primary, Unique, and Ignore Nulls are grayed out, even for the Primary key when it's compound. It has to be something in the way their Access is set up, and this was migrated (by me) from 2003 mdb to 2010 accdb. I've never encountered this in other 2010 setups, so I'm baffled. Charlotte On Fri, Mar 13, 2015 at 10:37 AM, Gary Kjos wrote: > I don't have a 2010 machine here at the office but it does seem to > work in 2013. Are the properties just not visible at all? Or do they > not allow changes? In 2013 if you are not positioned on the first of > the fields in the multiple fields indixt - the one with the NAME of > the index in it, the properties "Primary", "Unique", and "Ignore > Nulls" go away but if I click in the row with the name they come back > and allow me to change them. > > On Fri, Mar 13, 2015 at 12:29 PM, David McAfee > wrote: > > > > > > That's because you SHOULD be using an autonumber Primary key ;P > > > > > > > > Sorry, I just had to... it's Friday :) > > > > On Fri, Mar 13, 2015 at 10:16 AM, Charlotte Foust < > charlotte.foust at gmail.com > >> wrote: > > > >> I'm running into a problem I've never seen before. When I try to > create a > >> unique composite key, the options to check the unique property aren't > >> available. This is on a client's machine running Windows 7 and Office > >> 2010. I've never seen this behavior before and it's making me crazy. > It > >> isn't just one table either, it's all of them. These are new tables > >> created in 2010 on the machine. It will allow me to create a composite > >> Primary key, but not a composite unique key. Has anyone run into this > >> before? I haven't in 20+ years of Access, so I'm baffled. It's > defaulted > >> to a 2007 accdb format if that makes a difference. > >> > >> Charlotte > >> -- > >> 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 > > > > -- > Gary Kjos > garykjos at gmail.com > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From ssharkins at gmail.com Fri Mar 13 12:46:44 2015 From: ssharkins at gmail.com (Susan Harkins) Date: Fri, 13 Mar 2015 13:46:44 -0400 Subject: [AccessD] Composite Unique Key in 2010 In-Reply-To: References: Message-ID: Charlotte... I wish I could remember the particulars on this, but I remember a situation where properties didn't appear to be available because of the size of the dialog! Instead of shriking everything accordingly, it just didn't display the properties. Probably not your problem, but thought I'd mention it. Susan H. On Fri, Mar 13, 2015 at 1:29 PM, David McAfee wrote: > > > That's because you SHOULD be using an autonumber Primary key ;P > > > > Sorry, I just had to... it's Friday :) > > On Fri, Mar 13, 2015 at 10:16 AM, Charlotte Foust < > charlotte.foust at gmail.com > > wrote: > > > I'm running into a problem I've never seen before. When I try to create > a > > unique composite key, the options to check the unique property aren't > > available. This is on a client's machine running Windows 7 and Office > > 2010. I've never seen this behavior before and it's making me crazy. It > > isn't just one table either, it's all of them. These are new tables > > created in 2010 on the machine. It will allow me to create a composite > > Primary key, but not a composite unique key. Has anyone run into this > > before? I haven't in 20+ years of Access, so I'm baffled. It's > defaulted > > to a 2007 accdb format if that makes a difference. > > > > Charlotte > > -- > > 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 > From charlotte.foust at gmail.com Fri Mar 13 13:48:18 2015 From: charlotte.foust at gmail.com (Charlotte Foust) Date: Fri, 13 Mar 2015 11:48:18 -0700 Subject: [AccessD] Composite Unique Key in 2010 In-Reply-To: References: Message-ID: Susan, that's an interesting thought. I do have my display set to 125%. I'll try setting it back to 100% and see if that changes anything. Thanks, Charlotte On Fri, Mar 13, 2015 at 10:46 AM, Susan Harkins wrote: > Charlotte... I wish I could remember the particulars on this, but I > remember a situation where properties didn't appear to be available because > of the size of the dialog! Instead of shriking everything accordingly, it > just didn't display the properties. Probably not your problem, but thought > I'd mention it. > > Susan H. > > On Fri, Mar 13, 2015 at 1:29 PM, David McAfee > wrote: > > > > > > > That's because you SHOULD be using an autonumber Primary key ;P > > > > > > > > Sorry, I just had to... it's Friday :) > > > > On Fri, Mar 13, 2015 at 10:16 AM, Charlotte Foust < > > charlotte.foust at gmail.com > > > wrote: > > > > > I'm running into a problem I've never seen before. When I try to > create > > a > > > unique composite key, the options to check the unique property aren't > > > available. This is on a client's machine running Windows 7 and Office > > > 2010. I've never seen this behavior before and it's making me crazy. > It > > > isn't just one table either, it's all of them. These are new tables > > > created in 2010 on the machine. It will allow me to create a composite > > > Primary key, but not a composite unique key. Has anyone run into this > > > before? I haven't in 20+ years of Access, so I'm baffled. It's > > defaulted > > > to a 2007 accdb format if that makes a difference. > > > > > > Charlotte > > > -- > > > 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 > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From charlotte.foust at gmail.com Fri Mar 13 13:52:49 2015 From: charlotte.foust at gmail.com (Charlotte Foust) Date: Fri, 13 Mar 2015 11:52:49 -0700 Subject: [AccessD] Composite Unique Key in 2010 In-Reply-To: References: Message-ID: Susan, you nailed it. Heaven knows why Access decided to mash the dialog box together like that. That was certainly no need, but there we are. Charlotte On Fri, Mar 13, 2015 at 11:48 AM, Charlotte Foust wrote: > Susan, that's an interesting thought. I do have my display set to 125%. > I'll try setting it back to 100% and see if that changes anything. > > Thanks, > Charlotte > > On Fri, Mar 13, 2015 at 10:46 AM, Susan Harkins > wrote: > >> Charlotte... I wish I could remember the particulars on this, but I >> remember a situation where properties didn't appear to be available >> because >> of the size of the dialog! Instead of shriking everything accordingly, it >> just didn't display the properties. Probably not your problem, but thought >> I'd mention it. >> >> Susan H. >> >> On Fri, Mar 13, 2015 at 1:29 PM, David McAfee >> wrote: >> >> > >> > >> > That's because you SHOULD be using an autonumber Primary key ;P >> > >> > >> > >> > Sorry, I just had to... it's Friday :) >> > >> > On Fri, Mar 13, 2015 at 10:16 AM, Charlotte Foust < >> > charlotte.foust at gmail.com >> > > wrote: >> > >> > > I'm running into a problem I've never seen before. When I try to >> create >> > a >> > > unique composite key, the options to check the unique property aren't >> > > available. This is on a client's machine running Windows 7 and Office >> > > 2010. I've never seen this behavior before and it's making me >> crazy. It >> > > isn't just one table either, it's all of them. These are new tables >> > > created in 2010 on the machine. It will allow me to create a >> composite >> > > Primary key, but not a composite unique key. Has anyone run into this >> > > before? I haven't in 20+ years of Access, so I'm baffled. It's >> > defaulted >> > > to a 2007 accdb format if that makes a difference. >> > > >> > > Charlotte >> > > -- >> > > 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 >> > >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> > > From ssharkins at gmail.com Fri Mar 13 13:55:40 2015 From: ssharkins at gmail.com (Susan Harkins) Date: Fri, 13 Mar 2015 14:55:40 -0400 Subject: [AccessD] Composite Unique Key in 2010 In-Reply-To: References: Message-ID: You know, I almost didn't mention it! Thanks! Susan H. On Fri, Mar 13, 2015 at 2:52 PM, Charlotte Foust wrote: > Susan, you nailed it. Heaven knows why Access decided to mash the dialog > box together like that. That was certainly no need, but there we are. > > Charlotte > > On Fri, Mar 13, 2015 at 11:48 AM, Charlotte Foust < > charlotte.foust at gmail.com > > wrote: > > > Susan, that's an interesting thought. I do have my display set to 125%. > > I'll try setting it back to 100% and see if that changes anything. > > > > Thanks, > > Charlotte > > > > On Fri, Mar 13, 2015 at 10:46 AM, Susan Harkins > > wrote: > > > >> Charlotte... I wish I could remember the particulars on this, but I > >> remember a situation where properties didn't appear to be available > >> because > >> of the size of the dialog! Instead of shriking everything accordingly, > it > >> just didn't display the properties. Probably not your problem, but > thought > >> I'd mention it. > >> > >> Susan H. > >> > >> On Fri, Mar 13, 2015 at 1:29 PM, David McAfee > >> wrote: > >> > >> > > >> > > >> > That's because you SHOULD be using an autonumber Primary key ;P > >> > > >> > > >> > > >> > Sorry, I just had to... it's Friday :) > >> > > >> > On Fri, Mar 13, 2015 at 10:16 AM, Charlotte Foust < > >> > charlotte.foust at gmail.com > >> > > wrote: > >> > > >> > > I'm running into a problem I've never seen before. When I try to > >> create > >> > a > >> > > unique composite key, the options to check the unique property > aren't > >> > > available. This is on a client's machine running Windows 7 and > Office > >> > > 2010. I've never seen this behavior before and it's making me > >> crazy. It > >> > > isn't just one table either, it's all of them. These are new tables > >> > > created in 2010 on the machine. It will allow me to create a > >> composite > >> > > Primary key, but not a composite unique key. Has anyone run into > this > >> > > before? I haven't in 20+ years of Access, so I'm baffled. It's > >> > defaulted > >> > > to a 2007 accdb format if that makes a difference. > >> > > > >> > > Charlotte > >> > > -- > >> > > 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 > >> > > >> -- > >> 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 > From gustav at cactus.dk Fri Mar 13 14:05:30 2015 From: gustav at cactus.dk (Gustav Brock) Date: Fri, 13 Mar 2015 19:05:30 +0000 Subject: [AccessD] Composite Unique Key in 2010 Message-ID: Hi Susan I'm impressed. That was special. /gustav -----Oprindelig meddelelse----- Fra: AccessD [mailto:accessd-bounces at databaseadvisors.com] P? vegne af Susan Harkins Sendt: 13. marts 2015 19:56 Til: Access Developers discussion and problem solving Emne: Re: [AccessD] Composite Unique Key in 2010 You know, I almost didn't mention it! Thanks! Susan H. On Fri, Mar 13, 2015 at 2:52 PM, Charlotte Foust wrote: > Susan, you nailed it. Heaven knows why Access decided to mash the > dialog box together like that. That was certainly no need, but there we are. > > Charlotte > > On Fri, Mar 13, 2015 at 11:48 AM, Charlotte Foust < > charlotte.foust at gmail.com > > wrote: > > > Susan, that's an interesting thought. I do have my display set to 125%. > > I'll try setting it back to 100% and see if that changes anything. > > > > Thanks, > > Charlotte > > > > On Fri, Mar 13, 2015 at 10:46 AM, Susan Harkins > > > > wrote: > > > >> Charlotte... I wish I could remember the particulars on this, but I > >> remember a situation where properties didn't appear to be available > >> because of the size of the dialog! Instead of shriking everything accordingly, it > >> just didn't display the properties. Probably not your problem, but thought > >> I'd mention it. > >> > >> Susan H. > >> > >> On Fri, Mar 13, 2015 at 1:29 PM, David McAfee > >> > >> wrote: > >> > >> > > >> > > >> > That's because you SHOULD be using an autonumber Primary key > >> > ;P > >> > > >> > > >> > > >> > Sorry, I just had to... it's Friday :) > >> > > >> > On Fri, Mar 13, 2015 at 10:16 AM, Charlotte Foust < > >> > charlotte.foust at gmail.com wrote: > >> > > >> > > I'm running into a problem I've never seen before. When I try to create a > >> > > unique composite key, the options to check the unique property aren't > >> > > available. This is on a client's machine running Windows 7 and Office > >> > > 2010. I've never seen this behavior before and it's making me crazy. It > >> > > isn't just one table either, it's all of them. These are new > >> > > tables created in 2010 on the machine. It will allow me to create a composite > >> > > Primary key, but not a composite unique key. Has anyone run into this > >> > > before? I haven't in 20+ years of Access, so I'm baffled. > >> > > It's defaulted to a 2007 accdb format if that makes a difference. > >> > > > >> > > Charlotte From jwcolby at gmail.com Fri Mar 13 14:10:19 2015 From: jwcolby at gmail.com (John W. Colby) Date: Fri, 13 Mar 2015 15:10:19 -0400 Subject: [AccessD] Composite Unique Key in 2010 In-Reply-To: References: Message-ID: <5503361B.9090003@gmail.com> Way to go Susan!!! John W. Colby On 3/13/2015 2:52 PM, Charlotte Foust wrote: > Susan, you nailed it. Heaven knows why Access decided to mash the dialog > box together like that. That was certainly no need, but there we are. > > Charlotte > > On Fri, Mar 13, 2015 at 11:48 AM, Charlotte Foust > wrote: >> Susan, that's an interesting thought. I do have my display set to 125%. >> I'll try setting it back to 100% and see if that changes anything. >> >> Thanks, >> Charlotte >> >> On Fri, Mar 13, 2015 at 10:46 AM, Susan Harkins >> wrote: >> >>> Charlotte... I wish I could remember the particulars on this, but I >>> remember a situation where properties didn't appear to be available >>> because >>> of the size of the dialog! Instead of shriking everything accordingly, it >>> just didn't display the properties. Probably not your problem, but thought >>> I'd mention it. >>> >>> Susan H. >>> >>> On Fri, Mar 13, 2015 at 1:29 PM, David McAfee >>> wrote: >>> >>>> >>>> >>>> That's because you SHOULD be using an autonumber Primary key ;P >>>> >>>> >>>> >>>> Sorry, I just had to... it's Friday :) >>>> >>>> On Fri, Mar 13, 2015 at 10:16 AM, Charlotte Foust < >>>> charlotte.foust at gmail.com >>>>> wrote: >>>>> I'm running into a problem I've never seen before. When I try to >>> create >>>> a >>>>> unique composite key, the options to check the unique property aren't >>>>> available. This is on a client's machine running Windows 7 and Office >>>>> 2010. I've never seen this behavior before and it's making me >>> crazy. It >>>>> isn't just one table either, it's all of them. These are new tables >>>>> created in 2010 on the machine. It will allow me to create a >>> composite >>>>> Primary key, but not a composite unique key. Has anyone run into this >>>>> before? I haven't in 20+ years of Access, so I'm baffled. It's >>>> defaulted >>>>> to a 2007 accdb format if that makes a difference. >>>>> >>>>> Charlotte >>>>> -- >>>>> 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 >>>> >>> -- >>> AccessD mailing list >>> AccessD at databaseadvisors.com >>> http://databaseadvisors.com/mailman/listinfo/accessd >>> Website: http://www.databaseadvisors.com >>> >> From davidmcafee at gmail.com Fri Mar 13 14:11:26 2015 From: davidmcafee at gmail.com (David McAfee) Date: Fri, 13 Mar 2015 12:11:26 -0700 Subject: [AccessD] Composite Unique Key in 2010 In-Reply-To: References: Message-ID: that's awesome. Once you mentioned, I could remember you posting about it On Fri, Mar 13, 2015 at 11:55 AM, Susan Harkins wrote: > You know, I almost didn't mention it! > > Thanks! > Susan H. > > On Fri, Mar 13, 2015 at 2:52 PM, Charlotte Foust < > charlotte.foust at gmail.com> > wrote: > > > Susan, you nailed it. Heaven knows why Access decided to mash the dialog > > box together like that. That was certainly no need, but there we are. > > > > Charlotte > > > > On Fri, Mar 13, 2015 at 11:48 AM, Charlotte Foust < > > charlotte.foust at gmail.com > > > wrote: > > > > > Susan, that's an interesting thought. I do have my display set to > 125%. > > > I'll try setting it back to 100% and see if that changes anything. > > > > > > Thanks, > > > Charlotte > > > > > > On Fri, Mar 13, 2015 at 10:46 AM, Susan Harkins > > > wrote: > > > > > >> Charlotte... I wish I could remember the particulars on this, but I > > >> remember a situation where properties didn't appear to be available > > >> because > > >> of the size of the dialog! Instead of shriking everything accordingly, > > it > > >> just didn't display the properties. Probably not your problem, but > > thought > > >> I'd mention it. > > >> > > >> Susan H. > > >> > > >> On Fri, Mar 13, 2015 at 1:29 PM, David McAfee > > >> wrote: > > >> > > >> > > > >> > > > >> > That's because you SHOULD be using an autonumber Primary key ;P > > >> > > > >> > > > >> > > > >> > Sorry, I just had to... it's Friday :) > > >> > > > >> > On Fri, Mar 13, 2015 at 10:16 AM, Charlotte Foust < > > >> > charlotte.foust at gmail.com > > >> > > wrote: > > >> > > > >> > > I'm running into a problem I've never seen before. When I try to > > >> create > > >> > a > > >> > > unique composite key, the options to check the unique property > > aren't > > >> > > available. This is on a client's machine running Windows 7 and > > Office > > >> > > 2010. I've never seen this behavior before and it's making me > > >> crazy. It > > >> > > isn't just one table either, it's all of them. These are new > tables > > >> > > created in 2010 on the machine. It will allow me to create a > > >> composite > > >> > > Primary key, but not a composite unique key. Has anyone run into > > this > > >> > > before? I haven't in 20+ years of Access, so I'm baffled. It's > > >> > defaulted > > >> > > to a 2007 accdb format if that makes a difference. > > >> > > > > >> > > Charlotte > > >> > > -- > > >> > > 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 > > >> > > > >> -- > > >> 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 > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From garykjos at gmail.com Fri Mar 13 14:15:19 2015 From: garykjos at gmail.com (Gary Kjos) Date: Fri, 13 Mar 2015 14:15:19 -0500 Subject: [AccessD] Composite Unique Key in 2010 In-Reply-To: References: Message-ID: Woo hoo! We have some things at work using different tools that also don't work with zoomed browser settings. So glad you got the answer Charlotte! Good job Susan! GK On Fri, Mar 13, 2015 at 1:52 PM, Charlotte Foust wrote: > Susan, you nailed it. Heaven knows why Access decided to mash the dialog > box together like that. That was certainly no need, but there we are. > > Charlotte > > On Fri, Mar 13, 2015 at 11:48 AM, Charlotte Foust > wrote: > >> Susan, that's an interesting thought. I do have my display set to 125%. >> I'll try setting it back to 100% and see if that changes anything. >> >> Thanks, >> Charlotte >> >> On Fri, Mar 13, 2015 at 10:46 AM, Susan Harkins >> wrote: >> >>> Charlotte... I wish I could remember the particulars on this, but I >>> remember a situation where properties didn't appear to be available >>> because >>> of the size of the dialog! Instead of shriking everything accordingly, it >>> just didn't display the properties. Probably not your problem, but thought >>> I'd mention it. >>> >>> Susan H. -- Gary Kjos garykjos at gmail.com From ssharkins at gmail.com Fri Mar 13 14:28:52 2015 From: ssharkins at gmail.com (Susan Harkins) Date: Fri, 13 Mar 2015 15:28:52 -0400 Subject: [AccessD] Composite Unique Key in 2010 In-Reply-To: References: Message-ID: Gustav, I only know about it because I actually ran into it myself. I don't recall if I heard it on here or just figured it out for myself, so if I owe credit to someone, I'm not being selfish -- I just don't remember! :) Thanks! Susan H. On Fri, Mar 13, 2015 at 3:05 PM, Gustav Brock wrote: > Hi Susan > > I'm impressed. That was special. > > /gustav > > -----Oprindelig meddelelse----- > Fra: AccessD [mailto:accessd-bounces at databaseadvisors.com] P? vegne af > Susan Harkins > Sendt: 13. marts 2015 19:56 > Til: Access Developers discussion and problem solving > Emne: Re: [AccessD] Composite Unique Key in 2010 > > You know, I almost didn't mention it! > > Thanks! > Susan H. > > On Fri, Mar 13, 2015 at 2:52 PM, Charlotte Foust < > charlotte.foust at gmail.com> > wrote: > > > Susan, you nailed it. Heaven knows why Access decided to mash the > > dialog box together like that. That was certainly no need, but there > we are. > > > > Charlotte > > > > On Fri, Mar 13, 2015 at 11:48 AM, Charlotte Foust < > > charlotte.foust at gmail.com > > > wrote: > > > > > Susan, that's an interesting thought. I do have my display set to > 125%. > > > I'll try setting it back to 100% and see if that changes anything. > > > > > > Thanks, > > > Charlotte > > > > > > On Fri, Mar 13, 2015 at 10:46 AM, Susan Harkins > > > > > > wrote: > > > > > >> Charlotte... I wish I could remember the particulars on this, but I > > >> remember a situation where properties didn't appear to be available > > >> because of the size of the dialog! Instead of shriking everything > accordingly, it > > >> just didn't display the properties. Probably not your problem, but > thought > > >> I'd mention it. > > >> > > >> Susan H. > > >> > > >> On Fri, Mar 13, 2015 at 1:29 PM, David McAfee > > >> > > >> wrote: > > >> > > >> > > > >> > > > >> > That's because you SHOULD be using an autonumber Primary key > > >> > ;P > > >> > > > >> > > > >> > > > >> > Sorry, I just had to... it's Friday :) > > >> > > > >> > On Fri, Mar 13, 2015 at 10:16 AM, Charlotte Foust < > > >> > charlotte.foust at gmail.com wrote: > > >> > > > >> > > I'm running into a problem I've never seen before. When I try to > create a > > >> > > unique composite key, the options to check the unique property > aren't > > >> > > available. This is on a client's machine running Windows 7 and > Office > > >> > > 2010. I've never seen this behavior before and it's making me > crazy. It > > >> > > isn't just one table either, it's all of them. These are new > > >> > > tables created in 2010 on the machine. It will allow me to > create a composite > > >> > > Primary key, but not a composite unique key. Has anyone run into > this > > >> > > before? I haven't in 20+ years of Access, so I'm baffled. > > >> > > It's defaulted to a 2007 accdb format if that makes a difference. > > >> > > > > >> > > Charlotte > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at gmail.com Fri Mar 13 14:43:16 2015 From: jwcolby at gmail.com (John W. Colby) Date: Fri, 13 Mar 2015 15:43:16 -0400 Subject: [AccessD] Composite Unique Key in 2010 In-Reply-To: References: Message-ID: <55033DD4.3090209@gmail.com> In the end you remembered and (at my age anyway) that counts for a LOT!!! John W. Colby On 3/13/2015 3:28 PM, Susan Harkins wrote: > Gustav, I only know about it because I actually ran into it myself. I don't > recall if I heard it on here or just figured it out for myself, so if I owe > credit to someone, I'm not being selfish -- I just don't remember! :) > > Thanks! > Susan H. > > On Fri, Mar 13, 2015 at 3:05 PM, Gustav Brock wrote: > >> Hi Susan >> >> I'm impressed. That was special. >> >> /gustav >> >> -----Oprindelig meddelelse----- >> Fra: AccessD [mailto:accessd-bounces at databaseadvisors.com] P? vegne af >> Susan Harkins >> Sendt: 13. marts 2015 19:56 >> Til: Access Developers discussion and problem solving >> Emne: Re: [AccessD] Composite Unique Key in 2010 >> >> You know, I almost didn't mention it! >> >> Thanks! >> Susan H. >> >> On Fri, Mar 13, 2015 at 2:52 PM, Charlotte Foust < >> charlotte.foust at gmail.com> >> wrote: >> >>> Susan, you nailed it. Heaven knows why Access decided to mash the >>> dialog box together like that. That was certainly no need, but there >> we are. >>> Charlotte >>> >>> On Fri, Mar 13, 2015 at 11:48 AM, Charlotte Foust < >>> charlotte.foust at gmail.com >>>> wrote: >>>> Susan, that's an interesting thought. I do have my display set to >> 125%. >>>> I'll try setting it back to 100% and see if that changes anything. >>>> >>>> Thanks, >>>> Charlotte >>>> >>>> On Fri, Mar 13, 2015 at 10:46 AM, Susan Harkins >>>> >>>> wrote: >>>> >>>>> Charlotte... I wish I could remember the particulars on this, but I >>>>> remember a situation where properties didn't appear to be available >>>>> because of the size of the dialog! Instead of shriking everything >> accordingly, it >>>>> just didn't display the properties. Probably not your problem, but >> thought >>>>> I'd mention it. >>>>> >>>>> Susan H. >>>>> >>>>> On Fri, Mar 13, 2015 at 1:29 PM, David McAfee >>>>> >>>>> wrote: >>>>> >>>>>> >>>>>> >>>>>> That's because you SHOULD be using an autonumber Primary key >>>>>> ;P >>>>>> >>>>>> >>>>>> >>>>>> Sorry, I just had to... it's Friday :) >>>>>> >>>>>> On Fri, Mar 13, 2015 at 10:16 AM, Charlotte Foust < >>>>>> charlotte.foust at gmail.com wrote: >>>>>> >>>>>>> I'm running into a problem I've never seen before. When I try to >> create a >>>>>>> unique composite key, the options to check the unique property >> aren't >>>>>>> available. This is on a client's machine running Windows 7 and >> Office >>>>>>> 2010. I've never seen this behavior before and it's making me >> crazy. It >>>>>>> isn't just one table either, it's all of them. These are new >>>>>>> tables created in 2010 on the machine. It will allow me to >> create a composite >>>>>>> Primary key, but not a composite unique key. Has anyone run into >> this >>>>>>> before? I haven't in 20+ years of Access, so I'm baffled. >>>>>>> It's defaulted to a 2007 accdb format if that makes a difference. >>>>>>> >>>>>>> Charlotte >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> From ssharkins at gmail.com Fri Mar 13 15:24:38 2015 From: ssharkins at gmail.com (Susan Harkins) Date: Fri, 13 Mar 2015 16:24:38 -0400 Subject: [AccessD] Composite Unique Key in 2010 Message-ID: Mine too John. Mine too. Susan H. On Fri, Mar 13, 2015 at 3:43 PM, John W. Colby wrote: > In the end you remembered and (at my age anyway) that counts for a LOT!!! > > John W. Colby > > From davidmcafee at gmail.com Fri Mar 13 15:30:30 2015 From: davidmcafee at gmail.com (David McAfee) Date: Fri, 13 Mar 2015 13:30:30 -0700 Subject: [AccessD] Composite Unique Key in 2010 In-Reply-To: References: Message-ID: I'm happy if I remember why I walked into a room :) On Fri, Mar 13, 2015 at 1:24 PM, Susan Harkins wrote: > Mine too John. Mine too. > > Susan H. > > On Fri, Mar 13, 2015 at 3:43 PM, John W. Colby wrote: > > > In the end you remembered and (at my age anyway) that counts for a LOT!!! > > > > John W. Colby > > > > From jbodin at sbor.com Fri Mar 13 15:37:11 2015 From: jbodin at sbor.com (John Bodin) Date: Fri, 13 Mar 2015 20:37:11 +0000 Subject: [AccessD] Query Help Needed Message-ID: Stuck on this reporting scenario. I have service calls that are assigned to one or more technicians on a particular day. If the technician(s) cannot fix the problem on that day, he/they may get assigned again on a following day or another technician may get assigned. For the particular report, I only want to consider those technicians that were assigned to the call on the first day and exclude any other days the call may have been assigned. I'm trying to avoid writing out to a temp table and can't figure out the query for the report. Some sample data would be (I sorted by Call # in below example): Call # Date Assigned Technician 1234 03/01/2015 Jim 1234 03/01/2015 Tom 1234 03/03/2015 Jim 1234 03/03/2015 Steve 2222 03/01/2015 Bill 3333 03/02/2015 Mike 3333 03/04/2015 Ben Results of query I would like 1234 03/01/2015 Jim 1234 03/01/2015 Tom 2222 03/01/2015 Bill 3333 03/02/2015 Mike Thoughts? Thx. John From davidmcafee at gmail.com Fri Mar 13 15:44:53 2015 From: davidmcafee at gmail.com (David McAfee) Date: Fri, 13 Mar 2015 13:44:53 -0700 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: if the time is stored in the date assigned (using NOW() instead of DATE() ), you can use a min: If you're not storing the time, maybe do a min on the PKID (Warning Air code) SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, Min(DateAssigned) AS MinDate FROM YourTable GROUP BY CallNo) A INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = B.DateAssigned On Fri, Mar 13, 2015 at 1:37 PM, John Bodin wrote: > Stuck on this reporting scenario. I have service calls that are assigned > to one or more technicians on a particular day. If the technician(s) > cannot fix the problem on that day, he/they may get assigned again on a > following day or another technician may get assigned. For the particular > report, I only want to consider those technicians that were assigned to the > call on the first day and exclude any other days the call may have been > assigned. I'm trying to avoid writing out to a temp table and can't figure > out the query for the report. Some sample data would be (I sorted by Call > # in below example): > > Call # Date Assigned Technician > 1234 03/01/2015 Jim > 1234 03/01/2015 Tom > 1234 03/03/2015 Jim > 1234 03/03/2015 Steve > 2222 03/01/2015 Bill > 3333 03/02/2015 Mike > 3333 03/04/2015 Ben > > Results of query I would like > 1234 03/01/2015 Jim > 1234 03/01/2015 Tom > 2222 03/01/2015 Bill > 3333 03/02/2015 Mike > > Thoughts? Thx. > > John > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jbodin at sbor.com Fri Mar 13 16:11:51 2015 From: jbodin at sbor.com (John Bodin) Date: Fri, 13 Mar 2015 21:11:51 +0000 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: Hi David, I am storing the dates using the DATE() and not NOW() functions. I know it is "air code", but I'm a little confused as I tried substituting my actual table/field names in but I got a Syntax Error (missing operator): SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, Min(DateAssigned) AS MinDate FROM YourTable GROUP BY CallNo) A <========(on the letter A is where the cursor ends up) INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = B.DateAssigned Am I opening my table "tblCallsTechs" up twice in the query grid, assigning the alias of A to one of the tables and B to the other? So my partial query looks like: SELECT B.CallNo, B.AssignedDate, B.TechID FROM tblCallsTechs AS A INNER JOIN tblCallsTechs AS B ON A.CallNo = B.CallNo; The Select within the Select is something I've probably done once or twice in the past, but not sure how to get that to work. Thanks for quick response. John -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David McAfee Sent: Friday, March 13, 2015 4:45 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Query Help Needed if the time is stored in the date assigned (using NOW() instead of DATE() ), you can use a min: If you're not storing the time, maybe do a min on the PKID (Warning Air code) SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, Min(DateAssigned) AS MinDate FROM YourTable GROUP BY CallNo) A INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = B.DateAssigned On Fri, Mar 13, 2015 at 1:37 PM, John Bodin wrote: > Stuck on this reporting scenario. I have service calls that are > assigned to one or more technicians on a particular day. If the > technician(s) cannot fix the problem on that day, he/they may get > assigned again on a following day or another technician may get > assigned. For the particular report, I only want to consider those > technicians that were assigned to the call on the first day and > exclude any other days the call may have been assigned. I'm trying to > avoid writing out to a temp table and can't figure out the query for > the report. Some sample data would be (I sorted by Call # in below example): > > Call # Date Assigned Technician > 1234 03/01/2015 Jim > 1234 03/01/2015 Tom > 1234 03/03/2015 Jim > 1234 03/03/2015 Steve > 2222 03/01/2015 Bill > 3333 03/02/2015 Mike > 3333 03/04/2015 Ben > > Results of query I would like > 1234 03/01/2015 Jim > 1234 03/01/2015 Tom > 2222 03/01/2015 Bill > 3333 03/02/2015 Mike > > Thoughts? Thx. > > John > > > -- > 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 From ssharkins at gmail.com Fri Mar 13 16:40:04 2015 From: ssharkins at gmail.com (Susan Harkins) Date: Fri, 13 Mar 2015 17:40:04 -0400 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: I know GROUP BYs have some interesting rules, but I think -- and it's been so, so long -- but I think if you use an aggregate such as MAX() in that date field, it'll return the most recent date. Or, you could sort by the field and use a Top value property?????? Susan H. On Fri, Mar 13, 2015 at 5:11 PM, John Bodin wrote: > Hi David, I am storing the dates using the DATE() and not NOW() > functions. I know it is "air code", but I'm a little confused as I tried > substituting my actual table/field names in but I got a Syntax Error > (missing operator): > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > CallNo) A <========(on the letter A is where the cursor ends up) > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > B.DateAssigned > > Am I opening my table "tblCallsTechs" up twice in the query grid, > assigning the alias of A to one of the tables and B to the other? So my > partial query looks like: > > SELECT B.CallNo, B.AssignedDate, B.TechID > FROM tblCallsTechs AS A INNER JOIN tblCallsTechs AS B ON A.CallNo = > B.CallNo; > > The Select within the Select is something I've probably done once or twice > in the past, but not sure how to get that to work. Thanks for quick > response. > > John > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > David McAfee > Sent: Friday, March 13, 2015 4:45 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Query Help Needed > > if the time is stored in the date assigned (using NOW() instead of DATE() > ), you can use a min: > If you're not storing the time, maybe do a min on the PKID > > (Warning Air code) > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > CallNo) A > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > B.DateAssigned > > > > On Fri, Mar 13, 2015 at 1:37 PM, John Bodin wrote: > > > Stuck on this reporting scenario. I have service calls that are > > assigned to one or more technicians on a particular day. If the > > technician(s) cannot fix the problem on that day, he/they may get > > assigned again on a following day or another technician may get > > assigned. For the particular report, I only want to consider those > > technicians that were assigned to the call on the first day and > > exclude any other days the call may have been assigned. I'm trying to > > avoid writing out to a temp table and can't figure out the query for > > the report. Some sample data would be (I sorted by Call # in below > example): > > > > Call # Date Assigned Technician > > 1234 03/01/2015 Jim > > 1234 03/01/2015 Tom > > 1234 03/03/2015 Jim > > 1234 03/03/2015 Steve > > 2222 03/01/2015 Bill > > 3333 03/02/2015 Mike > > 3333 03/04/2015 Ben > > > > Results of query I would like > > 1234 03/01/2015 Jim > > 1234 03/01/2015 Tom > > 2222 03/01/2015 Bill > > 3333 03/02/2015 Mike > > > > Thoughts? Thx. > > > > John > > > > > > -- > > 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From DMcGillivray at ctc.ca.gov Fri Mar 13 16:47:00 2015 From: DMcGillivray at ctc.ca.gov (McGillivray, Don) Date: Fri, 13 Mar 2015 21:47:00 +0000 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: I think Access SQL likes to see the key word AS when aliasing tables and columns. Other flavors of SQL are not so picky. So the line where your arrow is should be ". . . CallNo) AS A . . ." -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Bodin Sent: Friday, March 13, 2015 2:12 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Query Help Needed Hi David, I am storing the dates using the DATE() and not NOW() functions. I know it is "air code", but I'm a little confused as I tried substituting my actual table/field names in but I got a Syntax Error (missing operator): SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, Min(DateAssigned) AS MinDate FROM YourTable GROUP BY CallNo) A <========(on the letter A is where the cursor ends up) INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = B.DateAssigned Am I opening my table "tblCallsTechs" up twice in the query grid, assigning the alias of A to one of the tables and B to the other? So my partial query looks like: SELECT B.CallNo, B.AssignedDate, B.TechID FROM tblCallsTechs AS A INNER JOIN tblCallsTechs AS B ON A.CallNo = B.CallNo; The Select within the Select is something I've probably done once or twice in the past, but not sure how to get that to work. Thanks for quick response. John -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David McAfee Sent: Friday, March 13, 2015 4:45 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Query Help Needed if the time is stored in the date assigned (using NOW() instead of DATE() ), you can use a min: If you're not storing the time, maybe do a min on the PKID (Warning Air code) SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, Min(DateAssigned) AS MinDate FROM YourTable GROUP BY CallNo) A INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = B.DateAssigned On Fri, Mar 13, 2015 at 1:37 PM, John Bodin wrote: > Stuck on this reporting scenario. I have service calls that are > assigned to one or more technicians on a particular day. If the > technician(s) cannot fix the problem on that day, he/they may get > assigned again on a following day or another technician may get > assigned. For the particular report, I only want to consider those > technicians that were assigned to the call on the first day and > exclude any other days the call may have been assigned. I'm trying to > avoid writing out to a temp table and can't figure out the query for > the report. Some sample data would be (I sorted by Call # in below example): > > Call # Date Assigned Technician > 1234 03/01/2015 Jim > 1234 03/01/2015 Tom > 1234 03/03/2015 Jim > 1234 03/03/2015 Steve > 2222 03/01/2015 Bill > 3333 03/02/2015 Mike > 3333 03/04/2015 Ben > > Results of query I would like > 1234 03/01/2015 Jim > 1234 03/01/2015 Tom > 2222 03/01/2015 Bill > 3333 03/02/2015 Mike > > Thoughts? Thx. > > John > > > -- > 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From davidmcafee at gmail.com Fri Mar 13 16:48:37 2015 From: davidmcafee at gmail.com (David McAfee) Date: Fri, 13 Mar 2015 14:48:37 -0700 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: If you're using date, it won't work as both values would be the same. I usually datestamp everything with NOW() and format the display to only show the date. If the records are entered chronologically, and you are certain that people aren't entering older records after newer records, you can use the PKiD. That is of course, if you are using an autonumber PK :) Assuming your PKID is named PKID: SELECT B.CallNo, B.AssignedDate, B.TechID FROM (SELECT CallNo, MIN(PKID) AS MinID FROM tblCallsTechs GROUP BY CallNo) AS A INNER JOIN tblCallsTechs AS B ON A.MinID= B.PKID; On Fri, Mar 13, 2015 at 2:11 PM, John Bodin wrote: > Hi David, I am storing the dates using the DATE() and not NOW() > functions. I know it is "air code", but I'm a little confused as I tried > substituting my actual table/field names in but I got a Syntax Error > (missing operator): > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > CallNo) A <========(on the letter A is where the cursor ends up) > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > B.DateAssigned > > Am I opening my table "tblCallsTechs" up twice in the query grid, > assigning the alias of A to one of the tables and B to the other? So my > partial query looks like: > > SELECT B.CallNo, B.AssignedDate, B.TechID > FROM tblCallsTechs AS A INNER JOIN tblCallsTechs AS B ON A.CallNo = > B.CallNo; > > The Select within the Select is something I've probably done once or twice > in the past, but not sure how to get that to work. Thanks for quick > response. > > John > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > David McAfee > Sent: Friday, March 13, 2015 4:45 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Query Help Needed > > if the time is stored in the date assigned (using NOW() instead of DATE() > ), you can use a min: > If you're not storing the time, maybe do a min on the PKID > > (Warning Air code) > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > CallNo) A > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > B.DateAssigned > > > > On Fri, Mar 13, 2015 at 1:37 PM, John Bodin wrote: > > > Stuck on this reporting scenario. I have service calls that are > > assigned to one or more technicians on a particular day. If the > > technician(s) cannot fix the problem on that day, he/they may get > > assigned again on a following day or another technician may get > > assigned. For the particular report, I only want to consider those > > technicians that were assigned to the call on the first day and > > exclude any other days the call may have been assigned. I'm trying to > > avoid writing out to a temp table and can't figure out the query for > > the report. Some sample data would be (I sorted by Call # in below > example): > > > > Call # Date Assigned Technician > > 1234 03/01/2015 Jim > > 1234 03/01/2015 Tom > > 1234 03/03/2015 Jim > > 1234 03/03/2015 Steve > > 2222 03/01/2015 Bill > > 3333 03/02/2015 Mike > > 3333 03/04/2015 Ben > > > > Results of query I would like > > 1234 03/01/2015 Jim > > 1234 03/01/2015 Tom > > 2222 03/01/2015 Bill > > 3333 03/02/2015 Mike > > > > Thoughts? Thx. > > > > John > > > > > > -- > > 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jbodin at sbor.com Fri Mar 13 16:51:19 2015 From: jbodin at sbor.com (John Bodin) Date: Fri, 13 Mar 2015 21:51:19 +0000 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: Yes, I thought the same but that caused a "Reserved Word" error. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of McGillivray, Don Sent: Friday, March 13, 2015 5:47 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Query Help Needed I think Access SQL likes to see the key word AS when aliasing tables and columns. Other flavors of SQL are not so picky. So the line where your arrow is should be ". . . CallNo) AS A . . ." -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Bodin Sent: Friday, March 13, 2015 2:12 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Query Help Needed Hi David, I am storing the dates using the DATE() and not NOW() functions. I know it is "air code", but I'm a little confused as I tried substituting my actual table/field names in but I got a Syntax Error (missing operator): SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, Min(DateAssigned) AS MinDate FROM YourTable GROUP BY CallNo) A <========(on the letter A is where the cursor ends up) INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = B.DateAssigned Am I opening my table "tblCallsTechs" up twice in the query grid, assigning the alias of A to one of the tables and B to the other? So my partial query looks like: SELECT B.CallNo, B.AssignedDate, B.TechID FROM tblCallsTechs AS A INNER JOIN tblCallsTechs AS B ON A.CallNo = B.CallNo; The Select within the Select is something I've probably done once or twice in the past, but not sure how to get that to work. Thanks for quick response. John -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David McAfee Sent: Friday, March 13, 2015 4:45 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Query Help Needed if the time is stored in the date assigned (using NOW() instead of DATE() ), you can use a min: If you're not storing the time, maybe do a min on the PKID (Warning Air code) SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, Min(DateAssigned) AS MinDate FROM YourTable GROUP BY CallNo) A INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = B.DateAssigned On Fri, Mar 13, 2015 at 1:37 PM, John Bodin wrote: > Stuck on this reporting scenario. I have service calls that are > assigned to one or more technicians on a particular day. If the > technician(s) cannot fix the problem on that day, he/they may get > assigned again on a following day or another technician may get > assigned. For the particular report, I only want to consider those > technicians that were assigned to the call on the first day and > exclude any other days the call may have been assigned. I'm trying to > avoid writing out to a temp table and can't figure out the query for > the report. Some sample data would be (I sorted by Call # in below example): > > Call # Date Assigned Technician > 1234 03/01/2015 Jim > 1234 03/01/2015 Tom > 1234 03/03/2015 Jim > 1234 03/03/2015 Steve > 2222 03/01/2015 Bill > 3333 03/02/2015 Mike > 3333 03/04/2015 Ben > > Results of query I would like > 1234 03/01/2015 Jim > 1234 03/01/2015 Tom > 2222 03/01/2015 Bill > 3333 03/02/2015 Mike > > Thoughts? Thx. > > John > > > -- > 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 -- 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 From davidmcafee at gmail.com Fri Mar 13 16:59:01 2015 From: davidmcafee at gmail.com (David McAfee) Date: Fri, 13 Mar 2015 14:59:01 -0700 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: Yeah, sorry. I work with TSQL more than Access. This is a working query that I just tried with my data in Access: SELECT B.* FROM (SELECT Min([tbl Plans].PlanId) AS MinOfPlanId, [tbl Plans].PlanName FROM [tbl Plans] GROUP BY [tbl Plans].PlanName) AS A INNER JOIN [tbl Plans] AS B ON A.MinOfPlanId = B.PlanID On Fri, Mar 13, 2015 at 2:51 PM, John Bodin wrote: > Yes, I thought the same but that caused a "Reserved Word" error. > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > McGillivray, Don > Sent: Friday, March 13, 2015 5:47 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Query Help Needed > > I think Access SQL likes to see the key word AS when aliasing tables and > columns. Other flavors of SQL are not so picky. > > So the line where your arrow is should be ". . . CallNo) AS A . . ." > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > John Bodin > Sent: Friday, March 13, 2015 2:12 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Query Help Needed > > Hi David, I am storing the dates using the DATE() and not NOW() > functions. I know it is "air code", but I'm a little confused as I tried > substituting my actual table/field names in but I got a Syntax Error > (missing operator): > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > CallNo) A <========(on the letter A is where the cursor ends up) INNER > JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = B.DateAssigned > > Am I opening my table "tblCallsTechs" up twice in the query grid, > assigning the alias of A to one of the tables and B to the other? So my > partial query looks like: > > SELECT B.CallNo, B.AssignedDate, B.TechID FROM tblCallsTechs AS A INNER > JOIN tblCallsTechs AS B ON A.CallNo = B.CallNo; > > The Select within the Select is something I've probably done once or twice > in the past, but not sure how to get that to work. Thanks for quick > response. > > John > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > David McAfee > Sent: Friday, March 13, 2015 4:45 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Query Help Needed > > if the time is stored in the date assigned (using NOW() instead of DATE() > ), you can use a min: > If you're not storing the time, maybe do a min on the PKID > > (Warning Air code) > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > CallNo) A > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > B.DateAssigned > > > > On Fri, Mar 13, 2015 at 1:37 PM, John Bodin wrote: > > > Stuck on this reporting scenario. I have service calls that are > > assigned to one or more technicians on a particular day. If the > > technician(s) cannot fix the problem on that day, he/they may get > > assigned again on a following day or another technician may get > > assigned. For the particular report, I only want to consider those > > technicians that were assigned to the call on the first day and > > exclude any other days the call may have been assigned. I'm trying to > > avoid writing out to a temp table and can't figure out the query for > > the report. Some sample data would be (I sorted by Call # in below > example): > > > > Call # Date Assigned Technician > > 1234 03/01/2015 Jim > > 1234 03/01/2015 Tom > > 1234 03/03/2015 Jim > > 1234 03/03/2015 Steve > > 2222 03/01/2015 Bill > > 3333 03/02/2015 Mike > > 3333 03/04/2015 Ben > > > > Results of query I would like > > 1234 03/01/2015 Jim > > 1234 03/01/2015 Tom > > 2222 03/01/2015 Bill > > 3333 03/02/2015 Mike > > > > Thoughts? Thx. > > > > John > > > > > > -- > > 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 > > -- > 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jbodin at sbor.com Fri Mar 13 17:00:01 2015 From: jbodin at sbor.com (John Bodin) Date: Fri, 13 Mar 2015 22:00:01 +0000 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: Yes, using date. Records unfortunately are not chronological so the PKID's will not correspond to newer records always. Will keep trying. Thanks for the help. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David McAfee Sent: Friday, March 13, 2015 5:49 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Query Help Needed If you're using date, it won't work as both values would be the same. I usually datestamp everything with NOW() and format the display to only show the date. If the records are entered chronologically, and you are certain that people aren't entering older records after newer records, you can use the PKiD. That is of course, if you are using an autonumber PK :) Assuming your PKID is named PKID: SELECT B.CallNo, B.AssignedDate, B.TechID FROM (SELECT CallNo, MIN(PKID) AS MinID FROM tblCallsTechs GROUP BY CallNo) AS A INNER JOIN tblCallsTechs AS B ON A.MinID= B.PKID; On Fri, Mar 13, 2015 at 2:11 PM, John Bodin wrote: > Hi David, I am storing the dates using the DATE() and not NOW() > functions. I know it is "air code", but I'm a little confused as I > tried substituting my actual table/field names in but I got a Syntax > Error (missing operator): > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > CallNo) A <========(on the letter A is where the cursor ends up) > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > B.DateAssigned > > Am I opening my table "tblCallsTechs" up twice in the query grid, > assigning the alias of A to one of the tables and B to the other? So > my partial query looks like: > > SELECT B.CallNo, B.AssignedDate, B.TechID FROM tblCallsTechs AS A > INNER JOIN tblCallsTechs AS B ON A.CallNo = B.CallNo; > > The Select within the Select is something I've probably done once or > twice in the past, but not sure how to get that to work. Thanks for > quick response. > > John > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > Of David McAfee > Sent: Friday, March 13, 2015 4:45 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Query Help Needed > > if the time is stored in the date assigned (using NOW() instead of > DATE() ), you can use a min: > If you're not storing the time, maybe do a min on the PKID > > (Warning Air code) > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > CallNo) A > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > B.DateAssigned > > > > On Fri, Mar 13, 2015 at 1:37 PM, John Bodin wrote: > > > Stuck on this reporting scenario. I have service calls that are > > assigned to one or more technicians on a particular day. If the > > technician(s) cannot fix the problem on that day, he/they may get > > assigned again on a following day or another technician may get > > assigned. For the particular report, I only want to consider those > > technicians that were assigned to the call on the first day and > > exclude any other days the call may have been assigned. I'm trying > > to avoid writing out to a temp table and can't figure out the query > > for the report. Some sample data would be (I sorted by Call # in > > below > example): > > > > Call # Date Assigned Technician > > 1234 03/01/2015 Jim > > 1234 03/01/2015 Tom > > 1234 03/03/2015 Jim > > 1234 03/03/2015 Steve > > 2222 03/01/2015 Bill > > 3333 03/02/2015 Mike > > 3333 03/04/2015 Ben > > > > Results of query I would like > > 1234 03/01/2015 Jim > > 1234 03/01/2015 Tom > > 2222 03/01/2015 Bill > > 3333 03/02/2015 Mike > > > > Thoughts? Thx. > > > > John > > > > > > -- > > 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 > > -- > 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 From davidmcafee at gmail.com Fri Mar 13 17:05:53 2015 From: davidmcafee at gmail.com (David McAfee) Date: Fri, 13 Mar 2015 15:05:53 -0700 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: You need to figure out a field that will let you determine order, then use the query example that I gave you. HTH D On Fri, Mar 13, 2015 at 3:00 PM, John Bodin wrote: > Yes, using date. Records unfortunately are not chronological so the > PKID's will not correspond to newer records always. Will keep trying. > Thanks for the help. > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > David McAfee > Sent: Friday, March 13, 2015 5:49 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Query Help Needed > > If you're using date, it won't work as both values would be the same. > > I usually datestamp everything with NOW() and format the display to only > show the date. > > If the records are entered chronologically, and you are certain that > people aren't entering older records after newer records, you can use the > PKiD. > > That is of course, if you are using an autonumber PK :) > > Assuming your PKID is named PKID: > > > SELECT B.CallNo, B.AssignedDate, B.TechID FROM (SELECT CallNo, MIN(PKID) > AS MinID FROM tblCallsTechs GROUP BY > CallNo) AS A > INNER JOIN tblCallsTechs AS B ON A.MinID= B.PKID; > > > On Fri, Mar 13, 2015 at 2:11 PM, John Bodin wrote: > > > Hi David, I am storing the dates using the DATE() and not NOW() > > functions. I know it is "air code", but I'm a little confused as I > > tried substituting my actual table/field names in but I got a Syntax > > Error (missing operator): > > > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > > CallNo) A <========(on the letter A is where the cursor ends up) > > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > > B.DateAssigned > > > > Am I opening my table "tblCallsTechs" up twice in the query grid, > > assigning the alias of A to one of the tables and B to the other? So > > my partial query looks like: > > > > SELECT B.CallNo, B.AssignedDate, B.TechID FROM tblCallsTechs AS A > > INNER JOIN tblCallsTechs AS B ON A.CallNo = B.CallNo; > > > > The Select within the Select is something I've probably done once or > > twice in the past, but not sure how to get that to work. Thanks for > > quick response. > > > > John > > > > -----Original Message----- > > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > > Of David McAfee > > Sent: Friday, March 13, 2015 4:45 PM > > To: Access Developers discussion and problem solving > > Subject: Re: [AccessD] Query Help Needed > > > > if the time is stored in the date assigned (using NOW() instead of > > DATE() ), you can use a min: > > If you're not storing the time, maybe do a min on the PKID > > > > (Warning Air code) > > > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > > CallNo) A > > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > > B.DateAssigned > > > > > > > > On Fri, Mar 13, 2015 at 1:37 PM, John Bodin wrote: > > > > > Stuck on this reporting scenario. I have service calls that are > > > assigned to one or more technicians on a particular day. If the > > > technician(s) cannot fix the problem on that day, he/they may get > > > assigned again on a following day or another technician may get > > > assigned. For the particular report, I only want to consider those > > > technicians that were assigned to the call on the first day and > > > exclude any other days the call may have been assigned. I'm trying > > > to avoid writing out to a temp table and can't figure out the query > > > for the report. Some sample data would be (I sorted by Call # in > > > below > > example): > > > > > > Call # Date Assigned Technician > > > 1234 03/01/2015 Jim > > > 1234 03/01/2015 Tom > > > 1234 03/03/2015 Jim > > > 1234 03/03/2015 Steve > > > 2222 03/01/2015 Bill > > > 3333 03/02/2015 Mike > > > 3333 03/04/2015 Ben > > > > > > Results of query I would like > > > 1234 03/01/2015 Jim > > > 1234 03/01/2015 Tom > > > 2222 03/01/2015 Bill > > > 3333 03/02/2015 Mike > > > > > > Thoughts? Thx. > > > > > > John > > > > > > > > > -- > > > 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 > > > > -- > > 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jbodin at sbor.com Fri Mar 13 17:12:49 2015 From: jbodin at sbor.com (John Bodin) Date: Fri, 13 Mar 2015 22:12:49 +0000 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: Looking at my table, I do not have one single field that will do this. I think I'll just resort to writing a little loop to create a temp table and run the report off of that. Was just trying to avoid that. Will keep your suggestions for down the road. Go out and have a pint and thanks a lot for the effort! -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David McAfee Sent: Friday, March 13, 2015 6:06 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Query Help Needed You need to figure out a field that will let you determine order, then use the query example that I gave you. HTH D On Fri, Mar 13, 2015 at 3:00 PM, John Bodin wrote: > Yes, using date. Records unfortunately are not chronological so the > PKID's will not correspond to newer records always. Will keep trying. > Thanks for the help. > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > Of David McAfee > Sent: Friday, March 13, 2015 5:49 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Query Help Needed > > If you're using date, it won't work as both values would be the same. > > I usually datestamp everything with NOW() and format the display to > only show the date. > > If the records are entered chronologically, and you are certain that > people aren't entering older records after newer records, you can use > the PKiD. > > That is of course, if you are using an autonumber PK :) > > Assuming your PKID is named PKID: > > > SELECT B.CallNo, B.AssignedDate, B.TechID FROM (SELECT CallNo, > MIN(PKID) AS MinID FROM tblCallsTechs GROUP BY > CallNo) AS A > INNER JOIN tblCallsTechs AS B ON A.MinID= B.PKID; > > > On Fri, Mar 13, 2015 at 2:11 PM, John Bodin wrote: > > > Hi David, I am storing the dates using the DATE() and not NOW() > > functions. I know it is "air code", but I'm a little confused as I > > tried substituting my actual table/field names in but I got a Syntax > > Error (missing operator): > > > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > > CallNo) A <========(on the letter A is where the cursor ends up) > > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > > B.DateAssigned > > > > Am I opening my table "tblCallsTechs" up twice in the query grid, > > assigning the alias of A to one of the tables and B to the other? > > So my partial query looks like: > > > > SELECT B.CallNo, B.AssignedDate, B.TechID FROM tblCallsTechs AS A > > INNER JOIN tblCallsTechs AS B ON A.CallNo = B.CallNo; > > > > The Select within the Select is something I've probably done once or > > twice in the past, but not sure how to get that to work. Thanks for > > quick response. > > > > John > > > > -----Original Message----- > > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On > > Behalf Of David McAfee > > Sent: Friday, March 13, 2015 4:45 PM > > To: Access Developers discussion and problem solving > > Subject: Re: [AccessD] Query Help Needed > > > > if the time is stored in the date assigned (using NOW() instead of > > DATE() ), you can use a min: > > If you're not storing the time, maybe do a min on the PKID > > > > (Warning Air code) > > > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > > CallNo) A > > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > > B.DateAssigned > > > > > > > > On Fri, Mar 13, 2015 at 1:37 PM, John Bodin wrote: > > > > > Stuck on this reporting scenario. I have service calls that are > > > assigned to one or more technicians on a particular day. If the > > > technician(s) cannot fix the problem on that day, he/they may get > > > assigned again on a following day or another technician may get > > > assigned. For the particular report, I only want to consider > > > those technicians that were assigned to the call on the first day > > > and exclude any other days the call may have been assigned. I'm > > > trying to avoid writing out to a temp table and can't figure out > > > the query for the report. Some sample data would be (I sorted by > > > Call # in below > > example): > > > > > > Call # Date Assigned Technician > > > 1234 03/01/2015 Jim > > > 1234 03/01/2015 Tom > > > 1234 03/03/2015 Jim > > > 1234 03/03/2015 Steve > > > 2222 03/01/2015 Bill > > > 3333 03/02/2015 Mike > > > 3333 03/04/2015 Ben > > > > > > Results of query I would like > > > 1234 03/01/2015 Jim > > > 1234 03/01/2015 Tom > > > 2222 03/01/2015 Bill > > > 3333 03/02/2015 Mike > > > > > > Thoughts? Thx. > > > > > > John > > > > > > > > > -- > > > 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 > > > > -- > > 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 > > -- > 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 From davidmcafee at gmail.com Fri Mar 13 17:51:53 2015 From: davidmcafee at gmail.com (David McAfee) Date: Fri, 13 Mar 2015 15:51:53 -0700 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: You still need to be able to figure out which was the original tech for the call using the temp table. Or am I missing something? On Fri, Mar 13, 2015 at 3:12 PM, John Bodin wrote: > Looking at my table, I do not have one single field that will do this. I > think I'll just resort to writing a little loop to create a temp table and > run the report off of that. Was just trying to avoid that. Will keep your > suggestions for down the road. Go out and have a pint and thanks a lot > for the effort! > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > David McAfee > Sent: Friday, March 13, 2015 6:06 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Query Help Needed > > You need to figure out a field that will let you determine order, then use > the query example that I gave you. > > HTH > D > > On Fri, Mar 13, 2015 at 3:00 PM, John Bodin wrote: > > > Yes, using date. Records unfortunately are not chronological so the > > PKID's will not correspond to newer records always. Will keep trying. > > Thanks for the help. > > > > -----Original Message----- > > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > > Of David McAfee > > Sent: Friday, March 13, 2015 5:49 PM > > To: Access Developers discussion and problem solving > > Subject: Re: [AccessD] Query Help Needed > > > > If you're using date, it won't work as both values would be the same. > > > > I usually datestamp everything with NOW() and format the display to > > only show the date. > > > > If the records are entered chronologically, and you are certain that > > people aren't entering older records after newer records, you can use > > the PKiD. > > > > That is of course, if you are using an autonumber PK :) > > > > Assuming your PKID is named PKID: > > > > > > SELECT B.CallNo, B.AssignedDate, B.TechID FROM (SELECT CallNo, > > MIN(PKID) AS MinID FROM tblCallsTechs GROUP BY > > CallNo) AS A > > INNER JOIN tblCallsTechs AS B ON A.MinID= B.PKID; > > > > > > On Fri, Mar 13, 2015 at 2:11 PM, John Bodin wrote: > > > > > Hi David, I am storing the dates using the DATE() and not NOW() > > > functions. I know it is "air code", but I'm a little confused as I > > > tried substituting my actual table/field names in but I got a Syntax > > > Error (missing operator): > > > > > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > > > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > > > CallNo) A <========(on the letter A is where the cursor ends up) > > > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > > > B.DateAssigned > > > > > > Am I opening my table "tblCallsTechs" up twice in the query grid, > > > assigning the alias of A to one of the tables and B to the other? > > > So my partial query looks like: > > > > > > SELECT B.CallNo, B.AssignedDate, B.TechID FROM tblCallsTechs AS A > > > INNER JOIN tblCallsTechs AS B ON A.CallNo = B.CallNo; > > > > > > The Select within the Select is something I've probably done once or > > > twice in the past, but not sure how to get that to work. Thanks for > > > quick response. > > > > > > John > > > > > > -----Original Message----- > > > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On > > > Behalf Of David McAfee > > > Sent: Friday, March 13, 2015 4:45 PM > > > To: Access Developers discussion and problem solving > > > Subject: Re: [AccessD] Query Help Needed > > > > > > if the time is stored in the date assigned (using NOW() instead of > > > DATE() ), you can use a min: > > > If you're not storing the time, maybe do a min on the PKID > > > > > > (Warning Air code) > > > > > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > > > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > > > CallNo) A > > > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > > > B.DateAssigned > > > > > > > > > > > > On Fri, Mar 13, 2015 at 1:37 PM, John Bodin wrote: > > > > > > > Stuck on this reporting scenario. I have service calls that are > > > > assigned to one or more technicians on a particular day. If the > > > > technician(s) cannot fix the problem on that day, he/they may get > > > > assigned again on a following day or another technician may get > > > > assigned. For the particular report, I only want to consider > > > > those technicians that were assigned to the call on the first day > > > > and exclude any other days the call may have been assigned. I'm > > > > trying to avoid writing out to a temp table and can't figure out > > > > the query for the report. Some sample data would be (I sorted by > > > > Call # in below > > > example): > > > > > > > > Call # Date Assigned Technician > > > > 1234 03/01/2015 Jim > > > > 1234 03/01/2015 Tom > > > > 1234 03/03/2015 Jim > > > > 1234 03/03/2015 Steve > > > > 2222 03/01/2015 Bill > > > > 3333 03/02/2015 Mike > > > > 3333 03/04/2015 Ben > > > > > > > > Results of query I would like > > > > 1234 03/01/2015 Jim > > > > 1234 03/01/2015 Tom > > > > 2222 03/01/2015 Bill > > > > 3333 03/02/2015 Mike > > > > > > > > Thoughts? Thx. > > > > > > > > John > > > > > > > > > > > > -- > > > > 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 > > > > > > -- > > > 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 > > > > -- > > 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From DMcGillivray at ctc.ca.gov Fri Mar 13 17:56:05 2015 From: DMcGillivray at ctc.ca.gov (McGillivray, Don) Date: Fri, 13 Mar 2015 22:56:05 +0000 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: Ah, but you're so close! Open an empty query builder, select SQL view, and paste this in: SELECT b.CallNo, b.AssignDate, b.TechID FROM tblCallsTechs AS b INNER JOIN ( SELECT tblCallsTechs.CallNo, MIN(tblCallsTechs.AssignedDate) AS MinDate FROM tblCallsTechs GROUP BY tblCallsTechs.CallNo ) AS a ON b.CallNo = a.CallNo AND b. AssignDate = a.MinDate Substitute your table and column names if I've got them wrong, and it should work - as long as your dates really don't have times in them. If you do have times in your dates, do this instead: SELECT b.CallNo, b.DateAssigned, b.TechID FROM ( SELECT tblCallsTechs.CallNo, INT(tblCallsTechs.AssignedDate) AS DateAssigned, tblCallsTechs.TechID, FROM tblCallsTechs ) AS b INNER JOIN ( SELECT tblCallsTechs.CallNo, MIN(INT(tblCallsTechs.AssignedDate)) AS MinDate FROM tblCallsTechs GROUP BY tblCallsTechs.CallNo ) AS a ON b.CallNo = a.CallNo AND b.DateAssigned = a.MinDate Good luck! -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Bodin Sent: Friday, March 13, 2015 3:13 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Query Help Needed Looking at my table, I do not have one single field that will do this. I think I'll just resort to writing a little loop to create a temp table and run the report off of that. Was just trying to avoid that. Will keep your suggestions for down the road. Go out and have a pint and thanks a lot for the effort! -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David McAfee Sent: Friday, March 13, 2015 6:06 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Query Help Needed You need to figure out a field that will let you determine order, then use the query example that I gave you. HTH D On Fri, Mar 13, 2015 at 3:00 PM, John Bodin wrote: > Yes, using date. Records unfortunately are not chronological so the > PKID's will not correspond to newer records always. Will keep trying. > Thanks for the help. > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > Of David McAfee > Sent: Friday, March 13, 2015 5:49 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Query Help Needed > > If you're using date, it won't work as both values would be the same. > > I usually datestamp everything with NOW() and format the display to > only show the date. > > If the records are entered chronologically, and you are certain that > people aren't entering older records after newer records, you can use > the PKiD. > > That is of course, if you are using an autonumber PK :) > > Assuming your PKID is named PKID: > > > SELECT B.CallNo, B.AssignedDate, B.TechID FROM (SELECT CallNo, > MIN(PKID) AS MinID FROM tblCallsTechs GROUP BY > CallNo) AS A > INNER JOIN tblCallsTechs AS B ON A.MinID= B.PKID; > > > On Fri, Mar 13, 2015 at 2:11 PM, John Bodin wrote: > > > Hi David, I am storing the dates using the DATE() and not NOW() > > functions. I know it is "air code", but I'm a little confused as I > > tried substituting my actual table/field names in but I got a Syntax > > Error (missing operator): > > > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > > CallNo) A <========(on the letter A is where the cursor ends up) > > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > > B.DateAssigned > > > > Am I opening my table "tblCallsTechs" up twice in the query grid, > > assigning the alias of A to one of the tables and B to the other? > > So my partial query looks like: > > > > SELECT B.CallNo, B.AssignedDate, B.TechID FROM tblCallsTechs AS A > > INNER JOIN tblCallsTechs AS B ON A.CallNo = B.CallNo; > > > > The Select within the Select is something I've probably done once or > > twice in the past, but not sure how to get that to work. Thanks for > > quick response. > > > > John > > > > -----Original Message----- > > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On > > Behalf Of David McAfee > > Sent: Friday, March 13, 2015 4:45 PM > > To: Access Developers discussion and problem solving > > Subject: Re: [AccessD] Query Help Needed > > > > if the time is stored in the date assigned (using NOW() instead of > > DATE() ), you can use a min: > > If you're not storing the time, maybe do a min on the PKID > > > > (Warning Air code) > > > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > > CallNo) A > > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > > B.DateAssigned > > > > > > > > On Fri, Mar 13, 2015 at 1:37 PM, John Bodin wrote: > > > > > Stuck on this reporting scenario. I have service calls that are > > > assigned to one or more technicians on a particular day. If the > > > technician(s) cannot fix the problem on that day, he/they may get > > > assigned again on a following day or another technician may get > > > assigned. For the particular report, I only want to consider > > > those technicians that were assigned to the call on the first day > > > and exclude any other days the call may have been assigned. I'm > > > trying to avoid writing out to a temp table and can't figure out > > > the query for the report. Some sample data would be (I sorted by > > > Call # in below > > example): > > > > > > Call # Date Assigned Technician > > > 1234 03/01/2015 Jim > > > 1234 03/01/2015 Tom > > > 1234 03/03/2015 Jim > > > 1234 03/03/2015 Steve > > > 2222 03/01/2015 Bill > > > 3333 03/02/2015 Mike > > > 3333 03/04/2015 Ben > > > > > > Results of query I would like > > > 1234 03/01/2015 Jim > > > 1234 03/01/2015 Tom > > > 2222 03/01/2015 Bill > > > 3333 03/02/2015 Mike > > > > > > Thoughts? Thx. > > > > > > John > > > > > > > > > -- > > > 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 > > > > -- > > 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 > > -- > 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jbodin at sbor.com Fri Mar 13 17:57:41 2015 From: jbodin at sbor.com (John Bodin) Date: Fri, 13 Mar 2015 22:57:41 +0000 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: It is OK to have two or more techs on the original call date. I'd want all techs on the first call date to be considered. After that, any other techs, including the same techs on that call on a later date, those I need to filter out. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David McAfee Sent: Friday, March 13, 2015 6:52 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Query Help Needed You still need to be able to figure out which was the original tech for the call using the temp table. Or am I missing something? On Fri, Mar 13, 2015 at 3:12 PM, John Bodin wrote: > Looking at my table, I do not have one single field that will do this. > I think I'll just resort to writing a little loop to create a temp > table and run the report off of that. Was just trying to avoid that. Will keep your > suggestions for down the road. Go out and have a pint and thanks a lot > for the effort! > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > Of David McAfee > Sent: Friday, March 13, 2015 6:06 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Query Help Needed > > You need to figure out a field that will let you determine order, then > use the query example that I gave you. > > HTH > D > > On Fri, Mar 13, 2015 at 3:00 PM, John Bodin wrote: > > > Yes, using date. Records unfortunately are not chronological so the > > PKID's will not correspond to newer records always. Will keep trying. > > Thanks for the help. > > > > -----Original Message----- > > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On > > Behalf Of David McAfee > > Sent: Friday, March 13, 2015 5:49 PM > > To: Access Developers discussion and problem solving > > Subject: Re: [AccessD] Query Help Needed > > > > If you're using date, it won't work as both values would be the same. > > > > I usually datestamp everything with NOW() and format the display to > > only show the date. > > > > If the records are entered chronologically, and you are certain that > > people aren't entering older records after newer records, you can > > use the PKiD. > > > > That is of course, if you are using an autonumber PK :) > > > > Assuming your PKID is named PKID: > > > > > > SELECT B.CallNo, B.AssignedDate, B.TechID FROM (SELECT CallNo, > > MIN(PKID) AS MinID FROM tblCallsTechs GROUP BY > > CallNo) AS A > > INNER JOIN tblCallsTechs AS B ON A.MinID= B.PKID; > > > > > > On Fri, Mar 13, 2015 at 2:11 PM, John Bodin wrote: > > > > > Hi David, I am storing the dates using the DATE() and not NOW() > > > functions. I know it is "air code", but I'm a little confused as > > > I tried substituting my actual table/field names in but I got a > > > Syntax Error (missing operator): > > > > > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > > > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > > > CallNo) A <========(on the letter A is where the cursor ends up) > > > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > > > B.DateAssigned > > > > > > Am I opening my table "tblCallsTechs" up twice in the query grid, > > > assigning the alias of A to one of the tables and B to the other? > > > So my partial query looks like: > > > > > > SELECT B.CallNo, B.AssignedDate, B.TechID FROM tblCallsTechs AS A > > > INNER JOIN tblCallsTechs AS B ON A.CallNo = B.CallNo; > > > > > > The Select within the Select is something I've probably done once > > > or twice in the past, but not sure how to get that to work. > > > Thanks for quick response. > > > > > > John > > > > > > -----Original Message----- > > > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On > > > Behalf Of David McAfee > > > Sent: Friday, March 13, 2015 4:45 PM > > > To: Access Developers discussion and problem solving > > > Subject: Re: [AccessD] Query Help Needed > > > > > > if the time is stored in the date assigned (using NOW() instead of > > > DATE() ), you can use a min: > > > If you're not storing the time, maybe do a min on the PKID > > > > > > (Warning Air code) > > > > > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > > > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > > > CallNo) A > > > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > > > B.DateAssigned > > > > > > > > > > > > On Fri, Mar 13, 2015 at 1:37 PM, John Bodin wrote: > > > > > > > Stuck on this reporting scenario. I have service calls that are > > > > assigned to one or more technicians on a particular day. If the > > > > technician(s) cannot fix the problem on that day, he/they may > > > > get assigned again on a following day or another technician may > > > > get assigned. For the particular report, I only want to > > > > consider those technicians that were assigned to the call on the > > > > first day and exclude any other days the call may have been > > > > assigned. I'm trying to avoid writing out to a temp table and > > > > can't figure out the query for the report. Some sample data > > > > would be (I sorted by Call # in below > > > example): > > > > > > > > Call # Date Assigned Technician > > > > 1234 03/01/2015 Jim > > > > 1234 03/01/2015 Tom > > > > 1234 03/03/2015 Jim > > > > 1234 03/03/2015 Steve > > > > 2222 03/01/2015 Bill > > > > 3333 03/02/2015 Mike > > > > 3333 03/04/2015 Ben > > > > > > > > Results of query I would like > > > > 1234 03/01/2015 Jim > > > > 1234 03/01/2015 Tom > > > > 2222 03/01/2015 Bill > > > > 3333 03/02/2015 Mike > > > > > > > > Thoughts? Thx. > > > > > > > > John > > > > > > > > > > > > -- > > > > 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 > > > > > > -- > > > 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 > > > > -- > > 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 > > -- > 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 From charlotte.foust at gmail.com Fri Mar 13 18:06:19 2015 From: charlotte.foust at gmail.com (Charlotte Foust) Date: Fri, 13 Mar 2015 16:06:19 -0700 Subject: [AccessD] Composite Unique Key in 2010 In-Reply-To: References: Message-ID: LOL, I'm happy if I remember to wake up breathing! Charlotte On Fri, Mar 13, 2015 at 1:30 PM, David McAfee wrote: > I'm happy if I remember why I walked into a room :) > > From jbodin at sbor.com Fri Mar 13 18:11:09 2015 From: jbodin at sbor.com (John Bodin) Date: Fri, 13 Mar 2015 23:11:09 +0000 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: Bingo! Thanks Don. Works stellar with 1, 2 and even 3 techs assigned on the first day and others later on. Way better than temp table I put together. Much obliged to you and David for persistence. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of McGillivray, Don Sent: Friday, March 13, 2015 6:56 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Query Help Needed Ah, but you're so close! Open an empty query builder, select SQL view, and paste this in: SELECT b.CallNo, b.AssignDate, b.TechID FROM tblCallsTechs AS b INNER JOIN ( SELECT tblCallsTechs.CallNo, MIN(tblCallsTechs.AssignedDate) AS MinDate FROM tblCallsTechs GROUP BY tblCallsTechs.CallNo ) AS a ON b.CallNo = a.CallNo AND b. AssignDate = a.MinDate Substitute your table and column names if I've got them wrong, and it should work - as long as your dates really don't have times in them. If you do have times in your dates, do this instead: SELECT b.CallNo, b.DateAssigned, b.TechID FROM ( SELECT tblCallsTechs.CallNo, INT(tblCallsTechs.AssignedDate) AS DateAssigned, tblCallsTechs.TechID, FROM tblCallsTechs ) AS b INNER JOIN ( SELECT tblCallsTechs.CallNo, MIN(INT(tblCallsTechs.AssignedDate)) AS MinDate FROM tblCallsTechs GROUP BY tblCallsTechs.CallNo ) AS a ON b.CallNo = a.CallNo AND b.DateAssigned = a.MinDate Good luck! -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Bodin Sent: Friday, March 13, 2015 3:13 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Query Help Needed Looking at my table, I do not have one single field that will do this. I think I'll just resort to writing a little loop to create a temp table and run the report off of that. Was just trying to avoid that. Will keep your suggestions for down the road. Go out and have a pint and thanks a lot for the effort! -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David McAfee Sent: Friday, March 13, 2015 6:06 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Query Help Needed You need to figure out a field that will let you determine order, then use the query example that I gave you. HTH D On Fri, Mar 13, 2015 at 3:00 PM, John Bodin wrote: > Yes, using date. Records unfortunately are not chronological so the > PKID's will not correspond to newer records always. Will keep trying. > Thanks for the help. > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > Of David McAfee > Sent: Friday, March 13, 2015 5:49 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Query Help Needed > > If you're using date, it won't work as both values would be the same. > > I usually datestamp everything with NOW() and format the display to > only show the date. > > If the records are entered chronologically, and you are certain that > people aren't entering older records after newer records, you can use > the PKiD. > > That is of course, if you are using an autonumber PK :) > > Assuming your PKID is named PKID: > > > SELECT B.CallNo, B.AssignedDate, B.TechID FROM (SELECT CallNo, > MIN(PKID) AS MinID FROM tblCallsTechs GROUP BY > CallNo) AS A > INNER JOIN tblCallsTechs AS B ON A.MinID= B.PKID; > > > On Fri, Mar 13, 2015 at 2:11 PM, John Bodin wrote: > > > Hi David, I am storing the dates using the DATE() and not NOW() > > functions. I know it is "air code", but I'm a little confused as I > > tried substituting my actual table/field names in but I got a Syntax > > Error (missing operator): > > > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > > CallNo) A <========(on the letter A is where the cursor ends up) > > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > > B.DateAssigned > > > > Am I opening my table "tblCallsTechs" up twice in the query grid, > > assigning the alias of A to one of the tables and B to the other? > > So my partial query looks like: > > > > SELECT B.CallNo, B.AssignedDate, B.TechID FROM tblCallsTechs AS A > > INNER JOIN tblCallsTechs AS B ON A.CallNo = B.CallNo; > > > > The Select within the Select is something I've probably done once or > > twice in the past, but not sure how to get that to work. Thanks for > > quick response. > > > > John > > > > -----Original Message----- > > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On > > Behalf Of David McAfee > > Sent: Friday, March 13, 2015 4:45 PM > > To: Access Developers discussion and problem solving > > Subject: Re: [AccessD] Query Help Needed > > > > if the time is stored in the date assigned (using NOW() instead of > > DATE() ), you can use a min: > > If you're not storing the time, maybe do a min on the PKID > > > > (Warning Air code) > > > > SELECT B.CallNo, B.DateAssigned, B.Technician (SELECT CallNo, > > Min(DateAssigned) AS MinDate FROM YourTable GROUP BY > > CallNo) A > > INNER JOIN YourTable B ON A.CallNo = B.CallNo And A.MinDate = > > B.DateAssigned > > > > > > > > On Fri, Mar 13, 2015 at 1:37 PM, John Bodin wrote: > > > > > Stuck on this reporting scenario. I have service calls that are > > > assigned to one or more technicians on a particular day. If the > > > technician(s) cannot fix the problem on that day, he/they may get > > > assigned again on a following day or another technician may get > > > assigned. For the particular report, I only want to consider > > > those technicians that were assigned to the call on the first day > > > and exclude any other days the call may have been assigned. I'm > > > trying to avoid writing out to a temp table and can't figure out > > > the query for the report. Some sample data would be (I sorted by > > > Call # in below > > example): > > > > > > Call # Date Assigned Technician > > > 1234 03/01/2015 Jim > > > 1234 03/01/2015 Tom > > > 1234 03/03/2015 Jim > > > 1234 03/03/2015 Steve > > > 2222 03/01/2015 Bill > > > 3333 03/02/2015 Mike > > > 3333 03/04/2015 Ben > > > > > > Results of query I would like > > > 1234 03/01/2015 Jim > > > 1234 03/01/2015 Tom > > > 2222 03/01/2015 Bill > > > 3333 03/02/2015 Mike > > > > > > Thoughts? Thx. > > > > > > John > > > > > > > > > -- > > > 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 > > > > -- > > 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 > > -- > 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 -- 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 From jwcolby at gmail.com Fri Mar 13 22:44:29 2015 From: jwcolby at gmail.com (John W. Colby) Date: Fri, 13 Mar 2015 23:44:29 -0400 Subject: [AccessD] Watch a 57-Story Building Go Up in 19 Days Message-ID: <5503AE9D.8060509@gmail.com> Holy smoke batman... http://www.wsj.com/video/watch-a-57-story-building-go-up-in-19-days/FA18490C-9AC1-4FA3-AB9F-FAFFF6F67C9E.html?mod=trending_now_video_1 -- John W. Colby From newsgrps at dalyn.co.nz Fri Mar 13 23:21:47 2015 From: newsgrps at dalyn.co.nz (David Emerson) Date: Sat, 14 Mar 2015 17:21:47 +1300 Subject: [AccessD] Audit Trail Suggestions Message-ID: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> Hi Team, Looking for ideas for implementation. Access 2010 FE, SQL 2008 R2 A client wants to keep track of some fields in some tables when they are changed. There are over 50 tables involved and anywhere from 3 to 30 fields per table. The tables and fields are predefined. Most of the data changes will be done via Access screens but there are some fields that are changed through code When a field value is changed they want to store in a log table date, person making change, old value, new value. Looking for ideas of how others might have tackled this type of problem before. Regards David Emerson Dalyn Software Ltd Wellington, New Zealand From rockysmolin at bchacc.com Sat Mar 14 00:25:49 2015 From: rockysmolin at bchacc.com (Rocky Smolin) Date: Fri, 13 Mar 2015 22:25:49 -0700 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> Message-ID: In an app I just created for a company doing a DNA mutation assay in which every field in every form that's changed needs to be recorded in an audit trail table, the following sub is called in the after update event of each bound field. There is only one input form but 7 tabs each with its own form. Since this is a one shot - the data will be collected once, transmitted to another company, then the db discarded (sob) - I took the easy way and pasted the sub into the CBF of each input form once I got it working in the first form. You could, I suppose, make it a Public sub and pass the form name and the current control name, etc. The caption (Name property) of the bound field is the same as the field name. For some people this is a huge no-no - for others, it's a yawn. I never had any trouble with that. HTH Rocky Private Sub AuditTrail(Optional argOldValue, Optional argNewValue) Dim ctlA As Control Dim strCaption As String gstrActiveControl = Screen.ActiveControl.Name Set ctlA = Me(gstrActiveControl) strCaption = ctlA.Controls(0).Name ' MsgBox "User: " & glngUserID & vbCrLf _ & "Date: " & Date & vbCrLf _ & "TAB NUMBER: 2" & vbCrLf _ & "Label Name: " & ctlA.Controls(0).Name & vbCrLf _ & "Label Content: " & Me(strCaption).Caption & vbCrLf _ & "Control Source: " & Me(gstrActiveControl).ControlSource & vbCrLf _ & "Old Value: " & ctlA.OldValue & vbCrLf _ & "New Value: " & Me(gstrActiveControl).Value 'Exit Sub With rsAudit .AddNew !fldUserID = glngUserID !fldATDateTime = Now() !fldATTabNumber = 2 !fldATLabelName = Me(strCaption).Caption If IsMissing(argOldValue) Then !fldATOldValue = ctlA.OldValue Else !fldATOldValue = argOldValue End If If IsMissing(argNewValue) Then !fldATNewValue = Me(gstrActiveControl).Value Else !fldATNewValue = argNewValue End If .Update Call cmdSave_Click End With -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David Emerson Sent: Friday, March 13, 2015 9:22 PM To: AccessD Subject: [AccessD] Audit Trail Suggestions Hi Team, Looking for ideas for implementation. Access 2010 FE, SQL 2008 R2 A client wants to keep track of some fields in some tables when they are changed. There are over 50 tables involved and anywhere from 3 to 30 fields per table. The tables and fields are predefined. Most of the data changes will be done via Access screens but there are some fields that are changed through code When a field value is changed they want to store in a log table date, person making change, old value, new value. Looking for ideas of how others might have tackled this type of problem before. Regards David Emerson Dalyn Software Ltd Wellington, New Zealand -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From stuart at lexacorp.com.pg Sat Mar 14 00:42:33 2015 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Sat, 14 Mar 2015 15:42:33 +1000 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> Message-ID: <5503CA49.16328.497E45A9@stuart.lexacorp.com.pg> With a SQL Server BE, you should set up After Update triggers on the tables. See for example: https://msdn.microsoft.com/en-AU/library/ms186329.aspx and http://www.mssqltips.com/sqlservertip/2342/understanding-sql-server-inserted-and-deleted-ta bles-for-dml-triggers/ On 14 Mar 2015 at 17:21, David Emerson wrote: > Hi Team, > > Looking for ideas for implementation. > > Access 2010 FE, SQL 2008 R2 > > A client wants to keep track of some fields in some tables when they > are changed. There are over 50 tables involved and anywhere from 3 to > 30 fields per table. The tables and fields are predefined. Most of > the data changes will be done via Access screens but there are some > fields that are changed through code > > When a field value is changed they want to store in a log table date, > person making change, old value, new value. > > Looking for ideas of how others might have tackled this type of > problem before. > > Regards > > David Emerson > Dalyn Software Ltd > Wellington, New Zealand > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From stuart at lexacorp.com.pg Sat Mar 14 00:52:49 2015 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Sat, 14 Mar 2015 15:52:49 +1000 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz>, Message-ID: <5503CCB1.25220.4987ADED@stuart.lexacorp.com.pg> I do something similar if it's an Access BE. Here's one I wrote many years ago that is still in use: In one Form's Before_Update: ... For Each ctl In Me.Controls strCtrlType = Left$(ctl.Name, 3) If InStr("txt:cbo", strCtrlType) > 0 Then If Nz(ctl.Value) <> Nz(ctl.OldValue) Then Audit "Elec", ElectorKey, "Chng: " & Mid$(ctl.Name, 4) & "- ''" & Nz(ctl.OldValue) & "'' to ''" & Nz(ctl.Value) & "''" End If End If Next ... Other forms whihc are used for maintaining other data use difference parameters in place of "Elec" and ElectorKey such as "Loc" and LocationKey etc And the function Audit: Function Audit(object As String, id As Long, occurrence As String) Dim strSQL As String strSQL = "insert into tblAudit (user,object,objid,Action) values('" & username & "','" & object & "'," & id & ",'" & occurrence & "')" CurrentDb.Execute strSQL End Function which also uses the function userName: Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Function username() Dim uname As String * 127 Dim Response As Long Response = GetUserName(uname, 32) If Len(uname) > 1 Then username = Left$(uname, InStr(uname, Chr$(0)) - 1) Else username = "No logged In User" End If End Function On 13 Mar 2015 at 22:25, Rocky Smolin wrote: > In an app I just created for a company doing a DNA mutation assay in > which every field in every form that's changed needs to be recorded in > an audit trail table, the following sub is called in the after update > event of each bound field. From ssharkins at gmail.com Sat Mar 14 06:15:44 2015 From: ssharkins at gmail.com (Susan Harkins) Date: Sat, 14 Mar 2015 07:15:44 -0400 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: <5503CCB1.25220.4987ADED@stuart.lexacorp.com.pg> References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> <5503CCB1.25220.4987ADED@stuart.lexacorp.com.pg> Message-ID: And one more... http://www.devx.com/dbzone/Article/7939 It's not exactly what you're looking for, but you might find something helpful. Susan Harkins On Sat, Mar 14, 2015 at 1:52 AM, Stuart McLachlan wrote: > I do something similar if it's an Access BE. Here's one I wrote many > years ago that is still in > use: > > In one Form's Before_Update: > ... > For Each ctl In Me.Controls > strCtrlType = Left$(ctl.Name, 3) > If InStr("txt:cbo", strCtrlType) > 0 Then > If Nz(ctl.Value) <> Nz(ctl.OldValue) Then > Audit "Elec", ElectorKey, "Chng: " & Mid$(ctl.Name, 4) & "- > ''" & Nz(ctl.OldValue) & "'' > to ''" & Nz(ctl.Value) & "''" > End If > End If > Next > ... > > Other forms whihc are used for maintaining other data use difference > parameters in place of > "Elec" and ElectorKey such as "Loc" and LocationKey etc > > And the function Audit: > > Function Audit(object As String, id As Long, occurrence As String) > Dim strSQL As String > strSQL = "insert into tblAudit (user,object,objid,Action) values('" & > username & "','" & object & > "'," & id & ",'" & occurrence & "')" > CurrentDb.Execute strSQL > End Function > > which also uses the function userName: > > Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" > (ByVal lpBuffer As > String, nSize As Long) As Long > > Function username() > Dim uname As String * 127 > Dim Response As Long > Response = GetUserName(uname, 32) > If Len(uname) > 1 Then > username = Left$(uname, InStr(uname, Chr$(0)) - 1) > Else > username = "No logged In User" > End If > End Function > > > > > > On 13 Mar 2015 at 22:25, Rocky Smolin wrote: > > > In an app I just created for a company doing a DNA mutation assay in > > which every field in every form that's changed needs to be recorded in > > an audit trail table, the following sub is called in the after update > > event of each bound field. > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jackandpat.d at gmail.com Sat Mar 14 07:26:06 2015 From: jackandpat.d at gmail.com (jack drawbridge) Date: Sat, 14 Mar 2015 08:26:06 -0400 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> Message-ID: You may get ideas from Allen Browne's site. http://allenbrowne.com/appaudit.html Good luck. On Sat, Mar 14, 2015 at 12:21 AM, David Emerson wrote: > Hi Team, > > Looking for ideas for implementation. > > Access 2010 FE, SQL 2008 R2 > > A client wants to keep track of some fields in some tables when they are > changed. There are over 50 tables involved and anywhere from 3 to 30 > fields > per table. The tables and fields are predefined. Most of the data changes > will be done via Access screens but there are some fields that are changed > through code > > When a field value is changed they want to store in a log table date, > person > making change, old value, new value. > > Looking for ideas of how others might have tackled this type of problem > before. > > Regards > > David Emerson > Dalyn Software Ltd > Wellington, New Zealand > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jackandpat.d at gmail.com Sat Mar 14 07:53:02 2015 From: jackandpat.d at gmail.com (jack drawbridge) Date: Sat, 14 Mar 2015 08:53:02 -0400 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> Message-ID: David, Here is another for consideration/review http://www.utteraccess.com/forum/Audit-Trail-Database-S-t1576962.html jack On Sat, Mar 14, 2015 at 8:26 AM, jack drawbridge wrote: > You may get ideas from Allen Browne's site. > http://allenbrowne.com/appaudit.html > > Good luck. > > On Sat, Mar 14, 2015 at 12:21 AM, David Emerson > wrote: > >> Hi Team, >> >> Looking for ideas for implementation. >> >> Access 2010 FE, SQL 2008 R2 >> >> A client wants to keep track of some fields in some tables when they are >> changed. There are over 50 tables involved and anywhere from 3 to 30 >> fields >> per table. The tables and fields are predefined. Most of the data >> changes >> will be done via Access screens but there are some fields that are changed >> through code >> >> When a field value is changed they want to store in a log table date, >> person >> making change, old value, new value. >> >> Looking for ideas of how others might have tackled this type of problem >> before. >> >> Regards >> >> David Emerson >> Dalyn Software Ltd >> Wellington, New Zealand >> >> >> >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> > > From jimdettman at verizon.net Sat Mar 14 08:08:09 2015 From: jimdettman at verizon.net (Jim Dettman) Date: Sat, 14 Mar 2015 09:08:09 -0400 Subject: [AccessD] OT:RE: Composite Unique Key in 2010 In-Reply-To: References: Message-ID: Many of us are starting to climb into the same boat. My favorite saying is becoming "I'm glad my head is screwed on" and my desk and monitors have become sticky note heaven. Jim. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Friday, March 13, 2015 07:06 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Composite Unique Key in 2010 LOL, I'm happy if I remember to wake up breathing! Charlotte On Fri, Mar 13, 2015 at 1:30 PM, David McAfee wrote: > I'm happy if I remember why I walked into a room :) > > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Sat Mar 14 09:37:14 2015 From: accessd at shaw.ca (Jim Lawrence) Date: Sat, 14 Mar 2015 08:37:14 -0600 (MDT) Subject: [AccessD] OT:RE: Composite Unique Key in 2010 In-Reply-To: Message-ID: <1384694105.23481086.1426343834800.JavaMail.root@shaw.ca> I am so with you. :-) Jim ----- Original Message ----- From: "Jim Dettman" To: "Access Developers discussion and problem solving" Sent: Saturday, March 14, 2015 6:08:09 AM Subject: [AccessD] OT:RE: Composite Unique Key in 2010 Many of us are starting to climb into the same boat. My favorite saying is becoming "I'm glad my head is screwed on" and my desk and monitors have become sticky note heaven. Jim. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Friday, March 13, 2015 07:06 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Composite Unique Key in 2010 LOL, I'm happy if I remember to wake up breathing! Charlotte On Fri, Mar 13, 2015 at 1:30 PM, David McAfee wrote: > I'm happy if I remember why I walked into a room :) > > -- 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 From charlotte.foust at gmail.com Sat Mar 14 10:09:39 2015 From: charlotte.foust at gmail.com (Charlotte Foust) Date: Sat, 14 Mar 2015 08:09:39 -0700 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> Message-ID: I've usually done this with a data macro in the table itself running in the BeforeUpdate of the table and log the Windows user and the date/time of the edit. Another approach I've used when a history is a requirement is to use the BeforeUpdate of the field to store a record in another table that contains the previous value of the field and the previous user who added or updated the record. The advantage to using a data macro in the table is that it runs no matter how the data is updated, through a form or a query or directly in a table. Charlotte On Fri, Mar 13, 2015 at 9:21 PM, David Emerson wrote: > Hi Team, > > Looking for ideas for implementation. > > Access 2010 FE, SQL 2008 R2 > > A client wants to keep track of some fields in some tables when they are > changed. There are over 50 tables involved and anywhere from 3 to 30 > fields > per table. The tables and fields are predefined. Most of the data changes > will be done via Access screens but there are some fields that are changed > through code > > When a field value is changed they want to store in a log table date, > person > making change, old value, new value. > > Looking for ideas of how others might have tackled this type of problem > before. > > Regards > > David Emerson > Dalyn Software Ltd > Wellington, New Zealand > > > > From fuller.artful at gmail.com Sat Mar 14 11:59:35 2015 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 14 Mar 2015 12:59:35 -0400 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> Message-ID: With all due respect, I have always lived by, and continue to survive by, the simple maxim that anything the database *can *do, the database *should* do. Given an Access BE, I realize that is not an immediate help, but it the bigger picture it ought to provoke the question, "Why an Access BE, when abundant free alternatives are available?" Event-logging can and should be done in the BE The technology is all there and you can tap into it at will; and speaking from experience, they can do it better than I. Two suggestions, therefore: a) lose any and all Access BEs on all your projects, and replace them with any one of SQL Express, MySQL, MariaDB or PostGres; b) put all this logic into the SQL engine of your choice, but most definitely keep it out of your FE! No single error in database-implementation is more serious than this. A. ? From ssharkins at gmail.com Sat Mar 14 12:50:52 2015 From: ssharkins at gmail.com (Susan Harkins) Date: Sat, 14 Mar 2015 13:50:52 -0400 Subject: [AccessD] Audit Trail Suggestions Message-ID: Charlotte, What is a data macro? Susan H. On Sat, Mar 14, 2015 at 11:09 AM, Charlotte Foust wrote: > I've usually done this with a data macro in the table itself running in the > BeforeUpdate of the table and log the Windows user and the date/time of the > edit. Another approach I've used when a history is a requirement is to use > the BeforeUpdate of the field to store a record in another table that > contains the previous value of the field and the previous user who added or > updated the record. The advantage to using a data macro in the table is > that it runs no matter how the data is updated, through a form or a query > or directly in a table. > > Charlotte > > From newsgrps at dalyn.co.nz Sat Mar 14 14:17:42 2015 From: newsgrps at dalyn.co.nz (David Emerson) Date: Sun, 15 Mar 2015 08:17:42 +1300 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> Message-ID: <002301d05e8b$8bb6c320$a3244960$@dalyn.co.nz> Thanks you everyone for your responses - plenty to work my way through. Arthur, not sure if your comment was directed at my original question (because you didn't include the post you were responding to) but the BE is SQL 2008. Regards David Emerson Dalyn Software Ltd Wellington, New Zealand -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Sunday, 15 March 2015 6:00 a.m. To: Access Developers discussion and problem solving Subject: Re: [AccessD] Audit Trail Suggestions With all due respect, I have always lived by, and continue to survive by, the simple maxim that anything the database *can *do, the database *should* do. Given an Access BE, I realize that is not an immediate help, but it the bigger picture it ought to provoke the question, "Why an Access BE, when abundant free alternatives are available?" Event-logging can and should be done in the BE The technology is all there and you can tap into it at will; and speaking from experience, they can do it better than I. Two suggestions, therefore: a) lose any and all Access BEs on all your projects, and replace them with any one of SQL Express, MySQL, MariaDB or PostGres; b) put all this logic into the SQL engine of your choice, but most definitely keep it out of your FE! No single error in database-implementation is more serious than this. A. ? -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From rockysmolin at bchacc.com Sat Mar 14 15:36:40 2015 From: rockysmolin at bchacc.com (Rocky Smolin) Date: Sat, 14 Mar 2015 13:36:40 -0700 Subject: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS Message-ID: http://www.lugh-sci.com/blog/top-five-most-common-vba-errors-and-their-solut ions?utm_content=buffer61fac &utm_medium=social&utm_source=linkedin.com&utm_campaign=buffer#blogue Of course, this isn't really necessary for us. :) r From ssharkins at gmail.com Sat Mar 14 15:42:56 2015 From: ssharkins at gmail.com (Susan Harkins) Date: Sat, 14 Mar 2015 16:42:56 -0400 Subject: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS In-Reply-To: References: Message-ID: Well... I disgree with part of 5) -- some of that stuff is beneficial when you start adding on and enhancing, changing... why take them out? Well, the Debug.Print anyway... that's just routine for me and I see no reason to take them out. They come in handy at all stages of the project. Option Explicit is a choice. I think it's convenient, but it's a choice. Susan H. On Sat, Mar 14, 2015 at 4:36 PM, Rocky Smolin wrote: > > > > http://www.lugh-sci.com/blog/top-five-most-common-vba-errors-and-their-solut > ions?utm_content=buffer61fac > < > http://www.lugh-sci.com/blog/top-five-most-common-vba-errors-and-their-solu > > tions?utm_content=buffer61fac&utm_medium=social&utm_source=linkedin.com&utm_ > campaign=buffer#blogue> > &utm_medium=social&utm_source=linkedin.com&utm_campaign=buffer#blogue > > Of course, this isn't really necessary for us. :) > > r > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at gmail.com Sat Mar 14 15:44:04 2015 From: jwcolby at gmail.com (John W. Colby) Date: Sat, 14 Mar 2015 16:44:04 -0400 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> Message-ID: <55049D94.2080706@gmail.com> I wrote a class set to handle this. Feed in the control to the class and then watch the events. Log changes. John W. Colby On 3/14/2015 12:21 AM, David Emerson wrote: > Hi Team, > > Looking for ideas for implementation. > > Access 2010 FE, SQL 2008 R2 > > A client wants to keep track of some fields in some tables when they are > changed. There are over 50 tables involved and anywhere from 3 to 30 fields > per table. The tables and fields are predefined. Most of the data changes > will be done via Access screens but there are some fields that are changed > through code > > When a field value is changed they want to store in a log table date, person > making change, old value, new value. > > Looking for ideas of how others might have tackled this type of problem > before. > > Regards > > David Emerson > Dalyn Software Ltd > Wellington, New Zealand > > > From fuller.artful at gmail.com Sat Mar 14 16:01:32 2015 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 14 Mar 2015 17:01:32 -0400 Subject: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS In-Reply-To: References: Message-ID: Susan, It's a choice not worth choosing, but technically you are of course correct. The question is, Why on earth would one choose not to go with Option Explicit? And in fact, why would Access offer it Off as the default? Aren't we trying to educate developers in the right way to do things? That said, I must also add that I no longer subscribe to the convention that every variable should be declared at the top of any given sub or function. After decades of experience, I have come to the conclusion that vars should be declared just before they are needed. You might ask, Why have I adopted this convention, rather than the tried-and-true convention of declaring everything up front, even though the declared variable might not be used for several pages into the code? Well, I think that the way I posed the question supplies its own answer. First, in terms of readability, don't bother me with declarations whose relevance don't become important until much later in the code; and second, if I want to be able to copy and paste some really cool snippet, I want to avoid going to the top of the module and grabbing one or two declarations, then returning to the snippet of interest and copy/pasting that part. I've been there and done that way too many times to count, and have instead adopted the convention "Don't declare a variable until it's immediately required." IOW, the compiler will figure it out. On Sat, Mar 14, 2015 at 4:42 PM, Susan Harkins wrote: > Well... > > I disgree with part of 5) -- some of that stuff is beneficial when you > start adding on and enhancing, changing... why take them out? Well, the > Debug.Print anyway... that's just routine for me and I see no reason to > take them out. They come in handy at all stages of the project. > > Option Explicit is a choice. I think it's convenient, but it's a choice. > > Susan H. > > On Sat, Mar 14, 2015 at 4:36 PM, Rocky Smolin > wrote: > > > > > > > > > > http://www.lugh-sci.com/blog/top-five-most-common-vba-errors-and-their-solut > > ions?utm_content=buffer61fac > > < > > > http://www.lugh-sci.com/blog/top-five-most-common-vba-errors-and-their-solu > > > > tions?utm_content=buffer61fac&utm_medium=social&utm_source=linkedin.com > &utm_ > > campaign=buffer#blogue> > > &utm_medium=social&utm_source=linkedin.com&utm_campaign=buffer#blogue > > > > Of course, this isn't really necessary for us. :) > > > > r > > > > -- > > 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 > -- Arthur From gustav at cactus.dk Sat Mar 14 16:04:00 2015 From: gustav at cactus.dk (Gustav Brock) Date: Sat, 14 Mar 2015 21:04:00 +0000 Subject: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS In-Reply-To: References: , Message-ID: <1426367038764.65433@cactus.dk> Hi Susan Really? I would say that Option Explicit is mandatory - considering that it can be marked as default, has zero negative effects, but will save you - and indeed a beginner - for endless trouble. /gustav ________________________________________ Fra: AccessD p? vegne af Susan Harkins Sendt: 14. marts 2015 21:42 Til: Access Developers discussion and problem solving Emne: Re: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS Well... I disgree with part of 5) -- some of that stuff is beneficial when you start adding on and enhancing, changing... why take them out? Well, the Debug.Print anyway... that's just routine for me and I see no reason to take them out. They come in handy at all stages of the project. Option Explicit is a choice. I think it's convenient, but it's a choice. Susan H. From ssharkins at gmail.com Sat Mar 14 16:11:14 2015 From: ssharkins at gmail.com (Susan Harkins) Date: Sat, 14 Mar 2015 17:11:14 -0400 Subject: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS Message-ID: > > > It's a choice not worth choosing, but technically you are of course > correct. The question is, Why on earth would one choose not to go with > Option Explicit? And in fact, why would Access offer it Off as the default? > Aren't we trying to educate developers in the right way to do things? > =============I just don't see is as right or wrong. I wouldn't work without it, but it's a convenience. It's a helpful tool. I don't know why someone would not want it, but I'm guessing someone might. > > First, in terms of readability, > don't bother me with declarations whose relevance don't become important > until much later in the code; and second, if I want to be able to copy and > paste some really cool snippet, I want to avoid going to the top of the > module and grabbing one or two declarations, then returning to the snippet > of interest and copy/pasting that part. =============I agree totally. It doesn't turn up much for me because my functions are usually small, so it's not relevant. But, on the odd occasion when I do produce some long code, it's what I do -- at least now. I'm not sure when I took up that habit. Susan H. From newsgrps at dalyn.co.nz Sat Mar 14 16:11:54 2015 From: newsgrps at dalyn.co.nz (David Emerson) Date: Sun, 15 Mar 2015 10:11:54 +1300 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: <55049D94.2080706@gmail.com> References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> <55049D94.2080706@gmail.com> Message-ID: <004c01d05e9b$803d0990$80b71cb0$@dalyn.co.nz> Hi John, Can you please expand on this: " Feed in the control to the class and then watch the events". Do you mean pass the control as a parameter to the class, or store the list of controls in the class? How are the events watched - by code in the after update? Regards David Emerson Dalyn Software Ltd Wellington, New Zealand -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. Colby Sent: Sunday, 15 March 2015 9:44 a.m. To: Access Developers discussion and problem solving; jaydwhite at bellsouth.net Subject: Re: [AccessD] Audit Trail Suggestions I wrote a class set to handle this. Feed in the control to the class and then watch the events. Log changes. John W. Colby On 3/14/2015 12:21 AM, David Emerson wrote: > Hi Team, > > Looking for ideas for implementation. > > Access 2010 FE, SQL 2008 R2 > > A client wants to keep track of some fields in some tables when they > are changed. There are over 50 tables involved and anywhere from 3 to > 30 fields per table. The tables and fields are predefined. Most of > the data changes will be done via Access screens but there are some > fields that are changed through code > > When a field value is changed they want to store in a log table date, > person making change, old value, new value. > > Looking for ideas of how others might have tackled this type of > problem before. > > Regards > > David Emerson > Dalyn Software Ltd > Wellington, New Zealand > > > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From fuller.artful at gmail.com Sat Mar 14 16:28:17 2015 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 14 Mar 2015 17:28:17 -0400 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: <55049D94.2080706@gmail.com> References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> <55049D94.2080706@gmail.com> Message-ID: Not in the slightest to poo-poo your most significant contributions to the Access community, but your class is of interest only to the (perhaps large) number of users who still use Access as the BE in their app of interest. We've traversed this path many times, and the clear result is that this is the wrong way to design and build apps, unless said app is really trivial, meaning fewer than 20 tables. As for me, I'm concerned with databases comprising 100+ tables. Now and then, for some friend, I will knock off a simple (less than 20 tables) solution, but that's not my zone of comfort. I prefer complex situations. I've done more than a few that involve 500+ tables. That's my comfort zone, and where I can bring some knowledge and experience to the table. Admittedly, these apps are infrequent, but they are the ones that I hold out for. The really tough problems are the ones I love: gene-analysis, and so on. Way back when, I coined an abbreviation, YAFOES, which means Yet Another Forking Order Entry System. No matter how much money you're prepared to toss my way, I am most emphatically not interested in such a gig. Call me uppity if you wish, but at my age and my level of experience, I choose not to travel down that familiar path. I have in mind much larger problems, with much larger implications for the world at large. I want to figure out how to deal with the problem of kids on the street, whose parents have discarded them because they declared themselves LGBT or whatever. That's just one example. Also include the victims of domestic assault, and the very limited number of shelters they can turn to, and the shame they feel that prevents them from turning to such a shelter for help. These are not, I realize, problems that Access developers typically encounter in one day's work. But I've been in this game for a long time, and now that I'm semi-retired, these issues have become of paramount importance. I have volunteered to work for several organizations whose mission pertains to this topic. So it may be that for the next little while I won't be able to respond immediately to messages posted here to me. Right now, it's time to go there. On Sat, Mar 14, 2015 at 4:44 PM, John W. Colby wrote: > I wrote a class set to handle this. Feed in the control to the class and > then watch the events. Log changes. > > John W. Colby > > > On 3/14/2015 12:21 AM, David Emerson wrote: > >> Hi Team, >> >> Looking for ideas for implementation. >> >> Access 2010 FE, SQL 2008 R2 >> >> A client wants to keep track of some fields in some tables when they are >> changed. There are over 50 tables involved and anywhere from 3 to 30 >> fields >> per table. The tables and fields are predefined. Most of the data >> changes >> will be done via Access screens but there are some fields that are changed >> through code >> >> When a field value is changed they want to store in a log table date, >> person >> making change, old value, new value. >> >> Looking for ideas of how others might have tackled this type of problem >> before. >> >> Regards >> >> David Emerson >> Dalyn Software Ltd >> Wellington, New Zealand >> >> >> >> > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- Arthur From stuart at lexacorp.com.pg Sat Mar 14 17:15:58 2015 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Sun, 15 Mar 2015 08:15:58 +1000 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz>, , Message-ID: <5504B31E.4452.2E789B7@stuart.lexacorp.com.pg> Dave actually stipulated SQL Server 2008 R2 as the BE, but most responder appear to have missed that. :( On 14 Mar 2015 at 12:59, Arthur Fuller wrote: > With all due respect, I have always lived by, and continue to survive > by, the simple maxim that anything the database *can *do, the database > *should* do. Given an Access BE, I realize that is not an immediate > help, but it the bigger picture it ought to provoke the question, "Why > an Access BE, when abundant free alternatives are available?" > > Event-logging can and should be done in the BE The technology is all > there and you can tap into it at will; and speaking from experience, > they can do it better than I. > > Two suggestions, therefore: > > a) lose any and all Access BEs on all your projects, and replace them > with any one of SQL Express, MySQL, MariaDB or PostGres; > > b) put all this logic into the SQL engine of your choice, but most > definitely keep it out of your FE! No single error in > database-implementation is more serious than this. > > A. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com From stuart at lexacorp.com.pg Sat Mar 14 17:26:27 2015 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Sun, 15 Mar 2015 08:26:27 +1000 Subject: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS In-Reply-To: References: , Message-ID: <5504B593.17843.2F1220F@stuart.lexacorp.com.pg> Option Explicit is a great safety net. It should be compulsory :) -- Stuart On 14 Mar 2015 at 16:42, Susan Harkins wrote: > Well... > > I disgree with part of 5) -- some of that stuff is beneficial when you > start adding on and enhancing, changing... why take them out? Well, > the Debug.Print anyway... that's just routine for me and I see no > reason to take them out. They come in handy at all stages of the > project. > > Option Explicit is a choice. I think it's convenient, but it's a > choice. > > Susan H. > From jwcolby at gmail.com Sat Mar 14 21:05:19 2015 From: jwcolby at gmail.com (John W. Colby) Date: Sat, 14 Mar 2015 22:05:19 -0400 Subject: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS In-Reply-To: References: Message-ID: <5504E8DF.6060002@gmail.com> I can't believe that they even made it a choice. That should just be required, enforced and no way to turn it off. John W. Colby On 3/14/2015 4:42 PM, Susan Harkins wrote: > Well... > > I disgree with part of 5) -- some of that stuff is beneficial when you > start adding on and enhancing, changing... why take them out? Well, the > Debug.Print anyway... that's just routine for me and I see no reason to > take them out. They come in handy at all stages of the project. > > Option Explicit is a choice. I think it's convenient, but it's a choice. > > Susan H. > > On Sat, Mar 14, 2015 at 4:36 PM, Rocky Smolin > wrote: > >> >> >> http://www.lugh-sci.com/blog/top-five-most-common-vba-errors-and-their-solut >> ions?utm_content=buffer61fac >> < >> http://www.lugh-sci.com/blog/top-five-most-common-vba-errors-and-their-solu >> >> tions?utm_content=buffer61fac&utm_medium=social&utm_source=linkedin.com&utm_ >> campaign=buffer#blogue> >> &utm_medium=social&utm_source=linkedin.com&utm_campaign=buffer#blogue >> >> Of course, this isn't really necessary for us. :) >> >> r >> >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> From jwcolby at gmail.com Sat Mar 14 21:11:36 2015 From: jwcolby at gmail.com (John W. Colby) Date: Sat, 14 Mar 2015 22:11:36 -0400 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: <004c01d05e9b$803d0990$80b71cb0$@dalyn.co.nz> References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> <55049D94.2080706@gmail.com> <004c01d05e9b$803d0990$80b71cb0$@dalyn.co.nz> Message-ID: <5504EA58.5090301@gmail.com> The class "wraps" a control. Pass a single instance of a control into a single instance of a class. Then the code to sink the events for that control is embedded in the class. The code to log the data is embedded in the class and so forth. If you have 10 text boxes, then you have 10 instances of the text box logger class, one for each text box. If you have 13 radio buttons then you have 13 instances of the radio button logger class. Etc. You need a class for each type of control simply because the event sink(s) cannot be generalized. The control has to be passed in to the class "as textbox" or "as combobox" etc. I actually did this as part of my framework and it works very well. John W. Colby On 3/14/2015 5:11 PM, David Emerson wrote: > Hi John, > > Can you please expand on this: " Feed in the control to the class and then > watch the events". > > Do you mean pass the control as a parameter to the class, or store the list > of controls in the class? > How are the events watched - by code in the after update? > > Regards > > David Emerson > Dalyn Software Ltd > Wellington, New Zealand > > > > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > John W. Colby > Sent: Sunday, 15 March 2015 9:44 a.m. > To: Access Developers discussion and problem solving; > jaydwhite at bellsouth.net > Subject: Re: [AccessD] Audit Trail Suggestions > > I wrote a class set to handle this. Feed in the control to the class and > then watch the events. Log changes. > > John W. Colby > > On 3/14/2015 12:21 AM, David Emerson wrote: >> Hi Team, >> >> Looking for ideas for implementation. >> >> Access 2010 FE, SQL 2008 R2 >> >> A client wants to keep track of some fields in some tables when they >> are changed. There are over 50 tables involved and anywhere from 3 to >> 30 fields per table. The tables and fields are predefined. Most of >> the data changes will be done via Access screens but there are some >> fields that are changed through code >> >> When a field value is changed they want to store in a log table date, >> person making change, old value, new value. >> >> Looking for ideas of how others might have tackled this type of >> problem before. >> >> Regards >> >> David Emerson >> Dalyn Software Ltd >> Wellington, New Zealand >> >> >> > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From bensonforums at gmail.com Sat Mar 14 21:13:26 2015 From: bensonforums at gmail.com (Bill Benson) Date: Sat, 14 Mar 2015 22:13:26 -0400 Subject: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS In-Reply-To: <5504B593.17843.2F1220F@stuart.lexacorp.com.pg> References: <5504B593.17843.2F1220F@stuart.lexacorp.com.pg> Message-ID: I like to add it to all the projects I inherit from other people just to gain some perverse satisfaction from seeing how poor my predecessors have been in declaring variables. Makes me feel better, I guess. But seriously, if it is not a choice, then it's about as sensible a choice as choosing to not wear a seat belt. For a few moments of uninterrupted freedom while driving, you gain so little, and risk much more. If not using Option explicit, every variable used lends itself to evil type coercion, because the compiler makes them variants by default. I see zero benefit in that, and allows one the "freedom" to write just plain bad code for you (when you've later forgot even why you wanted a variable to be whatever it ought to be) - or worse, someone who is already struggling enough to figure out what the heck you were doing - to have to fix later. Why fight the reasonableness of wearing your seat belt? On Mar 14, 2015 6:28 PM, "Stuart McLachlan" wrote: > Option Explicit is a great safety net. It should be compulsory :) > > -- > Stuart > > On 14 Mar 2015 at 16:42, Susan Harkins wrote: > > > Well... > > > > I disgree with part of 5) -- some of that stuff is beneficial when you > > start adding on and enhancing, changing... why take them out? Well, > > the Debug.Print anyway... that's just routine for me and I see no > > reason to take them out. They come in handy at all stages of the > > project. > > > > Option Explicit is a choice. I think it's convenient, but it's a > > choice. > > > > Susan H. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at gmail.com Sat Mar 14 21:20:46 2015 From: jwcolby at gmail.com (John W. Colby) Date: Sat, 14 Mar 2015 22:20:46 -0400 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> <55049D94.2080706@gmail.com> Message-ID: <5504EC7E.10509@gmail.com> LOL. Arthur the sad fact is that there are a TON of apps out there in a TON of companies who use ACCESS as the BE. I left Connecticut and the company for whome I wrote a call center app in 2006. I wrote this app from the ground up starting in 2003 and SQl Server was not an option back then. Once it was, I was not given permission to perform the migration. I was telling them this whole time "move it to SQL Server". THIS YEAR, I got an email from my old buddy John informing me that they had FINALLY migrated the app to SQL Server. So Poo Poo all you want old buddy. If you are elbow deep in an app and a company clinging for dear life to the Access BE, you do what you gotta do, and that is when "my class" works, neatly, cleanly and easily. John W. Colby On 3/14/2015 5:28 PM, Arthur Fuller wrote: > Not in the slightest to poo-poo your most significant contributions to the > Access community, but your class is of interest only to the (perhaps large) > number of users who still use Access as the BE in their app of interest. > We've traversed this path many times, and the clear result is that this is > the wrong way to design and build apps, unless said app is really trivial, > meaning fewer than 20 tables. > > As for me, I'm concerned with databases comprising 100+ tables. Now and > then, for some friend, I will knock off a simple (less than 20 tables) > solution, but that's not my zone of comfort. I prefer complex situations. > I've done more than a few that involve 500+ tables. That's my comfort zone, > and where I can bring some knowledge and experience to the table. > > Admittedly, these apps are infrequent, but they are the ones that I hold > out for. The really tough problems are the ones I love: gene-analysis, and > so on. Way back when, I coined an abbreviation, YAFOES, which means Yet > Another Forking Order Entry System. No matter how much money you're > prepared to toss my way, I am most emphatically not interested in such a > gig. Call me uppity if you wish, but at my age and my level of experience, > I choose not to travel down that familiar path. I have in mind much larger > problems, with much larger implications for the world at large. > > I want to figure out how to deal with the problem of kids on the street, > whose parents have discarded them because they declared themselves LGBT or > whatever. That's just one example. Also include the victims of domestic > assault, and the very limited number of shelters they can turn to, and the > shame they feel that prevents them from turning to such a shelter for help. > > These are not, I realize, problems that Access developers typically > encounter in one day's work. But I've been in this game for a long time, > and now that I'm semi-retired, these issues have become of paramount > importance. I have volunteered to work for several organizations whose > mission pertains to this topic. > > So it may be that for the next little while I won't be able to respond > immediately to messages posted here to me. > > Right now, it's time to go there. > > On Sat, Mar 14, 2015 at 4:44 PM, John W. Colby wrote: > >> I wrote a class set to handle this. Feed in the control to the class and >> then watch the events. Log changes. >> >> John W. Colby >> >> >> On 3/14/2015 12:21 AM, David Emerson wrote: >> >>> Hi Team, >>> >>> Looking for ideas for implementation. >>> From jwcolby at gmail.com Sat Mar 14 21:23:03 2015 From: jwcolby at gmail.com (John W. Colby) Date: Sat, 14 Mar 2015 22:23:03 -0400 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: <5504B31E.4452.2E789B7@stuart.lexacorp.com.pg> References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz>, , <5504B31E.4452.2E789B7@stuart.lexacorp.com.pg> Message-ID: <5504ED07.2090106@gmail.com> Ahh so he did. :( John W. Colby On 3/14/2015 6:15 PM, Stuart McLachlan wrote: > Dave actually stipulated SQL Server 2008 R2 as the BE, but most responder appear to have > missed that. :( > > On 14 Mar 2015 at 12:59, Arthur Fuller wrote: > >> With all due respect, I have always lived by, and continue to survive >> by, the simple maxim that anything the database *can *do, the database >> *should* do. Given an Access BE, I realize that is not an immediate >> help, but it the bigger picture it ought to provoke the question, "Why >> an Access BE, when abundant free alternatives are available?" >> >> Event-logging can and should be done in the BE The technology is all >> there and you can tap into it at will; and speaking from experience, >> they can do it better than I. >> >> Two suggestions, therefore: >> >> a) lose any and all Access BEs on all your projects, and replace them >> with any one of SQL Express, MySQL, MariaDB or PostGres; >> >> b) put all this logic into the SQL engine of your choice, but most >> definitely keep it out of your FE! No single error in >> database-implementation is more serious than this. >> >> A. >> >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com > > From rockysmolin at bchacc.com Sun Mar 15 00:41:22 2015 From: rockysmolin at bchacc.com (Rocky Smolin) Date: Sat, 14 Mar 2015 22:41:22 -0700 Subject: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS In-Reply-To: <1426367038764.65433@cactus.dk> References: , <1426367038764.65433@cactus.dk> Message-ID: <7AD99C9F112842F79A5BD65A7D131288@HAL9007> How do you mark it as default - on 2003? I never found a setting for that. R -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Saturday, March 14, 2015 2:04 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS Hi Susan Really? I would say that Option Explicit is mandatory - considering that it can be marked as default, has zero negative effects, but will save you - and indeed a beginner - for endless trouble. /gustav ________________________________________ Fra: AccessD p? vegne af Susan Harkins Sendt: 14. marts 2015 21:42 Til: Access Developers discussion and problem solving Emne: Re: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS Well... I disgree with part of 5) -- some of that stuff is beneficial when you start adding on and enhancing, changing... why take them out? Well, the Debug.Print anyway... that's just routine for me and I see no reason to take them out. They come in handy at all stages of the project. Option Explicit is a choice. I think it's convenient, but it's a choice. Susan H. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From gustav at cactus.dk Sun Mar 15 03:49:10 2015 From: gustav at cactus.dk (Gustav Brock) Date: Sun, 15 Mar 2015 08:49:10 +0000 Subject: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS In-Reply-To: <7AD99C9F112842F79A5BD65A7D131288@HAL9007> References: , <1426367038764.65433@cactus.dk>, <7AD99C9F112842F79A5BD65A7D131288@HAL9007> Message-ID: <1426409356836.32237@cactus.dk> Hi Rocky I don't think it has changed: Tools, Options, Editor, Require Variable Declaration /gustav ________________________________________ Fra: AccessD p? vegne af Rocky Smolin Sendt: 15. marts 2015 06:41 Til: 'Access Developers discussion and problem solving' Emne: Re: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS How do you mark it as default - on 2003? I never found a setting for that. R -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Saturday, March 14, 2015 2:04 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS Hi Susan Really? I would say that Option Explicit is mandatory - considering that it can be marked as default, has zero negative effects, but will save you - and indeed a beginner - for endless trouble. /gustav From bensonforums at gmail.com Sun Mar 15 06:28:54 2015 From: bensonforums at gmail.com (Bill Benson) Date: Sun, 15 Mar 2015 07:28:54 -0400 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: I am wondering if something like this might work? Select CallNo, AssignDate,TechID >From tblCallsTechs as A Where not exists (Select AssignDate,TechID from tblCallsTechs as B where A.CallNo = B.CallNo and A.AssignDate > B.CallDate) From rockysmolin at bchacc.com Sun Mar 15 08:54:54 2015 From: rockysmolin at bchacc.com (Rocky Smolin) Date: Sun, 15 Mar 2015 06:54:54 -0700 Subject: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS In-Reply-To: <1426409356836.32237@cactus.dk> References: , <1426367038764.65433@cactus.dk>, <7AD99C9F112842F79A5BD65A7D131288@HAL9007> <1426409356836.32237@cactus.dk> Message-ID: <8843F385354A47FC811799D039C3647B@HAL9007> There it is! Thanks - never knew where it was - or if it was. R -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, March 15, 2015 1:49 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS Hi Rocky I don't think it has changed: Tools, Options, Editor, Require Variable Declaration /gustav ________________________________________ Fra: AccessD p? vegne af Rocky Smolin Sendt: 15. marts 2015 06:41 Til: 'Access Developers discussion and problem solving' Emne: Re: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS How do you mark it as default - on 2003? I never found a setting for that. R -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Saturday, March 14, 2015 2:04 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] TOP FIVE MOST COMMON VBA ERRORS AND THEIR SOLUTIONS Hi Susan Really? I would say that Option Explicit is mandatory - considering that it can be marked as default, has zero negative effects, but will save you - and indeed a beginner - for endless trouble. /gustav -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From gustav at cactus.dk Sun Mar 15 12:15:47 2015 From: gustav at cactus.dk (Gustav Brock) Date: Sun, 15 Mar 2015 17:15:47 +0000 Subject: [AccessD] Check connection to SQL Server silently Message-ID: <1426439754141.23474@cactus.dk> Hi all If you try to access an SQL Server table via ODBC and DAO when the server is offline, before any error is thrown two message boxes pop up from the driver, one large (Microsoft SQL Server Logon) with an extended message, one small (SQL Server Logon) with an option to login (which is of no use at all). I found this which uses ADO to check the connection without these messages: http://bytes.com/topic/access/answers/201502-how-suppress-odbc-connection-dialog but can it really not be done with DAO and Access 2013? You could with the OpenConnection method for a ODBCDirect workspace but this was removed in A2013. If I have to use ADO, which version should I reference in A2013? I see 2.0, 2.5, 2.6, 2.7, 2.8, and 6.1. The application will run with an A2013 runtime. /gustav From gustav at cactus.dk Sun Mar 15 12:51:32 2015 From: gustav at cactus.dk (Gustav Brock) Date: Sun, 15 Mar 2015 17:51:32 +0000 Subject: [AccessD] Check connection to SQL Server silently In-Reply-To: <1426439754141.23474@cactus.dk> References: <1426439754141.23474@cactus.dk> Message-ID: <1426441899554.93101@cactus.dk> Hi all When I run that code which uses late binding, and I check the version, it reports 6.3. How is that? I see no such version listed? Is it native to Windows 8.1 which Access 2013 just knows about? By the way, it takes less than 1/100 second to load that object. I've always had the impression, that late binding was a bit slow. Is it just ADO that loads this fast? /gustav ________________________________________ Fra: AccessD p? vegne af Gustav Brock Sendt: 15. marts 2015 18:15 Til: Access Developers discussion and problem solving Emne: [AccessD] Check connection to SQL Server silently Hi all If you try to access an SQL Server table via ODBC and DAO when the server is offline, before any error is thrown two message boxes pop up from the driver, one large (Microsoft SQL Server Logon) with an extended message, one small (SQL Server Logon) with an option to login (which is of no use at all). I found this which uses ADO to check the connection without these messages: http://bytes.com/topic/access/answers/201502-how-suppress-odbc-connection-dialog but can it really not be done with DAO and Access 2013? You could with the OpenConnection method for a ODBCDirect workspace but this was removed in A2013. If I have to use ADO, which version should I reference in A2013? I see 2.0, 2.5, 2.6, 2.7, 2.8, and 6.1. The application will run with an A2013 runtime. /gustav From jbodin at sbor.com Sun Mar 15 20:27:17 2015 From: jbodin at sbor.com (John Bodin) Date: Mon, 16 Mar 2015 01:27:17 +0000 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: Hi Bill, I tried this and although it fires off and returns records, it seems to exclude entire sequences of calls altogether. I didn't dig too deeply into this as Don's suggestion seems to have worked. Thanks for the reply and code. John -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bill Benson Sent: Sunday, March 15, 2015 7:29 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Query Help Needed I am wondering if something like this might work? Select CallNo, AssignDate,TechID >From tblCallsTechs as A Where not exists (Select AssignDate,TechID from tblCallsTechs as B where A.CallNo = B.CallNo and A.AssignDate > B.CallDate) -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From bensonforums at gmail.com Sun Mar 15 22:38:13 2015 From: bensonforums at gmail.com (Bill Benson) Date: Sun, 15 Mar 2015 23:38:13 -0400 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: Yeah it was just a check.... I think something like it could work but generally Exists and Not Exists run better with Pks. On Mar 15, 2015 9:29 PM, "John Bodin" wrote: > Hi Bill, > > I tried this and although it fires off and returns records, it seems to > exclude entire sequences of calls altogether. I didn't dig too deeply into > this as Don's suggestion seems to have worked. Thanks for the reply and > code. > > John > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Bill Benson > Sent: Sunday, March 15, 2015 7:29 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Query Help Needed > > I am wondering if something like this might work? > > Select CallNo, AssignDate,TechID > From tblCallsTechs as A > Where not exists > (Select AssignDate,TechID from > tblCallsTechs as B where A.CallNo = B.CallNo and A.AssignDate > B.CallDate) > -- > 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 > From DMcGillivray at ctc.ca.gov Mon Mar 16 10:50:45 2015 From: DMcGillivray at ctc.ca.gov (McGillivray, Don) Date: Mon, 16 Mar 2015 15:50:45 +0000 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> Message-ID: A little late to the party, but thought I'd chime in with an approach that I've encountered. At my current job we use an off-the-shelf product based on an Oracle backend. The application layer implements optional audit tracking, selectable at a data entity level. But instead of writing a record to the audit table for every single column value change, it summarizes all the changes that occurred in each update event, concatenating the results into a specially delimited string. Separate fields capture the ID of the affected record, the user ID, and date, but all the change information is embedded in a single (admittedly hideous) value. In the case of our application, each value in the string is preceded by an asterisk followed by a value indicating the length of the value to follow, followed by the value itself, with column names, old values, and new values presented in pairs in a predictable sequence. Something like (air code here): *#ColumnName1*#ColumnName2*#OldValue1*#OldValue2*#NewValue1*#NewValue2 There may be some other data at the head of the string, such as column count or some such, but you get the idea. This strategy represents a shift from a one column/one record approach that was originally used with the product, and presumably was implemented to reduce the number of records required to house audit data in large scale implementations. If you anticipate a large volume of audit data as the result of your audit tracking, it may be worth considering a similar strategy. Of course, you'd need to build the secret decoder ring to translate the arcane delimited string into something human readable, and there's processing overhead associated with that, and I'll tell you from experience that writing useful queries against that delimited string is a total PITA. Still, folks a lot smarter than me came up with the idea, so something like it may be worth considering, depending on the circumstances. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David Emerson Sent: Friday, March 13, 2015 9:22 PM To: AccessD Subject: [AccessD] Audit Trail Suggestions Hi Team, Looking for ideas for implementation. Access 2010 FE, SQL 2008 R2 A client wants to keep track of some fields in some tables when they are changed. There are over 50 tables involved and anywhere from 3 to 30 fields per table. The tables and fields are predefined. Most of the data changes will be done via Access screens but there are some fields that are changed through code When a field value is changed they want to store in a log table date, person making change, old value, new value. Looking for ideas of how others might have tackled this type of problem before. Regards David Emerson Dalyn Software Ltd Wellington, New Zealand -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From bensonforums at gmail.com Mon Mar 16 11:54:20 2015 From: bensonforums at gmail.com (Bill Benson) Date: Mon, 16 Mar 2015 12:54:20 -0400 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: I don't understand what could be different between our data sets, but I tried out my query on this data set and there was no omitted results so far as I can see: ID CallNo TechID AssignDate 1 1 1 02-Jan-15 2 1 2 03-Jan-15 3 2 1 15-Jan-15 4 3 1 20-Jan-15 5 4 2 20-Jan-15 6 4 1 22-Jan-15 Query: Select CallNo, AssignDate,TechID From Table1 as A Where not exists (Select AssignDate,TechID from Table1 as B where A.CallNo = B.CallNo and A.AssignDate > B.AssignDate) Result (which I believe to be accurate - if not, let me know) CallNo AssignDate TechID 1 1/2/2015 1 2 1/15/2015 1 3 1/20/2015 1 4 1/20/2015 2 On Sun, Mar 15, 2015 at 9:27 PM, John Bodin wrote: > Hi Bill, > > I tried this and although it fires off and returns records, it seems to > exclude entire sequences of calls altogether. I didn't dig too deeply into > this as Don's suggestion seems to have worked. Thanks for the reply and > code. > > John > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Bill Benson > Sent: Sunday, March 15, 2015 7:29 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Query Help Needed > > I am wondering if something like this might work? > > Select CallNo, AssignDate,TechID > From tblCallsTechs as A > Where not exists > (Select AssignDate,TechID from > tblCallsTechs as B where A.CallNo = B.CallNo and A.AssignDate > B.CallDate) > -- > 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 > From jbodin at sbor.com Mon Mar 16 12:06:54 2015 From: jbodin at sbor.com (John Bodin) Date: Mon, 16 Mar 2015 17:06:54 +0000 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: That is what supposed to happen, you are right. Again, I didn't test it out very much but did get it to run. There were dates completely missing. The Exists/not Exists statements are something I forgot about and haven't used very much apparently. Good to know of another option to IN(). -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bill Benson Sent: Monday, March 16, 2015 12:54 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Query Help Needed I don't understand what could be different between our data sets, but I tried out my query on this data set and there was no omitted results so far as I can see: ID CallNo TechID AssignDate 1 1 1 02-Jan-15 2 1 2 03-Jan-15 3 2 1 15-Jan-15 4 3 1 20-Jan-15 5 4 2 20-Jan-15 6 4 1 22-Jan-15 Query: Select CallNo, AssignDate,TechID From Table1 as A Where not exists (Select AssignDate,TechID from Table1 as B where A.CallNo = B.CallNo and A.AssignDate > B.AssignDate) Result (which I believe to be accurate - if not, let me know) CallNo AssignDate TechID 1 1/2/2015 1 2 1/15/2015 1 3 1/20/2015 1 4 1/20/2015 2 On Sun, Mar 15, 2015 at 9:27 PM, John Bodin wrote: > Hi Bill, > > I tried this and although it fires off and returns records, it seems > to exclude entire sequences of calls altogether. I didn't dig too > deeply into this as Don's suggestion seems to have worked. Thanks for > the reply and code. > > John > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > Of Bill Benson > Sent: Sunday, March 15, 2015 7:29 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Query Help Needed > > I am wondering if something like this might work? > > Select CallNo, AssignDate,TechID > From tblCallsTechs as A > Where not exists > (Select AssignDate,TechID from > tblCallsTechs as B where A.CallNo = B.CallNo and A.AssignDate > > B.CallDate) > -- > 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 > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From bensonforums at gmail.com Mon Mar 16 12:12:30 2015 From: bensonforums at gmail.com (Bill Benson) Date: Mon, 16 Mar 2015 13:12:30 -0400 Subject: [AccessD] Query Help Needed In-Reply-To: References: Message-ID: Beats me what the queryplanner does, it might jettify the whole thing into the same lump of query code anyway, Yeah, I like options and this was the first simple case of using Not Exists I have every had the pleasure of trying out. I almost want to thank you for the challenge On Mon, Mar 16, 2015 at 1:06 PM, John Bodin wrote: > That is what supposed to happen, you are right. Again, I didn't test it > out very much but did get it to run. There were dates completely missing. > The Exists/not Exists statements are something I forgot about and haven't > used very much apparently. Good to know of another option to IN(). > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Bill Benson > Sent: Monday, March 16, 2015 12:54 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Query Help Needed > > I don't understand what could be different between our data sets, but I > tried out my query on this data set and there was no omitted results so far > as I can see: > > ID CallNo TechID AssignDate > 1 1 1 02-Jan-15 > 2 1 2 03-Jan-15 > 3 2 1 15-Jan-15 > 4 3 1 20-Jan-15 > 5 4 2 20-Jan-15 > 6 4 1 22-Jan-15 > > > Query: > > Select CallNo, AssignDate,TechID > From Table1 as A > Where not exists > (Select AssignDate,TechID from > Table1 as B where A.CallNo = B.CallNo and A.AssignDate > B.AssignDate) > > Result (which I believe to be accurate - if not, let me know) > > CallNo AssignDate TechID > 1 1/2/2015 1 > 2 1/15/2015 1 > 3 1/20/2015 1 > 4 1/20/2015 2 > > On Sun, Mar 15, 2015 at 9:27 PM, John Bodin wrote: > > > Hi Bill, > > > > I tried this and although it fires off and returns records, it seems > > to exclude entire sequences of calls altogether. I didn't dig too > > deeply into this as Don's suggestion seems to have worked. Thanks for > > the reply and code. > > > > John > > > > -----Original Message----- > > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > > Of Bill Benson > > Sent: Sunday, March 15, 2015 7:29 AM > > To: Access Developers discussion and problem solving > > Subject: Re: [AccessD] Query Help Needed > > > > I am wondering if something like this might work? > > > > Select CallNo, AssignDate,TechID > > From tblCallsTechs as A > > Where not exists > > (Select AssignDate,TechID from > > tblCallsTechs as B where A.CallNo = B.CallNo and A.AssignDate > > > B.CallDate) > > -- > > 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 > > > -- > 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 > From newsgrps at dalyn.co.nz Mon Mar 16 13:47:49 2015 From: newsgrps at dalyn.co.nz (David Emerson) Date: Tue, 17 Mar 2015 07:47:49 +1300 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> Message-ID: <000c01d06019$b4445390$1cccfab0$@dalyn.co.nz> Thanks Don for the suggestion. In my case I am not expecting too many changes so a single record per field will suffice. Regards David Emerson Dalyn Software Ltd Wellington, New Zealand -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of McGillivray, Don Sent: Tuesday, 17 March 2015 4:51 a.m. To: Access Developers discussion and problem solving Subject: Re: [AccessD] Audit Trail Suggestions A little late to the party, but thought I'd chime in with an approach that I've encountered. At my current job we use an off-the-shelf product based on an Oracle backend. The application layer implements optional audit tracking, selectable at a data entity level. But instead of writing a record to the audit table for every single column value change, it summarizes all the changes that occurred in each update event, concatenating the results into a specially delimited string. Separate fields capture the ID of the affected record, the user ID, and date, but all the change information is embedded in a single (admittedly hideous) value. In the case of our application, each value in the string is preceded by an asterisk followed by a value indicating the length of the value to follow, followed by the value itself, with column names, old values, and new values presented in pairs in a predictable sequence. Something like (air code here): *#ColumnName1*#ColumnName2*#OldValue1*#OldValue2*#NewValue1*#NewValue2 There may be some other data at the head of the string, such as column count or some such, but you get the idea. This strategy represents a shift from a one column/one record approach that was originally used with the product, and presumably was implemented to reduce the number of records required to house audit data in large scale implementations. If you anticipate a large volume of audit data as the result of your audit tracking, it may be worth considering a similar strategy. Of course, you'd need to build the secret decoder ring to translate the arcane delimited string into something human readable, and there's processing overhead associated with that, and I'll tell you from experience that writing useful queries against that delimited string is a total PITA. Still, folks a lot smarter than me came up with the idea, so something like it may be worth considering, depending on the circumstances. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David Emerson Sent: Friday, March 13, 2015 9:22 PM To: AccessD Subject: [AccessD] Audit Trail Suggestions Hi Team, Looking for ideas for implementation. Access 2010 FE, SQL 2008 R2 A client wants to keep track of some fields in some tables when they are changed. There are over 50 tables involved and anywhere from 3 to 30 fields per table. The tables and fields are predefined. Most of the data changes will be done via Access screens but there are some fields that are changed through code When a field value is changed they want to store in a log table date, person making change, old value, new value. Looking for ideas of how others might have tackled this type of problem before. Regards David Emerson Dalyn Software Ltd Wellington, New Zealand -- 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 From gustav at cactus.dk Mon Mar 16 14:19:51 2015 From: gustav at cactus.dk (Gustav Brock) Date: Mon, 16 Mar 2015 19:19:51 +0000 Subject: [AccessD] Office 2016 preview Message-ID: Hi all Study here: http://blogs.office.com/2015/03/16/announcing-the-office-2016-it-pro-and-developer-preview/ /gustav From jwcolby at gmail.com Mon Mar 16 14:45:59 2015 From: jwcolby at gmail.com (John W. Colby) Date: Mon, 16 Mar 2015 15:45:59 -0400 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: <000c01d06019$b4445390$1cccfab0$@dalyn.co.nz> References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> <000c01d06019$b4445390$1cccfab0$@dalyn.co.nz> Message-ID: <550732F7.6010303@gmail.com> >>>Of course, you'd need to build the secret decoder ring to translate the arcane delimited string into something human readable, and there's processing overhead associated with that, and I'll tell you from experience that writing useful queries against that delimited string is a total PITA. Uhhh yea. So if you don't anticipate ever needing to query the change log then this might work. The issue becomes if you want to find a change "sometime this last year in field xyz of table K". How do you do that? The strategy I used was to build a table of table names, a child table of field names and then a log of FldID (contained TblID)/RecID/UserID/DteTime/OldVal/NewVal/DataType. That strategy allowed easy querying of any of the various major IDs, plus the values etc. The system used a cache of the table/field info and added new tables / fields as new ones were encountered. Thus is a field was never edited, then it never cluttered up the system. In the systems that implemented this, specific fields were "hot" and edited a lot. Most fields were cold and rarely / never edited. But yea, actually trying to get data back out of a denormalized "string" system would be pretty darned difficult. John W. Colby On 3/16/2015 2:47 PM, David Emerson wrote: > Thanks Don for the suggestion. In my case I am not expecting too many > changes so a single record per field will suffice. > > Regards > > David Emerson > Dalyn Software Ltd > Wellington, New Zealand > > > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > McGillivray, Don > Sent: Tuesday, 17 March 2015 4:51 a.m. > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Audit Trail Suggestions > > A little late to the party, but thought I'd chime in with an approach that > I've encountered. > > At my current job we use an off-the-shelf product based on an Oracle > backend. The application layer implements optional audit tracking, > selectable at a data entity level. But instead of writing a record to the > audit table for every single column value change, it summarizes all the > changes that occurred in each update event, concatenating the results into a > specially delimited string. Separate fields capture the ID of the affected > record, the user ID, and date, but all the change information is embedded in > a single (admittedly hideous) value. In the case of our application, each > value in the string is preceded by an asterisk followed by a value > indicating the length of the value to follow, followed by the value itself, > with column names, old values, and new values presented in pairs in a > predictable sequence. Something like (air code here): > > *#ColumnName1*#ColumnName2*#OldValue1*#OldValue2*#NewValue1*#NewValue2 > > There may be some other data at the head of the string, such as column count > or some such, but you get the idea. > > This strategy represents a shift from a one column/one record approach that > was originally used with the product, and presumably was implemented to > reduce the number of records required to house audit data in large scale > implementations. If you anticipate a large volume of audit data as the > result of your audit tracking, it may be worth considering a similar > strategy. Of course, you'd need to build the secret decoder ring to > translate the arcane delimited string into something human readable, and > there's processing overhead associated with that, and I'll tell you from > experience that writing useful queries against that delimited string is a > total PITA. Still, folks a lot smarter than me came up with the idea, so > something like it may be worth considering, depending on the circumstances. > > > > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > David Emerson > Sent: Friday, March 13, 2015 9:22 PM > To: AccessD > Subject: [AccessD] Audit Trail Suggestions > > Hi Team, > > Looking for ideas for implementation. > > Access 2010 FE, SQL 2008 R2 > > A client wants to keep track of some fields in some tables when they are > changed. There are over 50 tables involved and anywhere from 3 to 30 fields > per table. The tables and fields are predefined. Most of the data changes > will be done via Access screens but there are some fields that are changed > through code > > When a field value is changed they want to store in a log table date, person > making change, old value, new value. > > Looking for ideas of how others might have tackled this type of problem > before. > > Regards > > David Emerson > Dalyn Software Ltd > Wellington, New Zealand > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at gmail.com Mon Mar 16 15:07:35 2015 From: jwcolby at gmail.com (John W. Colby) Date: Mon, 16 Mar 2015 16:07:35 -0400 Subject: [AccessD] Access trying to launch Visual Studio Message-ID: <55073807.8000700@gmail.com> Does anyone know why Access tries to launch Visual Studio when I go into the code editor? Windows 2007 Office 2003 Office 2007 Visual Studio 2010 -- John W. Colby From df.waters at outlook.com Mon Mar 16 15:14:46 2015 From: df.waters at outlook.com (Dan Waters) Date: Mon, 16 Mar 2015 15:14:46 -0500 Subject: [AccessD] Access trying to launch Visual Studio In-Reply-To: <55073807.8000700@gmail.com> References: <55073807.8000700@gmail.com> Message-ID: Hi John, That happened to me repeatedly until I upgraded Visual Studio. You can upgrade to VS 2013 Community Edition (free) now. Later this year, the 2015 version of VS Community will be released. Be sure to completely uninstall VS 2010 first!!! Good Luck, Dan -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. Colby Sent: Monday, March 16, 2015 3:08 PM To: Access Developers discussion and problem solving; jwcolby at gmail.com Subject: [AccessD] Access trying to launch Visual Studio Does anyone know why Access tries to launch Visual Studio when I go into the code editor? Windows 2007 Office 2003 Office 2007 Visual Studio 2010 -- John W. Colby -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From DMcGillivray at ctc.ca.gov Mon Mar 16 15:41:06 2015 From: DMcGillivray at ctc.ca.gov (McGillivray, Don) Date: Mon, 16 Mar 2015 20:41:06 +0000 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: <550732F7.6010303@gmail.com> References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> <000c01d06019$b4445390$1cccfab0$@dalyn.co.nz> <550732F7.6010303@gmail.com> Message-ID: Well somewhere in the bowels of the application layer is a function or some such that parses the nasty string so the application can display the history, but it's available for use only within the context of the application. For querying directly against the database, I built a function in Oracle that parses the string and optionally allows me to specify a target column, old value, and/or new value. That way if I'm looking for audit records where the value of column x from table y changed from a to z, or from a to any other value, etc., I can pass the string to the function with the appropriate parameters and select those rows where a value is returned by the function. It's crazy expensive, and I hate using it. Thankfully, we don't have many requests for data that require me to interrogate that string. Not my design, and like I said - a total PITA, but possibly useful in some contexts. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. Colby Sent: Monday, March 16, 2015 12:46 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Audit Trail Suggestions >>>Of course, you'd need to build the secret decoder ring to translate the arcane delimited string into something human readable, and there's processing overhead associated with that, and I'll tell you from experience that writing useful queries against that delimited string is a total PITA. Uhhh yea. So if you don't anticipate ever needing to query the change log then this might work. The issue becomes if you want to find a change "sometime this last year in field xyz of table K". How do you do that? The strategy I used was to build a table of table names, a child table of field names and then a log of FldID (contained TblID)/RecID/UserID/DteTime/OldVal/NewVal/DataType. That strategy allowed easy querying of any of the various major IDs, plus the values etc. The system used a cache of the table/field info and added new tables / fields as new ones were encountered. Thus is a field was never edited, then it never cluttered up the system. In the systems that implemented this, specific fields were "hot" and edited a lot. Most fields were cold and rarely / never edited. But yea, actually trying to get data back out of a denormalized "string" system would be pretty darned difficult. John W. Colby On 3/16/2015 2:47 PM, David Emerson wrote: > Thanks Don for the suggestion. In my case I am not expecting too many > changes so a single record per field will suffice. > > Regards > > David Emerson > Dalyn Software Ltd > Wellington, New Zealand > > > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > Of McGillivray, Don > Sent: Tuesday, 17 March 2015 4:51 a.m. > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Audit Trail Suggestions > > A little late to the party, but thought I'd chime in with an approach > that I've encountered. > > At my current job we use an off-the-shelf product based on an Oracle > backend. The application layer implements optional audit tracking, > selectable at a data entity level. But instead of writing a record to > the audit table for every single column value change, it summarizes > all the changes that occurred in each update event, concatenating the > results into a specially delimited string. Separate fields capture > the ID of the affected record, the user ID, and date, but all the > change information is embedded in a single (admittedly hideous) value. > In the case of our application, each value in the string is preceded > by an asterisk followed by a value indicating the length of the value > to follow, followed by the value itself, with column names, old > values, and new values presented in pairs in a predictable sequence. Something like (air code here): > > *#ColumnName1*#ColumnName2*#OldValue1*#OldValue2*#NewValue1*#NewValue2 > > There may be some other data at the head of the string, such as column > count or some such, but you get the idea. > > This strategy represents a shift from a one column/one record approach > that was originally used with the product, and presumably was > implemented to reduce the number of records required to house audit > data in large scale implementations. If you anticipate a large volume > of audit data as the result of your audit tracking, it may be worth > considering a similar strategy. Of course, you'd need to build the > secret decoder ring to translate the arcane delimited string into > something human readable, and there's processing overhead associated > with that, and I'll tell you from experience that writing useful > queries against that delimited string is a total PITA. Still, folks a > lot smarter than me came up with the idea, so something like it may be worth considering, depending on the circumstances. > > > > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > Of David Emerson > Sent: Friday, March 13, 2015 9:22 PM > To: AccessD > Subject: [AccessD] Audit Trail Suggestions > > Hi Team, > > Looking for ideas for implementation. > > Access 2010 FE, SQL 2008 R2 > > A client wants to keep track of some fields in some tables when they > are changed. There are over 50 tables involved and anywhere from 3 to > 30 fields per table. The tables and fields are predefined. Most of > the data changes will be done via Access screens but there are some > fields that are changed through code > > When a field value is changed they want to store in a log table date, > person making change, old value, new value. > > Looking for ideas of how others might have tackled this type of > problem before. > > Regards > > David Emerson > Dalyn Software Ltd > Wellington, New Zealand > > > > -- > 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 From jwcolby at gmail.com Mon Mar 16 15:46:00 2015 From: jwcolby at gmail.com (John W. Colby) Date: Mon, 16 Mar 2015 16:46:00 -0400 Subject: [AccessD] Access trying to launch Visual Studio In-Reply-To: References: <55073807.8000700@gmail.com> Message-ID: <55074108.1040303@gmail.com> I did install 2013, it was trying to "configure" 2013. I decided to uninstall 2013 and now it tries to "configure" 2010. It happens as I try to open the VBA editor. If I click cancel it stops and opens the editor. Then the next time I close Access and reopen, it tries to "configure" visual studio all over again. I am letting it run out right now to see where it goes but it seems like something basically wrong. John W. Colby On 3/16/2015 4:14 PM, Dan Waters wrote: > Hi John, > > That happened to me repeatedly until I upgraded Visual Studio. > > You can upgrade to VS 2013 Community Edition (free) now. Later this year, > the 2015 version of VS Community will be released. > > Be sure to completely uninstall VS 2010 first!!! > > Good Luck, > Dan > > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > John W. Colby > Sent: Monday, March 16, 2015 3:08 PM > To: Access Developers discussion and problem solving; jwcolby at gmail.com > Subject: [AccessD] Access trying to launch Visual Studio > > Does anyone know why Access tries to launch Visual Studio when I go into the > code editor? > > Windows 2007 > Office 2003 > Office 2007 > Visual Studio 2010 > > -- > John W. Colby > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From df.waters at outlook.com Mon Mar 16 15:56:55 2015 From: df.waters at outlook.com (Dan Waters) Date: Mon, 16 Mar 2015 15:56:55 -0500 Subject: [AccessD] Access trying to launch Visual Studio In-Reply-To: <55074108.1040303@gmail.com> References: <55073807.8000700@gmail.com> <55074108.1040303@gmail.com> Message-ID: I am using VS 2013 and Access 2010 without that issue. Yeah - there is some kind of connection and it's not a good one. Dan -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. Colby Sent: Monday, March 16, 2015 3:46 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access trying to launch Visual Studio I did install 2013, it was trying to "configure" 2013. I decided to uninstall 2013 and now it tries to "configure" 2010. It happens as I try to open the VBA editor. If I click cancel it stops and opens the editor. Then the next time I close Access and reopen, it tries to "configure" visual studio all over again. I am letting it run out right now to see where it goes but it seems like something basically wrong. John W. Colby On 3/16/2015 4:14 PM, Dan Waters wrote: > Hi John, > > That happened to me repeatedly until I upgraded Visual Studio. > > You can upgrade to VS 2013 Community Edition (free) now. Later this > year, the 2015 version of VS Community will be released. > > Be sure to completely uninstall VS 2010 first!!! > > Good Luck, > Dan > > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > Of John W. Colby > Sent: Monday, March 16, 2015 3:08 PM > To: Access Developers discussion and problem solving; > jwcolby at gmail.com > Subject: [AccessD] Access trying to launch Visual Studio > > Does anyone know why Access tries to launch Visual Studio when I go > into the code editor? > > Windows 2007 > Office 2003 > Office 2007 > Visual Studio 2010 > > -- > John W. Colby > > -- > 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 From dw-murphy at cox.net Mon Mar 16 16:27:25 2015 From: dw-murphy at cox.net (Doug Murphy) Date: Mon, 16 Mar 2015 14:27:25 -0700 Subject: [AccessD] Access trying to launch Visual Studio In-Reply-To: <4L8Q1q00W0xgD8Z01L8SWg> References: <4L8Q1q00W0xgD8Z01L8SWg> Message-ID: <00ff01d0602f$ff370670$fda51350$@cox.net> I asked this question a few weeks ago with no response. Assumed it was just me. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. Colby Sent: Monday, March 16, 2015 1:08 PM To: Access Developers discussion and problem solving; jwcolby at gmail.com Subject: [AccessD] Access trying to launch Visual Studio Does anyone know why Access tries to launch Visual Studio when I go into the code editor? Windows 2007 Office 2003 Office 2007 Visual Studio 2010 -- John W. Colby -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From dw-murphy at cox.net Mon Mar 16 16:29:45 2015 From: dw-murphy at cox.net (Doug Murphy) Date: Mon, 16 Mar 2015 14:29:45 -0700 Subject: [AccessD] Access trying to launch Visual Studio In-Reply-To: <4Lxs1q0080xgD8Z01LxttW> References: <55073807.8000700@gmail.com> <55074108.1040303@gmail.com> <4Lxs1q0080xgD8Z01LxttW> Message-ID: <010001d06030$5277e430$f767ac90$@cox.net> I have VS 2013, and 2010 on my dev machine along with Office 2010. It happens every time I open the vba editor for the first time in an access application. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Monday, March 16, 2015 1:57 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Access trying to launch Visual Studio I am using VS 2013 and Access 2010 without that issue. Yeah - there is some kind of connection and it's not a good one. Dan -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. Colby Sent: Monday, March 16, 2015 3:46 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access trying to launch Visual Studio I did install 2013, it was trying to "configure" 2013. I decided to uninstall 2013 and now it tries to "configure" 2010. It happens as I try to open the VBA editor. If I click cancel it stops and opens the editor. Then the next time I close Access and reopen, it tries to "configure" visual studio all over again. I am letting it run out right now to see where it goes but it seems like something basically wrong. John W. Colby On 3/16/2015 4:14 PM, Dan Waters wrote: > Hi John, > > That happened to me repeatedly until I upgraded Visual Studio. > > You can upgrade to VS 2013 Community Edition (free) now. Later this > year, the 2015 version of VS Community will be released. > > Be sure to completely uninstall VS 2010 first!!! > > Good Luck, > Dan > > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > Of John W. Colby > Sent: Monday, March 16, 2015 3:08 PM > To: Access Developers discussion and problem solving; > jwcolby at gmail.com > Subject: [AccessD] Access trying to launch Visual Studio > > Does anyone know why Access tries to launch Visual Studio when I go > into the code editor? > > Windows 2007 > Office 2003 > Office 2007 > Visual Studio 2010 > > -- > John W. Colby > > -- > 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From df.waters at outlook.com Mon Mar 16 16:37:02 2015 From: df.waters at outlook.com (Dan Waters) Date: Mon, 16 Mar 2015 16:37:02 -0500 Subject: [AccessD] Access trying to launch Visual Studio In-Reply-To: <010001d06030$5277e430$f767ac90$@cox.net> References: <55073807.8000700@gmail.com> <55074108.1040303@gmail.com> <4Lxs1q0080xgD8Z01LxttW> <010001d06030$5277e430$f767ac90$@cox.net> Message-ID: Hi Doug, I believe this stopped happening when I uninstalled VS 2010 and installed VS 2013, but I can't be positive. I have reformatted my HD twice in the last three years, reinstalled all apps from scratch, and perhaps that solved the problem. Tough solution. Dan -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Doug Murphy Sent: Monday, March 16, 2015 4:30 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Access trying to launch Visual Studio I have VS 2013, and 2010 on my dev machine along with Office 2010. It happens every time I open the vba editor for the first time in an access application. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Monday, March 16, 2015 1:57 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Access trying to launch Visual Studio I am using VS 2013 and Access 2010 without that issue. Yeah - there is some kind of connection and it's not a good one. Dan -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. Colby Sent: Monday, March 16, 2015 3:46 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access trying to launch Visual Studio I did install 2013, it was trying to "configure" 2013. I decided to uninstall 2013 and now it tries to "configure" 2010. It happens as I try to open the VBA editor. If I click cancel it stops and opens the editor. Then the next time I close Access and reopen, it tries to "configure" visual studio all over again. I am letting it run out right now to see where it goes but it seems like something basically wrong. John W. Colby On 3/16/2015 4:14 PM, Dan Waters wrote: > Hi John, > > That happened to me repeatedly until I upgraded Visual Studio. > > You can upgrade to VS 2013 Community Edition (free) now. Later this > year, the 2015 version of VS Community will be released. > > Be sure to completely uninstall VS 2010 first!!! > > Good Luck, > Dan > > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > Of John W. Colby > Sent: Monday, March 16, 2015 3:08 PM > To: Access Developers discussion and problem solving; > jwcolby at gmail.com > Subject: [AccessD] Access trying to launch Visual Studio > > Does anyone know why Access tries to launch Visual Studio when I go > into the code editor? > > Windows 2007 > Office 2003 > Office 2007 > Visual Studio 2010 > > -- > John W. Colby > > -- > 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 -- 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 From jwcolby at gmail.com Tue Mar 17 02:23:52 2015 From: jwcolby at gmail.com (John W. Colby) Date: Tue, 17 Mar 2015 03:23:52 -0400 Subject: [AccessD] object or class does not support set of events Message-ID: <5507D688.9090508@gmail.com> I am trying to run a database designed under Access 2003. Access 2007 is installed. I get the error "Object or class does not support the set of events". The Microsoft Access 12 object library seems to be the problem, 2003 needs the library 11. However I cannot deselect the 12 library. Is this problem solvable short of uninstalling Office (or Access) 2007? I have tried a registry edit (Allen Brown) http://allenbrowne.com/bug-17.html As well as setting up a shortcut with "run as administrator" but neither hack seems to make any difference. The database does in fact run under 2007, however I am using a 2003 runtime to install the database on other (client) machines so I need to be able to run it under 2003 on my machine for dev and testing. It's broken! Help! -- John W. Colby From jbodin at sbor.com Tue Mar 17 07:53:45 2015 From: jbodin at sbor.com (John Bodin) Date: Tue, 17 Mar 2015 12:53:45 +0000 Subject: [AccessD] Fw: object or class does not support set of events In-Reply-To: <1426593724366.97459@sbor.com> References: <5507D688.9090508@gmail.com>,<1426593724366.97459@sbor.com> Message-ID: <1426596824175.22990@sbor.com> (This bounced earlier so trying again) Hi John, Saw multiple references to the below two suggestions, which you may have already tried. Seemed to be any time Access 2007 (Or Office 2007) was installed with an earlier version on the system like 2002, 2003... Maybe one will work for you. I use Allen Browne's registry hack and have A97-2010 installed on my dev machine and it works fine - only requirement was that I went from oldest to newest version of access when setting up my machine. John ----- Hi All, I'm having the same problem..and I did not found any solution in the web. Anyway, I would like to share what I found out... The reason behind these errors is the version used for the development of the MSAccess App. I have MSAccess 2002 and 2007 both installed in my workstation. Since I installed the 2007, the 2002 version produces this error: "Object or class does not support the set of events" everytime I ran VBA. Anyways, to make the long story short use the correct "MSACC.OLB" for the right version of the MSAccess. Check the reference used in VBA to see if the right version of the said file is being used. here are the list of paths for this file: 2007 = "C:\Program Files\Microsoft Office\Office12" 2003 = "C:\Program Files\Microsoft Office\Office11" << not sure with this one 2002 = "C:\Program Files\Microsoft Office\Office10" ... 97 = "C:\Program Files\Microsoft Office\Office" << MSACC8.OLB is used You may change the path of the refrence used in VBA or you may just replace it with your preferred version of the OLB file(just rename the old one). I hope this will help everyone! -------------- I too have both Office 2003 and 2007 co-installed on my machine. When I open an Access 2003 database, and any form or report, this error came up. My solution is to "toggle" a Reference - "Microsoft Office 11.0 Object Library" - untick it, close References dialog, re-open it, and click Browse to navigate to the MSO.DLL file in the OFFICE11 folder under "microsoft shared" folder ------ ________________________________________ From: AccessD on behalf of John W. Colby Sent: Tuesday, March 17, 2015 3:23 AM To: Access Developers discussion and problem solving Subject: [AccessD] object or class does not support set of events I am trying to run a database designed under Access 2003. Access 2007 is installed. I get the error "Object or class does not support the set of events". The Microsoft Access 12 object library seems to be the problem, 2003 needs the library 11. However I cannot deselect the 12 library. Is this problem solvable short of uninstalling Office (or Access) 2007? I have tried a registry edit (Allen Brown) http://allenbrowne.com/bug-17.html As well as setting up a shortcut with "run as administrator" but neither hack seems to make any difference. The database does in fact run under 2007, however I am using a 2003 runtime to install the database on other (client) machines so I need to be able to run it under 2003 on my machine for dev and testing. It's broken! Help! -- John W. Colby -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jimdettman at verizon.net Tue Mar 17 07:41:43 2015 From: jimdettman at verizon.net (Jim Dettman) Date: Tue, 17 Mar 2015 08:41:43 -0400 Subject: [AccessD] object or class does not support set of events In-Reply-To: <5507D688.9090508@gmail.com> References: <5507D688.9090508@gmail.com> Message-ID: <5EE230C2B622437CB1ABD13EB910DCCC@XPS> All references automatically "upgrade" when you open the DB in a later version. If you only have Access 2007 installed, then the 12.0 one is the only one available. <> Not sure I understand what your doing....if you have 2003, then do all your work in that. If your using 2007 and don't have 2003, then you simply can't do that and distribute to 2003 users. Do you have multiple versions on this machine or no? and are you distributing as a MDE or MDB? Jim. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. Colby Sent: Tuesday, March 17, 2015 03:24 AM To: Access Developers discussion and problem solving Subject: [AccessD] object or class does not support set of events I am trying to run a database designed under Access 2003. Access 2007 is installed. I get the error "Object or class does not support the set of events". The Microsoft Access 12 object library seems to be the problem, 2003 needs the library 11. However I cannot deselect the 12 library. Is this problem solvable short of uninstalling Office (or Access) 2007? I have tried a registry edit (Allen Brown) http://allenbrowne.com/bug-17.html As well as setting up a shortcut with "run as administrator" but neither hack seems to make any difference. The database does in fact run under 2007, however I am using a 2003 runtime to install the database on other (client) machines so I need to be able to run it under 2003 on my machine for dev and testing. It's broken! Help! -- John W. Colby -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From dbdoug at gmail.com Tue Mar 17 09:01:15 2015 From: dbdoug at gmail.com (Doug Steele) Date: Tue, 17 Mar 2015 07:01:15 -0700 Subject: [AccessD] object or class does not support set of events In-Reply-To: <5EE230C2B622437CB1ABD13EB910DCCC@XPS> References: <5507D688.9090508@gmail.com> <5EE230C2B622437CB1ABD13EB910DCCC@XPS> Message-ID: Because of the problems I've had in the past, I have 3 VMs, one with Office 2003, one with 2007 and one with 2010. Makes life easier! Doug On Tue, Mar 17, 2015 at 5:41 AM, Jim Dettman wrote: > > All references automatically "upgrade" when you open the DB in a later > version. > > If you only have Access 2007 installed, then the 12.0 one is the only one > available. > > < runtime to install the database on other (client) machines so I need to > be able to run it under 2003 on my machine for dev and testing. > >> > > Not sure I understand what your doing....if you have 2003, then do all > your > work in that. If your using 2007 and don't have 2003, then you simply > can't > do that and distribute to 2003 users. > > Do you have multiple versions on this machine or no? and are you > distributing as a MDE or MDB? > > Jim. > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > John W. Colby > Sent: Tuesday, March 17, 2015 03:24 AM > To: Access Developers discussion and problem solving > Subject: [AccessD] object or class does not support set of events > > I am trying to run a database designed under Access 2003. Access 2007 > is installed. I get the error "Object or class does not support the set > of events". > > The Microsoft Access 12 object library seems to be the problem, 2003 > needs the library 11. However I cannot deselect the 12 library. > > Is this problem solvable short of uninstalling Office (or Access) 2007? > > I have tried a registry edit (Allen Brown) > > http://allenbrowne.com/bug-17.html > > As well as setting up a shortcut with "run as administrator" but neither > hack seems to make any difference. > > The database does in fact run under 2007, however I am using a 2003 > runtime to install the database on other (client) machines so I need to > be able to run it under 2003 on my machine for dev and testing. > > It's broken! > > Help! > > -- > John W. Colby > > -- > 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 > From jamesbutton at blueyonder.co.uk Tue Mar 17 10:20:51 2015 From: jamesbutton at blueyonder.co.uk (James Button) Date: Tue, 17 Mar 2015 15:20:51 -0000 Subject: [AccessD] Audit Trail Suggestions In-Reply-To: References: <000001d05e0e$63601a20$2a204e60$@dalyn.co.nz> <000c01d06019$b4445390$1cccfab0$@dalyn.co.nz> <550732F7.6010303@gmail.com> Message-ID: >From the description it has some advantages over many other techniques in that: The log is not dependent on the table definitions remaining unchanged Indeed it would probably record changes to the tables recording table and stored processes details. It would also (I suspect) keep details of the changes made within the entire database in the order that they were made. That would save manually having to work out the co-ordination that happened ( or didn't) between updates to different tables. Re decoding the log - You may have some trouble with the sheer volume of recorded data - file size and number of lines. I suspect that it would be fairly simple to create a script to parse the log and post details from a set period into an excel spreadsheet for examination - excel being a fairly good vehicle for doing data analysis, while Access is a far better facility for managing the storage and updating of data. JimB -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of McGillivray, Don Sent: Monday, March 16, 2015 8:41 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Audit Trail Suggestions Well somewhere in the bowels of the application layer is a function or some such that parses the nasty string so the application can display the history, but it's available for use only within the context of the application. For querying directly against the database, I built a function in Oracle that parses the string and optionally allows me to specify a target column, old value, and/or new value. That way if I'm looking for audit records where the value of column x from table y changed from a to z, or from a to any other value, etc., I can pass the string to the function with the appropriate parameters and select those rows where a value is returned by the function. It's crazy expensive, and I hate using it. Thankfully, we don't have many requests for data that require me to interrogate that string. Not my design, and like I said - a total PITA, but possibly useful in some contexts. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. Colby Sent: Monday, March 16, 2015 12:46 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Audit Trail Suggestions >>>Of course, you'd need to build the secret decoder ring to translate the arcane delimited string into something human readable, and there's processing overhead associated with that, and I'll tell you from experience that writing useful queries against that delimited string is a total PITA. Uhhh yea. So if you don't anticipate ever needing to query the change log then this might work. The issue becomes if you want to find a change "sometime this last year in field xyz of table K". How do you do that? The strategy I used was to build a table of table names, a child table of field names and then a log of FldID (contained TblID)/RecID/UserID/DteTime/OldVal/NewVal/DataType. That strategy allowed easy querying of any of the various major IDs, plus the values etc. The system used a cache of the table/field info and added new tables / fields as new ones were encountered. Thus is a field was never edited, then it never cluttered up the system. In the systems that implemented this, specific fields were "hot" and edited a lot. Most fields were cold and rarely / never edited. But yea, actually trying to get data back out of a denormalized "string" system would be pretty darned difficult. John W. Colby On 3/16/2015 2:47 PM, David Emerson wrote: > Thanks Don for the suggestion. In my case I am not expecting too many > changes so a single record per field will suffice. > > Regards > > David Emerson > Dalyn Software Ltd > Wellington, New Zealand > > > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > Of McGillivray, Don > Sent: Tuesday, 17 March 2015 4:51 a.m. > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Audit Trail Suggestions > > A little late to the party, but thought I'd chime in with an approach > that I've encountered. > > At my current job we use an off-the-shelf product based on an Oracle > backend. The application layer implements optional audit tracking, > selectable at a data entity level. But instead of writing a record to > the audit table for every single column value change, it summarizes > all the changes that occurred in each update event, concatenating the > results into a specially delimited string. Separate fields capture > the ID of the affected record, the user ID, and date, but all the > change information is embedded in a single (admittedly hideous) value. > In the case of our application, each value in the string is preceded > by an asterisk followed by a value indicating the length of the value > to follow, followed by the value itself, with column names, old > values, and new values presented in pairs in a predictable sequence. Something like (air code here): > > *#ColumnName1*#ColumnName2*#OldValue1*#OldValue2*#NewValue1*#NewValue2 > > There may be some other data at the head of the string, such as column > count or some such, but you get the idea. > > This strategy represents a shift from a one column/one record approach > that was originally used with the product, and presumably was > implemented to reduce the number of records required to house audit > data in large scale implementations. If you anticipate a large volume > of audit data as the result of your audit tracking, it may be worth > considering a similar strategy. Of course, you'd need to build the > secret decoder ring to translate the arcane delimited string into > something human readable, and there's processing overhead associated > with that, and I'll tell you from experience that writing useful > queries against that delimited string is a total PITA. Still, folks a > lot smarter than me came up with the idea, so something like it may be worth considering, depending on the circumstances. > > > > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > Of David Emerson > Sent: Friday, March 13, 2015 9:22 PM > To: AccessD > Subject: [AccessD] Audit Trail Suggestions > > Hi Team, > > Looking for ideas for implementation. > > Access 2010 FE, SQL 2008 R2 > > A client wants to keep track of some fields in some tables when they > are changed. There are over 50 tables involved and anywhere from 3 to > 30 fields per table. The tables and fields are predefined. Most of > the data changes will be done via Access screens but there are some > fields that are changed through code > > When a field value is changed they want to store in a log table date, > person making change, old value, new value. > > Looking for ideas of how others might have tackled this type of > problem before. > > Regards > > David Emerson > Dalyn Software Ltd > Wellington, New Zealand > > > > -- > 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jbartow at winhaven.net Mon Mar 16 23:48:39 2015 From: jbartow at winhaven.net (John R Bartow) Date: Mon, 16 Mar 2015 23:48:39 -0500 Subject: [AccessD] Administrivia - Google Sheet of DBA Member Info Message-ID: Hi All, Some folks on the DBA-Off Topic list have been discussing planning a get together. I placed a Google Sheet with location information in it at: https://docs.google.com/spreadsheets/d/1O8G3DgNVCG_nZ9wRW4sarLEyzqBEH4bYh0jE Woz0dHg/edit#gid=511389216 If you'd like to have your information on the list (including whether you're interested in meeting up) please feel free to add or edit the information in the spreadsheet. We also have a Google Map that we update via this spreadsheet. Knowing where everyone is may help in locating where the meet up will take place. Please don't pass this link around as only subscribers should be using it. Thanks, John B From jeff.developer at gmail.com Wed Mar 18 08:50:18 2015 From: jeff.developer at gmail.com (Jeff Barrows) Date: Wed, 18 Mar 2015 08:50:18 -0500 Subject: [AccessD] Moving and recording files using vba in Access 2007 Message-ID: I have a situation where I need to be able to click a button in Access and move all of the files (all photos) from one folder to another. Along with moving them, which I can do, I need to be able to rename them if there is a file with the same name. I also need to be able to store path and file name in an SQL table. Has anyone done this before? I know that this is pretty rough, but here is my rough draft code: Dim FromPath As String Dim ToPath As String Dim FileInFromFolder As Object Dim FileInToFolder As Object Dim fDialog As Office.FileDialog Dim FSO As Object ' Set up the Folder Dialog. ' Set fDialog = Application.FileDialog(msoFileDialogFolderPicker) fDialog.InitialFileName = Application.CurrentProject.path With fDialog FromPath = "C:\Program Files\ALERT\Email Photos\" ToPath = "R:\" & Me.RepairsCorporateName & "\" & Me.cboStoreNumber.Column(2) & "\" & Me.JobNumber & "\JobPhotos\" 'Check to see if the JobPhotos folder exists, if not then create it If Dir(ToPath, vbDirectory) = "" Then MkDir ToPath End If Set FSO = CreateObject("scripting.filesystemobject") For Each FileInFromFolder In FSO.GetFolder(FromPath).Files ' Move each photo to new folder one at a time FileInFromFolder.Move ToPath Next FileInFromFolder End With -- Jeff Barrows MCP, MCAD, MCSD Outbak Technologies, LLC Racine, WI From jwcolby at gmail.com Wed Mar 18 10:30:17 2015 From: jwcolby at gmail.com (John W. Colby) Date: Wed, 18 Mar 2015 11:30:17 -0400 Subject: [AccessD] Where are we discussing .Net? Message-ID: <55099A09.4050305@gmail.com> I just installed VS 2013 community on a VM that I will use as my ned dev environment. When I opened a new project it automatically offered to use source control and GIT. When I chose GIT it automatically created a new GIT repository. How cool is that. I was under the impression however that GIT required a "server" (service) running. Did VS also set that up and turn it on? -- John W. Colby From paul.hartland at googlemail.com Wed Mar 18 14:10:44 2015 From: paul.hartland at googlemail.com (Paul Hartland) Date: Wed, 18 Mar 2015 19:10:44 +0000 Subject: [AccessD] Moving and recording files using vba in Access 2007 In-Reply-To: References: Message-ID: I would just check to see if the file already exists and rename that one, before moving the new file For Each FileInFromFolder In FSO.GetFolder(FromPath).Files ' Move each photo to new folder one at a time If FSO.FileExists(ToPath) Then fso.MoveFile ToPath, LEFT(ToPath, (LEN(ToPath)-4)) & "_" & Format(Now(), "ddmmyyyyhhnnss") & RIGHT(ToPath,4) End If FileInFromFolder.Move ToPath Next FileInFromFolder This is just aircode, but should get you started Paul On 18 March 2015 at 13:50, Jeff Barrows wrote: > I have a situation where I need to be able to click a button in Access and > move all of the files (all photos) from one folder to another. Along with > moving them, which I can do, I need to be able to rename them if there is a > file with the same name. I also need to be able to store path and file > name in an SQL table. > > Has anyone done this before? > > I know that this is pretty rough, but here is my rough draft code: > > Dim FromPath As String > Dim ToPath As String > Dim FileInFromFolder As Object > Dim FileInToFolder As Object > > Dim fDialog As Office.FileDialog > Dim FSO As Object > > ' Set up the Folder Dialog. ' > Set fDialog = Application.FileDialog(msoFileDialogFolderPicker) > fDialog.InitialFileName = Application.CurrentProject.path > With fDialog > > FromPath = "C:\Program Files\ALERT\Email Photos\" > ToPath = "R:\" & Me.RepairsCorporateName & "\" & > Me.cboStoreNumber.Column(2) & "\" & Me.JobNumber & "\JobPhotos\" > > 'Check to see if the JobPhotos folder exists, if not then create it > If Dir(ToPath, vbDirectory) = "" Then > MkDir ToPath > End If > > Set FSO = CreateObject("scripting.filesystemobject") > > For Each FileInFromFolder In FSO.GetFolder(FromPath).Files > ' Move each photo to new folder one at a time > FileInFromFolder.Move ToPath > Next FileInFromFolder > > End With > > > > > -- > Jeff Barrows > MCP, MCAD, MCSD > > Outbak Technologies, LLC > Racine, WI > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- Paul Hartland paul.hartland at googlemail.com From charlotte.foust at gmail.com Wed Mar 18 15:16:04 2015 From: charlotte.foust at gmail.com (Charlotte Foust) Date: Wed, 18 Mar 2015 13:16:04 -0700 Subject: [AccessD] Where are we discussing .Net? In-Reply-To: <55099A09.4050305@gmail.com> References: <55099A09.4050305@gmail.com> Message-ID: Afaikr, I believe it's part of the "community" version. The server is somewhere in the microsoft cloud. Charlotte On Wed, Mar 18, 2015 at 8:30 AM, John W. Colby wrote: > I just installed VS 2013 community on a VM that I will use as my ned dev > environment. When I opened a new project it automatically offered to use > source control and GIT. When I chose GIT it automatically created a new > GIT repository. > > How cool is that. > > I was under the impression however that GIT required a "server" (service) > running. Did VS also set that up and turn it on? > > -- > John W. Colby > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From paul.hartland at googlemail.com Fri Mar 20 02:45:12 2015 From: paul.hartland at googlemail.com (Paul Hartland) Date: Fri, 20 Mar 2015 07:45:12 +0000 Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool Message-ID: To all, I have posted to vb group and access as I don't seem to get many responses from the vb group for some reason. Anyway I am looking for a simple gauge tool and wondered if anyone on here had any recommendations, basically I have a form with a grid and what I (well the management want) is something above the grid similar (I suppose to a speedometer) to show percentages, it will need to have two needles/pointers which will indicate current gross margin percent and new gross margin percent when the user enters a new price, I have all the calculations in place for the percentages, just need a nice simple to use gauge tool. Thanks in advance for any help on this... -- Paul Hartland paul.hartland at googlemail.com From jimdettman at verizon.net Fri Mar 20 06:47:00 2015 From: jimdettman at verizon.net (Jim Dettman) Date: Fri, 20 Mar 2015 07:47:00 -0400 Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool In-Reply-To: References: Message-ID: <09C112BED3424D66AD0C0DB7C4129428@XPS> Check the FMS web site. They did sell a suite of Access controls and I believe a gauge was one of them. www.fmsinc.com Jim. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Paul Hartland Sent: Friday, March 20, 2015 03:45 AM To: VisualBasicList; Access List Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool To all, I have posted to vb group and access as I don't seem to get many responses from the vb group for some reason. Anyway I am looking for a simple gauge tool and wondered if anyone on here had any recommendations, basically I have a form with a grid and what I (well the management want) is something above the grid similar (I suppose to a speedometer) to show percentages, it will need to have two needles/pointers which will indicate current gross margin percent and new gross margin percent when the user enters a new price, I have all the calculations in place for the percentages, just need a nice simple to use gauge tool. Thanks in advance for any help on this... -- Paul Hartland paul.hartland at googlemail.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From paul.hartland at googlemail.com Fri Mar 20 07:18:51 2015 From: paul.hartland at googlemail.com (Paul Hartland) Date: Fri, 20 Mar 2015 12:18:51 +0000 Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool In-Reply-To: <09C112BED3424D66AD0C0DB7C4129428@XPS> References: <09C112BED3424D66AD0C0DB7C4129428@XPS> Message-ID: Thank you for the reply Jim, unfortunately I need to get my hands on a free one that I can use on a VB.net WinForm as the company (tight buggers) do not want to pay for one, not long started learning VB.net and never been too good with creating graphics or would make my own one. On 20 March 2015 at 11:47, Jim Dettman wrote: > > Check the FMS web site. They did sell a suite of Access controls and I > believe a gauge was one of them. > > www.fmsinc.com > > Jim. > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Paul Hartland > Sent: Friday, March 20, 2015 03:45 AM > To: VisualBasicList; Access List > Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool > > To all, > > I have posted to vb group and access as I don't seem to get many responses > from the vb group for some reason. Anyway I am looking for a simple gauge > tool and wondered if anyone on here had any recommendations, basically I > have a form with a grid and what I (well the management want) is something > above the grid similar (I suppose to a speedometer) to show percentages, it > will need to have two needles/pointers which will indicate current gross > margin percent and new gross margin percent when the user enters a new > price, I have all the calculations in place for the percentages, just need > a nice simple to use gauge tool. > > Thanks in advance for any help on this... > > -- > Paul Hartland > paul.hartland at googlemail.com > -- > 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 > -- Paul Hartland paul.hartland at googlemail.com From df.waters at outlook.com Fri Mar 20 08:18:09 2015 From: df.waters at outlook.com (Dan Waters) Date: Fri, 20 Mar 2015 08:18:09 -0500 Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool In-Reply-To: References: Message-ID: Hi Paul, This is a possibility: https://visualstudiogallery.msdn.microsoft.com/8c83d3c2-40be-476a-827e-40f65 aac23bb Another approach might be to just set up a horizontal bar with a length that's proportional to the value you want to display. For example, you can have a dark gray rectangle (use a panel) that's 20 pixels high and 200 pixels long. Within that can be another rectangle (light green?) that's 10 pixels high and has a variable width where 100 pixels is = 50% of the value, and your code changes its width according to whatever the value is. The inner rectangle should be aligned left with the outer rectangle. You can also show the value number over the bar so the user sees the exact value. If you want to get cool - show the inner rectangle getting larger or smaller for a fraction of a second after the user enters the values. You could also change the inner bar's color if you reach certain thresholds (i.e., too high or too low). For your example, I would create a background rectangle high enough to accommodate two inner rectangles (one for current and one for new gross margins), where the two inner rectangles are of different colors. With one bar above the other, this gives the user a quick visual comparison of the two values, along with having the numeric values displayed. Round gauges can be impressive the first time they're seen. But in practice, they take up a lot of space, aren't really quick to read, don't allow for quick comparisons, and you have to find them and learn to use them. I really wish I could change the dashboard in my car!! HTH! Dan -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Paul Hartland Sent: Friday, March 20, 2015 2:45 AM To: VisualBasicList; Access List Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool To all, I have posted to vb group and access as I don't seem to get many responses from the vb group for some reason. Anyway I am looking for a simple gauge tool and wondered if anyone on here had any recommendations, basically I have a form with a grid and what I (well the management want) is something above the grid similar (I suppose to a speedometer) to show percentages, it will need to have two needles/pointers which will indicate current gross margin percent and new gross margin percent when the user enters a new price, I have all the calculations in place for the percentages, just need a nice simple to use gauge tool. Thanks in advance for any help on this... -- Paul Hartland paul.hartland at googlemail.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jimdettman at verizon.net Fri Mar 20 08:26:22 2015 From: jimdettman at verizon.net (Jim Dettman) Date: Fri, 20 Mar 2015 09:26:22 -0400 Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool In-Reply-To: References: <09C112BED3424D66AD0C0DB7C4129428@XPS> Message-ID: Well a little Google searching turns some up fast enough: http://www.componentxtra.com/instrumentation/ https://visualstudiogallery.msdn.microsoft.com/8c83d3c2-40be-476a-827e-40f65 aac23bb Jim. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Paul Hartland Sent: Friday, March 20, 2015 08:19 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Visual Basic 2012 - Simple Gauge Tool Thank you for the reply Jim, unfortunately I need to get my hands on a free one that I can use on a VB.net WinForm as the company (tight buggers) do not want to pay for one, not long started learning VB.net and never been too good with creating graphics or would make my own one. On 20 March 2015 at 11:47, Jim Dettman wrote: > > Check the FMS web site. They did sell a suite of Access controls and I > believe a gauge was one of them. > > www.fmsinc.com > > Jim. > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Paul Hartland > Sent: Friday, March 20, 2015 03:45 AM > To: VisualBasicList; Access List > Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool > > To all, > > I have posted to vb group and access as I don't seem to get many responses > from the vb group for some reason. Anyway I am looking for a simple gauge > tool and wondered if anyone on here had any recommendations, basically I > have a form with a grid and what I (well the management want) is something > above the grid similar (I suppose to a speedometer) to show percentages, it > will need to have two needles/pointers which will indicate current gross > margin percent and new gross margin percent when the user enters a new > price, I have all the calculations in place for the percentages, just need > a nice simple to use gauge tool. > > Thanks in advance for any help on this... > > -- > Paul Hartland > paul.hartland at googlemail.com > -- > 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 > -- Paul Hartland paul.hartland at googlemail.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jackandpat.d at gmail.com Fri Mar 20 08:34:14 2015 From: jackandpat.d at gmail.com (jack drawbridge) Date: Fri, 20 Mar 2015 09:34:14 -0400 Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool In-Reply-To: References: Message-ID: Paul, You may find some ideas in this article from Bacon Bits. I haven't used the technique but I have read it in articles. Cheap, simple... maybe too simple. Good luck. jack On Fri, Mar 20, 2015 at 9:18 AM, Dan Waters wrote: > Hi Paul, > > This is a possibility: > > https://visualstudiogallery.msdn.microsoft.com/8c83d3c2-40be-476a-827e-40f65 > aac23bb > > Another approach might be to just set up a horizontal bar with a length > that's proportional to the value you want to display. For example, you can > have a dark gray rectangle (use a panel) that's 20 pixels high and 200 > pixels long. Within that can be another rectangle (light green?) that's 10 > pixels high and has a variable width where 100 pixels is = 50% of the > value, > and your code changes its width according to whatever the value is. The > inner rectangle should be aligned left with the outer rectangle. You can > also show the value number over the bar so the user sees the exact value. > If you want to get cool - show the inner rectangle getting larger or > smaller > for a fraction of a second after the user enters the values. You could > also > change the inner bar's color if you reach certain thresholds (i.e., too > high > or too low). > > For your example, I would create a background rectangle high enough to > accommodate two inner rectangles (one for current and one for new gross > margins), where the two inner rectangles are of different colors. With one > bar above the other, this gives the user a quick visual comparison of the > two values, along with having the numeric values displayed. > > Round gauges can be impressive the first time they're seen. But in > practice, they take up a lot of space, aren't really quick to read, don't > allow for quick comparisons, and you have to find them and learn to use > them. I really wish I could change the dashboard in my car!! > > HTH! > Dan > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Paul Hartland > Sent: Friday, March 20, 2015 2:45 AM > To: VisualBasicList; Access List > Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool > > To all, > > I have posted to vb group and access as I don't seem to get many responses > from the vb group for some reason. Anyway I am looking for a simple gauge > tool and wondered if anyone on here had any recommendations, basically I > have a form with a grid and what I (well the management want) is something > above the grid similar (I suppose to a speedometer) to show percentages, it > will need to have two needles/pointers which will indicate current gross > margin percent and new gross margin percent when the user enters a new > price, I have all the calculations in place for the percentages, just need > a > nice simple to use gauge tool. > > Thanks in advance for any help on this... > > -- > Paul Hartland > paul.hartland at googlemail.com > -- > 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 > From df.waters at outlook.com Fri Mar 20 08:50:29 2015 From: df.waters at outlook.com (Dan Waters) Date: Fri, 20 Mar 2015 08:50:29 -0500 Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool In-Reply-To: References: Message-ID: Those horizontal gauges with the thin vertical line are nice! However, I would change the entire color of the bar according to what the % value is. Dan -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jack drawbridge Sent: Friday, March 20, 2015 8:34 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Visual Basic 2012 - Simple Gauge Tool Paul, You may find some ideas in this article from Bacon Bits. I haven't used the technique but I have read it in articles. Cheap, simple... maybe too simple. Good luck. jack On Fri, Mar 20, 2015 at 9:18 AM, Dan Waters wrote: > Hi Paul, > > This is a possibility: > > https://visualstudiogallery.msdn.microsoft.com/8c83d3c2-40be-476a-827e > -40f65 > aac23bb > > Another approach might be to just set up a horizontal bar with a > length that's proportional to the value you want to display. For > example, you can have a dark gray rectangle (use a panel) that's 20 > pixels high and 200 pixels long. Within that can be another rectangle > (light green?) that's 10 pixels high and has a variable width where > 100 pixels is = 50% of the value, and your code changes its width > according to whatever the value is. The inner rectangle should be > aligned left with the outer rectangle. You can also show the value > number over the bar so the user sees the exact value. > If you want to get cool - show the inner rectangle getting larger or > smaller for a fraction of a second after the user enters the values. > You could also change the inner bar's color if you reach certain > thresholds (i.e., too high or too low). > > For your example, I would create a background rectangle high enough to > accommodate two inner rectangles (one for current and one for new > gross margins), where the two inner rectangles are of different > colors. With one bar above the other, this gives the user a quick > visual comparison of the two values, along with having the numeric values displayed. > > Round gauges can be impressive the first time they're seen. But in > practice, they take up a lot of space, aren't really quick to read, > don't allow for quick comparisons, and you have to find them and learn > to use them. I really wish I could change the dashboard in my car!! > > HTH! > Dan > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > Of Paul Hartland > Sent: Friday, March 20, 2015 2:45 AM > To: VisualBasicList; Access List > Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool > > To all, > > I have posted to vb group and access as I don't seem to get many > responses from the vb group for some reason. Anyway I am looking for > a simple gauge tool and wondered if anyone on here had any > recommendations, basically I have a form with a grid and what I (well > the management want) is something above the grid similar (I suppose to > a speedometer) to show percentages, it will need to have two > needles/pointers which will indicate current gross margin percent and > new gross margin percent when the user enters a new price, I have all > the calculations in place for the percentages, just need a nice simple > to use gauge tool. > > Thanks in advance for any help on this... > > -- > Paul Hartland > paul.hartland at googlemail.com > -- > 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 > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jamesbutton at blueyonder.co.uk Fri Mar 20 11:06:12 2015 From: jamesbutton at blueyonder.co.uk (James Button) Date: Fri, 20 Mar 2015 16:06:12 -0000 Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool In-Reply-To: References: <09C112BED3424D66AD0C0DB7C4129428@XPS> Message-ID: A row of 100? Characters Solid blocks as in ? (ALT+0254) and set the font, or it's colour to transparent/ whatever shows differentiation appropriately on the number of characters according to the % And stick the % entries somewhere that 'form' or display window's code can access it on a 'happening' or timed interval. ???????????????????? JimB -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Paul Hartland Sent: Friday, March 20, 2015 12:19 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Visual Basic 2012 - Simple Gauge Tool Thank you for the reply Jim, unfortunately I need to get my hands on a free one that I can use on a VB.net WinForm as the company (tight buggers) do not want to pay for one, not long started learning VB.net and never been too good with creating graphics or would make my own one. On 20 March 2015 at 11:47, Jim Dettman wrote: > > Check the FMS web site. They did sell a suite of Access controls and I > believe a gauge was one of them. > > www.fmsinc.com > > Jim. > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Paul Hartland > Sent: Friday, March 20, 2015 03:45 AM > To: VisualBasicList; Access List > Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool > > To all, > > I have posted to vb group and access as I don't seem to get many responses > from the vb group for some reason. Anyway I am looking for a simple gauge > tool and wondered if anyone on here had any recommendations, basically I > have a form with a grid and what I (well the management want) is something > above the grid similar (I suppose to a speedometer) to show percentages, it > will need to have two needles/pointers which will indicate current gross > margin percent and new gross margin percent when the user enters a new > price, I have all the calculations in place for the percentages, just need > a nice simple to use gauge tool. > > Thanks in advance for any help on this... > > -- > Paul Hartland > paul.hartland at googlemail.com > -- > 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 > -- Paul Hartland paul.hartland at googlemail.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Salato at ky.gov Fri Mar 20 12:11:15 2015 From: Salato at ky.gov (FW Salato Center) Date: Fri, 20 Mar 2015 17:11:15 +0000 Subject: [AccessD] Form changing behavior after changing record source Message-ID: Using a menu form, a button opens a form in data entry view - empty form. The same form is also used for browsing and editing at different times - clicking the button sets the properties when opening the form: DoCmd.OpenForm "Enter New Animals", acNormal,,,acFormAdd,,"New" I changed the form's resource source from a table to a query that I based on the table - same fields. Now, clicking the menu button to open the form in data entry view opens the form filled with data. I have no idea why this should matter. Editing and browsing mode are still working fine. Any idea why changing the record source is inhibiting Susan H. From rockysmolin at bchacc.com Fri Mar 20 14:35:17 2015 From: rockysmolin at bchacc.com (Rocky Smolin) Date: Fri, 20 Mar 2015 12:35:17 -0700 Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool In-Reply-To: References: <09C112BED3424D66AD0C0DB7C4129428@XPS> Message-ID: To do the bar graph thing I set the width (for horizontal) or height (for vertical) of the box based on the value it's supposed to represent. Works like a charm. R -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of James Button Sent: Friday, March 20, 2015 9:06 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Visual Basic 2012 - Simple Gauge Tool A row of 100? Characters Solid blocks as in ? (ALT+0254) and set the font, or it's colour to transparent/ whatever shows differentiation appropriately on the number of characters according to the % And stick the % entries somewhere that 'form' or display window's code can access it on a 'happening' or timed interval. ???????????????????? JimB -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Paul Hartland Sent: Friday, March 20, 2015 12:19 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Visual Basic 2012 - Simple Gauge Tool Thank you for the reply Jim, unfortunately I need to get my hands on a free one that I can use on a VB.net WinForm as the company (tight buggers) do not want to pay for one, not long started learning VB.net and never been too good with creating graphics or would make my own one. On 20 March 2015 at 11:47, Jim Dettman wrote: > > Check the FMS web site. They did sell a suite of Access controls and I > believe a gauge was one of them. > > www.fmsinc.com > > Jim. > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > Of Paul Hartland > Sent: Friday, March 20, 2015 03:45 AM > To: VisualBasicList; Access List > Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool > > To all, > > I have posted to vb group and access as I don't seem to get many > responses from the vb group for some reason. Anyway I am looking for > a simple gauge tool and wondered if anyone on here had any > recommendations, basically I have a form with a grid and what I (well > the management want) is something above the grid similar (I suppose to > a speedometer) to show percentages, it will need to have two > needles/pointers which will indicate current gross margin percent and > new gross margin percent when the user enters a new price, I have all > the calculations in place for the percentages, just need a nice simple to use gauge tool. > > Thanks in advance for any help on this... > > -- > Paul Hartland > paul.hartland at googlemail.com > -- > 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 > -- Paul Hartland paul.hartland at googlemail.com -- 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 From paul.hartland at googlemail.com Fri Mar 20 23:53:11 2015 From: paul.hartland at googlemail.com (Paul Hartland) Date: Sat, 21 Mar 2015 04:53:11 +0000 Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool In-Reply-To: References: <09C112BED3424D66AD0C0DB7C4129428@XPS> Message-ID: Thank you for all the replies I will be attempting to test them over the weekend :) On 20 March 2015 at 19:35, Rocky Smolin wrote: > To do the bar graph thing I set the width (for horizontal) or height (for > vertical) of the box based on the value it's supposed to represent. Works > like a charm. > > R > > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > James Button > Sent: Friday, March 20, 2015 9:06 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Visual Basic 2012 - Simple Gauge Tool > > A row of 100? Characters Solid blocks as in ? (ALT+0254) and set the font, > or it's colour to transparent/ whatever shows differentiation appropriately > on the number of characters according to the % And stick the % entries > somewhere that 'form' or display window's code can access it on a > 'happening' or timed interval. > > ???????????????????? > > JimB > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Paul Hartland > Sent: Friday, March 20, 2015 12:19 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Visual Basic 2012 - Simple Gauge Tool > > Thank you for the reply Jim, unfortunately I need to get my hands on a free > one that I can use on a VB.net WinForm as the company (tight buggers) do > not > want to pay for one, not long started learning VB.net and never been too > good with creating graphics or would make my own one. > > On 20 March 2015 at 11:47, Jim Dettman wrote: > > > > > Check the FMS web site. They did sell a suite of Access controls and I > > believe a gauge was one of them. > > > > www.fmsinc.com > > > > Jim. > > > > -----Original Message----- > > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > > Of Paul Hartland > > Sent: Friday, March 20, 2015 03:45 AM > > To: VisualBasicList; Access List > > Subject: [AccessD] Visual Basic 2012 - Simple Gauge Tool > > > > To all, > > > > I have posted to vb group and access as I don't seem to get many > > responses from the vb group for some reason. Anyway I am looking for > > a simple gauge tool and wondered if anyone on here had any > > recommendations, basically I have a form with a grid and what I (well > > the management want) is something above the grid similar (I suppose to > > a speedometer) to show percentages, it will need to have two > > needles/pointers which will indicate current gross margin percent and > > new gross margin percent when the user enters a new price, I have all > > the calculations in place for the percentages, just need a nice simple to > use gauge tool. > > > > Thanks in advance for any help on this... > > > > -- > > Paul Hartland > > paul.hartland at googlemail.com > > -- > > 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 > > > > > > -- > Paul Hartland > paul.hartland at googlemail.com > -- > 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 > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- Paul Hartland paul.hartland at googlemail.com From darren at activebilling.com.au Sun Mar 22 08:39:47 2015 From: darren at activebilling.com.au (Darren) Date: Mon, 23 Mar 2015 00:39:47 +1100 Subject: [AccessD] A2k: Creating an Array from Start and End Numbers Message-ID: <692AD35113C94951AE205F35AC78E6A5@DDNote> Hi All, I want to create a sequential array from a start number and an end number, that I can present as a 1 column combo list. For example: 1024 is the start Number 1031 is the end Number I'd like to see the following 8 items in my combo list after building the array. 1024 1025 1026 1027 1028 1029 1030 1031 Any pointers? Many thanks in advance Darren From gustav at cactus.dk Sun Mar 22 09:31:46 2015 From: gustav at cactus.dk (Gustav Brock) Date: Sun, 22 Mar 2015 14:31:46 +0000 Subject: [AccessD] A2k: Creating an Array from Start and End Numbers In-Reply-To: <692AD35113C94951AE205F35AC78E6A5@DDNote> References: <692AD35113C94951AE205F35AC78E6A5@DDNote> Message-ID: <1427034705753.60307@cactus.dk> Hi Darren Join is useful here: Const StartNumber As Integer = 1024 Const EndNumber As Integer = 1031 Dim Series() As String Dim Item As Integer ReDim Series(0 To EndNumber - StartNumber) For Item = LBound(Series) To UBound(Series) Series(Item) = CStr(StartNumber + Item) Next Me!ComboSeries.RowSource = Join(Series, ";") /gustav ________________________________________ Fra: AccessD p? vegne af Darren Sendt: 22. marts 2015 14:39 Til: 'Access Developers discussion and problem solving' Emne: [AccessD] A2k: Creating an Array from Start and End Numbers Hi All, I want to create a sequential array from a start number and an end number, that I can present as a 1 column combo list. For example: 1024 is the start Number 1031 is the end Number I'd like to see the following 8 items in my combo list after building the array. 1024 1025 1026 1027 1028 1029 1030 1031 Any pointers? Many thanks in advance Darren From rockysmolin at bchacc.com Mon Mar 23 09:52:36 2015 From: rockysmolin at bchacc.com (Rocky Smolin) Date: Mon, 23 Mar 2015 07:52:36 -0700 Subject: [AccessD] Tab Form color Message-ID: Dear List: A client has an app I developed in 2003 - called today - they upgraded to 2010. The background color of the detail section on forms that have a tab for is teal but the tab form was always gray. In 2010 the tab forms background color is now teal. I charged the background color of the detail section to light gray and the background color of the tab form followed - it's gray as well. Which makes the blue labels readable. Is there a setting which will govern the background color of the tab form? Or is changing the background color of the detail section on forms with a tab form the most expedient way to work around the problem. MTIA Rocky Smolin Beach Access Software 858-259-4334 www.bchacc.com www.e-z-mrp.com Skype: rocky.smolin From charlotte.foust at gmail.com Mon Mar 23 10:35:17 2015 From: charlotte.foust at gmail.com (Charlotte Foust) Date: Mon, 23 Mar 2015 08:35:17 -0700 Subject: [AccessD] Tab Form color In-Reply-To: References: Message-ID: Is your tab control background style set to transparent? If so, set it to normal. Easy to overlook. Charlotte Charlotte Foust (916) 206-4336 On Mon, Mar 23, 2015 at 7:52 AM, Rocky Smolin wrote: > Dear List: > > A client has an app I developed in 2003 - called today - they upgraded to > 2010. The background color of the detail section on forms that have a tab > for is teal but the tab form was always gray. > > In 2010 the tab forms background color is now teal. I charged the > background > color of the detail section to light gray and the background color of the > tab form followed - it's gray as well. Which makes the blue labels > readable. > > Is there a setting which will govern the background color of the tab form? > Or is changing the background color of the detail section on forms with a > tab form the most expedient way to work around the problem. > > MTIA > > Rocky Smolin > Beach Access Software > 858-259-4334 > www.bchacc.com > www.e-z-mrp.com > Skype: rocky.smolin > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From bensonforums at gmail.com Mon Mar 23 13:33:43 2015 From: bensonforums at gmail.com (Bill Benson) Date: Mon, 23 Mar 2015 14:33:43 -0400 Subject: [AccessD] Form changing behavior after changing record source In-Reply-To: References: Message-ID: It's almost too obvious for this to be the reason, but was the table populated? On Fri, Mar 20, 2015 at 1:11 PM, FW Salato Center wrote: > Using a menu form, a button opens a form in data entry view - empty form. > The same form is also used for browsing and editing at different times - > clicking the button sets the properties when opening the form: > > DoCmd.OpenForm "Enter New Animals", acNormal,,,acFormAdd,,"New" > > I changed the form's resource source from a table to a query that I based > on the table - same fields. Now, clicking the menu button to open the form > in data entry view opens the form filled with data. I have no idea why this > should matter. Editing and browsing mode are still working fine. > > Any idea why changing the record source is inhibiting > > Susan H. > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From rockysmolin at bchacc.com Mon Mar 23 14:26:43 2015 From: rockysmolin at bchacc.com (Rocky Smolin) Date: Mon, 23 Mar 2015 12:26:43 -0700 Subject: [AccessD] Tab Form color In-Reply-To: References: Message-ID: <04143680C1334FF5AC86087E150B6248@HAL9007> It was set to normal. R -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Monday, March 23, 2015 8:35 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Tab Form color Is your tab control background style set to transparent? If so, set it to normal. Easy to overlook. Charlotte Charlotte Foust (916) 206-4336 On Mon, Mar 23, 2015 at 7:52 AM, Rocky Smolin wrote: > Dear List: > > A client has an app I developed in 2003 - called today - they upgraded > to 2010. The background color of the detail section on forms that > have a tab for is teal but the tab form was always gray. > > In 2010 the tab forms background color is now teal. I charged the > background color of the detail section to light gray and the > background color of the tab form followed - it's gray as well. Which > makes the blue labels readable. > > Is there a setting which will govern the background color of the tab form? > Or is changing the background color of the detail section on forms > with a tab form the most expedient way to work around the problem. > > MTIA > > Rocky Smolin > Beach Access Software > 858-259-4334 > www.bchacc.com www.e-z-mrp.com > > Skype: rocky.smolin > > -- > 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 From rockysmolin at bchacc.com Mon Mar 23 14:44:21 2015 From: rockysmolin at bchacc.com (Rocky Smolin) Date: Mon, 23 Mar 2015 12:44:21 -0700 Subject: [AccessD] Tab Form color In-Reply-To: References: Message-ID: It was set to Normal but checking the option Use Windows Themed Controls seems to have fixed it. R -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Monday, March 23, 2015 8:35 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Tab Form color Is your tab control background style set to transparent? If so, set it to normal. Easy to overlook. Charlotte Charlotte Foust (916) 206-4336 On Mon, Mar 23, 2015 at 7:52 AM, Rocky Smolin wrote: > Dear List: > > A client has an app I developed in 2003 - called today - they upgraded > to 2010. The background color of the detail section on forms that > have a tab for is teal but the tab form was always gray. > > In 2010 the tab forms background color is now teal. I charged the > background color of the detail section to light gray and the > background color of the tab form followed - it's gray as well. Which > makes the blue labels readable. > > Is there a setting which will govern the background color of the tab form? > Or is changing the background color of the detail section on forms > with a tab form the most expedient way to work around the problem. > > MTIA > > Rocky Smolin > Beach Access Software > 858-259-4334 > www.bchacc.com www.e-z-mrp.com > > Skype: rocky.smolin > > -- > 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 From stuart at lexacorp.com.pg Mon Mar 23 17:17:35 2015 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Tue, 24 Mar 2015 08:17:35 +1000 Subject: [AccessD] A2k: Creating an Array from Start and End Numbers In-Reply-To: <692AD35113C94951AE205F35AC78E6A5@DDNote> References: <692AD35113C94951AE205F35AC78E6A5@DDNote> Message-ID: <551090FF.8796.7CECE9D@stuart.lexacorp.com.pg> That's just one of the countless uses for a "number table" i.e. a table consisting of a single PK field of integers from 0 to .... Build it once when you first create your system and you can do things like: "Select * from tblNumbers where num between 1024 and 1031" That's if you want that many numbers in your table. If don't have that large a table, then it would be: "Select num + 1000 from tblNumbers where num between 24 and 31" :) -- Stuart On 23 Mar 2015 at 0:39, Darren wrote: > Hi All, > I want to create a sequential array from a start number and an end > number, that I can present as a 1 column combo list. For example: 1024 > is the start Number 1031 is the end Number > > I'd like to see the following 8 items in my combo list after building > the array. 1024 1025 1026 1027 1028 1029 1030 1031 > > Any pointers? > > Many thanks in advance > > Darren > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From darren at activebilling.com.au Mon Mar 23 22:18:36 2015 From: darren at activebilling.com.au (Darren) Date: Tue, 24 Mar 2015 14:18:36 +1100 Subject: [AccessD] A2k: Creating an Array from Start and End Numbers In-Reply-To: <551090FF.8796.7CECE9D@stuart.lexacorp.com.pg> References: <692AD35113C94951AE205F35AC78E6A5@DDNote> <551090FF.8796.7CECE9D@stuart.lexacorp.com.pg> Message-ID: <0E4EB5587D144ED797645AED5D7A5D25@DDNote> Hi Team, Gustav's suggestion worked like a charm - Many thanks Gustav. You are a legend :-) Stuart - This is for storing 'voucher numbers'. Users will add the first and last numbers in a sequence and now using Gustav's clever code I can present a list of available voucher numbers using these first and last numbers. These will never be static - always on the move so a fixed table won't suffice but it's what I had in mind first, until the client explained how their 'voucher' system works. Again many thanks, team -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Tuesday, 24 March 2015 9:18 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] A2k: Creating an Array from Start and End Numbers That's just one of the countless uses for a "number table" i.e. a table consisting of a single PK field of integers from 0 to .... Build it once when you first create your system and you can do things like: "Select * from tblNumbers where num between 1024 and 1031" That's if you want that many numbers in your table. If don't have that large a table, then it would be: "Select num + 1000 from tblNumbers where num between 24 and 31" :) -- Stuart On 23 Mar 2015 at 0:39, Darren wrote: > Hi All, > I want to create a sequential array from a start number and an end > number, that I can present as a 1 column combo list. For example: 1024 > is the start Number 1031 is the end Number > > I'd like to see the following 8 items in my combo list after building > the array. 1024 1025 1026 1027 1028 1029 1030 1031 > > Any pointers? > > Many thanks in advance > > Darren > -- > 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 From stuart at lexacorp.com.pg Tue Mar 24 00:11:11 2015 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Tue, 24 Mar 2015 15:11:11 +1000 Subject: [AccessD] A2k: Creating an Array from Start and End Numbers In-Reply-To: <0E4EB5587D144ED797645AED5D7A5D25@DDNote> References: <692AD35113C94951AE205F35AC78E6A5@DDNote>, <551090FF.8796.7CECE9D@stuart.lexacorp.com.pg>, <0E4EB5587D144ED797645AED5D7A5D25@DDNote> Message-ID: <5510F1EF.20520.9497A4E@stuart.lexacorp.com.pg> Darren, You generaly use a number table for dynamic data, you just use offsets. Create a number table containing the numbers 0 to 999 as an example. If you need the next 10 numbers starting from 34567 you would just "Select (num + 34567) from tblNumbers where num < 10" The beauty of using such as table is that you can use it to generate any sequence you like for numbers or dates: "Select (num * 2) from tblNumbers where num between 1 and 20" will give you the first 20 even numbers (2,4,6....40) If today is Tuesday then , "Select (Date() + (num * 7) from tblNumbers where num < 10" will give you an array of the next 10 Tuesdays including today. etc, etc One good way to use it is as the left side of a join in order show every number/date in a range whether or not there are matching records in the table on the right side of the join. Once you have a number table in your system, you will find more and more uses for it. :) -- Stuart On 24 Mar 2015 at 14:18, Darren wrote: > Stuart - This is for storing 'voucher numbers'. > Users will add the first and last numbers in a sequence and now using > Gustav's clever code I can present a list of available voucher numbers > using these first and last numbers. > > These will never be static - always on the move so a fixed table won't > suffice but it's what I had in mind first, until the client explained > how their 'voucher' system works. > From jbodin at sbor.com Tue Mar 24 06:52:04 2015 From: jbodin at sbor.com (John Bodin) Date: Tue, 24 Mar 2015 11:52:04 +0000 Subject: [AccessD] Visual Studio conflict In-Reply-To: <5510F1EF.20520.9497A4E@stuart.lexacorp.com.pg> References: <692AD35113C94951AE205F35AC78E6A5@DDNote>, <551090FF.8796.7CECE9D@stuart.lexacorp.com.pg>, <0E4EB5587D144ED797645AED5D7A5D25@DDNote>, <5510F1EF.20520.9497A4E@stuart.lexacorp.com.pg> Message-ID: <1427197923950.13774@sbor.com> Is there a URL to the archive of the messages in this forum? I saw several posts, most recently by John C, regarding a problem with the Visual Studio editor opening up when editing in Access (or something along those lines). Want to install the Community edition but do not want to jeopardize my access environments. Hoping there was a response with a resolution that I can locate. Thank you. John Bodin jbodin at sbor.com From jwcolby at gmail.com Tue Mar 24 08:16:20 2015 From: jwcolby at gmail.com (John W. Colby) Date: Tue, 24 Mar 2015 09:16:20 -0400 Subject: [AccessD] Visual Studio conflict In-Reply-To: <1427197923950.13774@sbor.com> References: <692AD35113C94951AE205F35AC78E6A5@DDNote>, <551090FF.8796.7CECE9D@stuart.lexacorp.com.pg>, <0E4EB5587D144ED797645AED5D7A5D25@DDNote>, <5510F1EF.20520.9497A4E@stuart.lexacorp.com.pg> <1427197923950.13774@sbor.com> Message-ID: <551163A4.2080704@gmail.com> John, I just let it finish with whatever it thought it was doing and the next time I tried to open access that message was gone. To this day I haven't a clue why Access wanted to muck with VS but at least the message no longer occurs, and Access does NOT try to actually use VS in any manner. John W. Colby On 3/24/2015 7:52 AM, John Bodin wrote: > Is there a URL to the archive of the messages in this forum? I saw several posts, most recently by John C, regarding a problem with the Visual Studio editor opening up when editing in Access (or something along those lines). Want to install the Community edition but do not want to jeopardize my access environments. Hoping there was a response with a resolution that I can locate. Thank you. > > > > > > John Bodin > > jbodin at sbor.com > From jbodin at sbor.com Tue Mar 24 09:28:58 2015 From: jbodin at sbor.com (John Bodin) Date: Tue, 24 Mar 2015 14:28:58 +0000 Subject: [AccessD] Visual Studio conflict In-Reply-To: <551163A4.2080704@gmail.com> References: <692AD35113C94951AE205F35AC78E6A5@DDNote>, <551090FF.8796.7CECE9D@stuart.lexacorp.com.pg>, <0E4EB5587D144ED797645AED5D7A5D25@DDNote>, <5510F1EF.20520.9497A4E@stuart.lexacorp.com.pg> <1427197923950.13774@sbor.com>,<551163A4.2080704@gmail.com> Message-ID: <1427207337139.53041@sbor.com> Ah, great. Thanks for the update! John Bodin jbodin at sbor.com ________________________________________ From: AccessD on behalf of John W. Colby Sent: Tuesday, March 24, 2015 9:16 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Visual Studio conflict John, I just let it finish with whatever it thought it was doing and the next time I tried to open access that message was gone. To this day I haven't a clue why Access wanted to muck with VS but at least the message no longer occurs, and Access does NOT try to actually use VS in any manner. John W. Colby On 3/24/2015 7:52 AM, John Bodin wrote: > Is there a URL to the archive of the messages in this forum? I saw several posts, most recently by John C, regarding a problem with the Visual Studio editor opening up when editing in Access (or something along those lines). Want to install the Community edition but do not want to jeopardize my access environments. Hoping there was a response with a resolution that I can locate. Thank you. > > > > > > John Bodin > > jbodin at sbor.com > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at gmail.com Tue Mar 24 10:03:41 2015 From: jwcolby at gmail.com (John W. Colby) Date: Tue, 24 Mar 2015 11:03:41 -0400 Subject: [AccessD] To Gustav (I believe) Message-ID: <55117CCD.4040802@gmail.com> I am trying to do an "update" and an "append new" in one query. IIRC it was you (Gustav) who told me how to do that ages ago. IOW, if there are new records, append to the destination table, otherwise just update existing records. TIA -- John W. Colby From gustav at cactus.dk Tue Mar 24 11:06:36 2015 From: gustav at cactus.dk (Gustav Brock) Date: Tue, 24 Mar 2015 16:06:36 +0000 Subject: [AccessD] To Gustav (I believe) Message-ID: Hi John It is not invented by me but an old tip from Smart Access, though still one of my favourites. The tables must have a unique key. Update and Append Records with One Query By Alan Biggs Did you know that you can use an update query in Access to both update and add records at the same time? This is useful if you have two versions of a table, tblOld and tblNew, and you want to integrate the changes from tblNew into tblOld. Follow these steps: 1. Create an update query and add the two tables. Join the two tables by dragging the key field of tblNew onto the matching field of tblOld. 2. Double-click on the relationship and choose the join option that includes all records from tblNew and only those that match from tblOld. 3. Select all the fields from tblOld and drag them onto the QBE grid. 4. For each field, in the Update To cell type in tblNew.FieldName, where FieldName matches the field name of tblOld. 5. Select Query Properties from the View menu and change Unique Records to False. (This switches off the DISTINCTROW option in the SQL view. If you leave this on you'll get only one blank record in your results, but you want one blank record for each new record to be added to tblOld.) 6. Run the query and you'll see the changes to tblNew are now in tblOld. This will only add records to tblOld that have been added to tblNew. Records in tblOld that aren't present in tblNew will still remain in tblOld. /gustav -----Oprindelig meddelelse----- Fra: AccessD [mailto:accessd-bounces at databaseadvisors.com] P? vegne af John W. Colby Sendt: 24. marts 2015 16:04 Til: Access Developers discussion and problem solving Emne: [AccessD] To Gustav (I believe) I am trying to do an "update" and an "append new" in one query. IIRC it was you (Gustav) who told me how to do that ages ago. IOW, if there are new records, append to the destination table, otherwise just update existing records. TIA -- John W. Colby From jimdettman at verizon.net Tue Mar 24 13:15:58 2015 From: jimdettman at verizon.net (Jim Dettman) Date: Tue, 24 Mar 2015 14:15:58 -0400 Subject: [AccessD] NMFC class descriptions Message-ID: Have a client that is starting to produce the bills of lading and printing the NMFC descriptions on them. Anyone have a table they care to share? There doesn't seem to be any source for them. and if you don't know what I'm talking about, don't worry about Thanks, Jim. From carbonnb at gmail.com Tue Mar 24 13:34:53 2015 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Tue, 24 Mar 2015 14:34:53 -0400 Subject: [AccessD] NMFC class descriptions In-Reply-To: References: Message-ID: Does this work? http://www.fmlfreight.com/freight-101/freight-classes/ B On Tue, Mar 24, 2015 at 2:15 PM, Jim Dettman wrote: > Have a client that is starting to produce the bills of lading and printing > the NMFC descriptions on them. > > Anyone have a table they care to share? There doesn't seem to be any source > for them. > > and if you don't know what I'm talking about, don't worry about > > Thanks, > Jim. > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Bryan Carbonnell - carbonnb at gmail.com Life's journey is not to arrive at the grave safely in a well preserved body, but rather to skid in sideways, totally worn out, shouting "What a great ride!" From jimdettman at verizon.net Tue Mar 24 13:42:40 2015 From: jimdettman at verizon.net (Jim Dettman) Date: Tue, 24 Mar 2015 14:42:40 -0400 Subject: [AccessD] NMFC class descriptions In-Reply-To: References: Message-ID: <3902FD1E84BF4067B6CF3603EE2D602E@XPS> No. It's not the FAK Class descriptions that I need, but the NMFC ones (there are hundreds if not thousands). Jim. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bryan Carbonnell Sent: Tuesday, March 24, 2015 02:35 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] NMFC class descriptions Does this work? http://www.fmlfreight.com/freight-101/freight-classes/ B On Tue, Mar 24, 2015 at 2:15 PM, Jim Dettman wrote: > Have a client that is starting to produce the bills of lading and printing > the NMFC descriptions on them. > > Anyone have a table they care to share? There doesn't seem to be any source > for them. > > and if you don't know what I'm talking about, don't worry about > > Thanks, > Jim. > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Bryan Carbonnell - carbonnb at gmail.com Life's journey is not to arrive at the grave safely in a well preserved body, but rather to skid in sideways, totally worn out, shouting "What a great ride!" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From carbonnb at gmail.com Tue Mar 24 13:46:06 2015 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Tue, 24 Mar 2015 14:46:06 -0400 Subject: [AccessD] NMFC class descriptions In-Reply-To: <3902FD1E84BF4067B6CF3603EE2D602E@XPS> References: <3902FD1E84BF4067B6CF3603EE2D602E@XPS> Message-ID: OK. That's the best my Google-fu could come up with :) B On Mar 24, 2015 2:43 PM, "Jim Dettman" wrote: > > No. It's not the FAK Class descriptions that I need, but the NMFC ones > (there are hundreds if not thousands). > > Jim. > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Bryan Carbonnell > Sent: Tuesday, March 24, 2015 02:35 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] NMFC class descriptions > > Does this work? > > http://www.fmlfreight.com/freight-101/freight-classes/ > > B > > On Tue, Mar 24, 2015 at 2:15 PM, Jim Dettman > wrote: > > Have a client that is starting to produce the bills of lading and > printing > > the NMFC descriptions on them. > > > > Anyone have a table they care to share? There doesn't seem to be any > source > > for them. > > > > and if you don't know what I'm talking about, don't worry about > > > > Thanks, > > Jim. > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > -- > Bryan Carbonnell - carbonnb at gmail.com > Life's journey is not to arrive at the grave safely in a well > preserved body, but rather to skid in sideways, totally worn out, > shouting "What a great ride!" > -- > 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 > From stuart at lexacorp.com.pg Tue Mar 24 14:23:51 2015 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Wed, 25 Mar 2015 05:23:51 +1000 Subject: [AccessD] NMFC class descriptions In-Reply-To: References: Message-ID: <5511B9C7.17096.C561CD3@stuart.lexacorp.com.pg> It's copyright. Looks like you have to pay to get the info: https://store.nmfta.org/Products/ProductDetail?SKU=NMF100-AO_PARTICIPANT and https://store.nmfta.org/Products/ProductDetail?SKU=NMF100-AO_NONPARTICIPANT or an online tool: http://www.nmfta.org/pages/classit Also - from the second link: "NOTE TO CARRIERS AND BROKERS - Participation subject to verification - Only carriers and brokers that maintain participation in the NMFC? may use the information contained therein as a reference for pricing or any other purpose. Simply purchasing or subscribing to the NMFC? or ClassIT? does not allow you to use the publication and will not satisfy the legal requirements for carriers and brokers to participate. Contact NMFTA at sales at nmfta.org or 1.800.539.5720 for more information." On 24 Mar 2015 at 14:15, Jim Dettman wrote: > Have a client that is starting to produce the bills of lading and > printing the NMFC descriptions on them. > > Anyone have a table they care to share? There doesn't seem to be any > source for them. > > and if you don't know what I'm talking about, don't worry about > > Thanks, > Jim. > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jimdettman at verizon.net Tue Mar 24 14:57:27 2015 From: jimdettman at verizon.net (Jim Dettman) Date: Tue, 24 Mar 2015 15:57:27 -0400 Subject: [AccessD] NMFC class descriptions In-Reply-To: <5511B9C7.17096.C561CD3@stuart.lexacorp.com.pg> References: <5511B9C7.17096.C561CD3@stuart.lexacorp.com.pg> Message-ID: <1FB6591F806642B89A257C21C42DAE73@XPS> That's why then no one seems to have it. Jim. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Tuesday, March 24, 2015 03:24 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] NMFC class descriptions It's copyright. Looks like you have to pay to get the info: https://store.nmfta.org/Products/ProductDetail?SKU=NMF100-AO_PARTICIPANT and https://store.nmfta.org/Products/ProductDetail?SKU=NMF100-AO_NONPARTICIPANT or an online tool: http://www.nmfta.org/pages/classit Also - from the second link: "NOTE TO CARRIERS AND BROKERS - Participation subject to verification - Only carriers and brokers that maintain participation in the NMFCR may use the information contained therein as a reference for pricing or any other purpose. Simply purchasing or subscribing to the NMFCR or ClassITR does not allow you to use the publication and will not satisfy the legal requirements for carriers and brokers to participate. Contact NMFTA at sales at nmfta.org or 1.800.539.5720 for more information." On 24 Mar 2015 at 14:15, Jim Dettman wrote: > Have a client that is starting to produce the bills of lading and > printing the NMFC descriptions on them. > > Anyone have a table they care to share? There doesn't seem to be any > source for them. > > and if you don't know what I'm talking about, don't worry about > > Thanks, > Jim. > -- > 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 From jackandpat.d at gmail.com Tue Mar 24 19:30:15 2015 From: jackandpat.d at gmail.com (jack drawbridge) Date: Tue, 24 Mar 2015 20:30:15 -0400 Subject: [AccessD] Sample vba to get code (event procedure code) behind form/controls Message-ID: Does anyone have some sample code showing how, using vba, to get the code behind a form and its controls? I have code to get standard module/procedure lines, but have been unable to find any code (or any real info really) on how to get that code. Any advice and guidance most appreciated. Thanks in advance, jack From bill_patten at embarqmail.com Tue Mar 24 19:55:30 2015 From: bill_patten at embarqmail.com (Bill Patten) Date: Tue, 24 Mar 2015 17:55:30 -0700 Subject: [AccessD] Sample vba to get code (event procedure code) behindform/controls In-Reply-To: References: Message-ID: Jack, I'm not sure I understand the question but If you want to export the code and controls behind a form use SaveAsText SaveAsText acForm, FormName as String, FileName as String Example SaveAsText "frmMain", "C:\FrmMain.txt" to save the form in your c: directory. Bill -----Original Message----- From: jack drawbridge Sent: Tuesday, March 24, 2015 5:30 PM To: Access Developers discussion and problem solving Subject: [AccessD] Sample vba to get code (event procedure code) behindform/controls Does anyone have some sample code showing how, using vba, to get the code behind a form and its controls? I have code to get standard module/procedure lines, but have been unable to find any code (or any real info really) on how to get that code. Any advice and guidance most appreciated. Thanks in advance, jack -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From darren at activebilling.com.au Tue Mar 24 20:03:58 2015 From: darren at activebilling.com.au (Darren) Date: Wed, 25 Mar 2015 12:03:58 +1100 Subject: [AccessD] A2k: Creating an Array from Start and End Numbers In-Reply-To: <5510F1EF.20520.9497A4E@stuart.lexacorp.com.pg> References: <692AD35113C94951AE205F35AC78E6A5@DDNote>, <551090FF.8796.7CECE9D@stuart.lexacorp.com.pg>, <0E4EB5587D144ED797645AED5D7A5D25@DDNote> <5510F1EF.20520.9497A4E@stuart.lexacorp.com.pg> Message-ID: Howdy That's even more clever than I had originally planned. Nice. This is for a community support mob. They provide all sorts of assistance to the local community. It's a charity - so ProBono work for me. These guys deliver Govt EAPA vouchers, local business vouchers, internal services vouchers and so on to their 'clients'. Apart from the EAPA Vouchers there is no commonality with the number or sequences (Nothing predictable at least) So just being able to add a start and end sequence for the 'voucher type' (And there are types within the types) is enough - as per Gustav's solution. To be frank I think their poor data entry (Mostly volunteers and mostly older folk) will probably even make Gustav's solution moot in a short space of time. I am building it - Hoping they will come (To the better data entry party) Many thanks Darren -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Tuesday, 24 March 2015 4:11 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] A2k: Creating an Array from Start and End Numbers Darren, You generaly use a number table for dynamic data, you just use offsets. Create a number table containing the numbers 0 to 999 as an example. If you need the next 10 numbers starting from 34567 you would just "Select (num + 34567) from tblNumbers where num < 10" The beauty of using such as table is that you can use it to generate any sequence you like for numbers or dates: "Select (num * 2) from tblNumbers where num between 1 and 20" will give you the first 20 even numbers (2,4,6....40) If today is Tuesday then , "Select (Date() + (num * 7) from tblNumbers where num < 10" will give you an array of the next 10 Tuesdays including today. etc, etc One good way to use it is as the left side of a join in order show every number/date in a range whether or not there are matching records in the table on the right side of the join. Once you have a number table in your system, you will find more and more uses for it. :) -- Stuart On 24 Mar 2015 at 14:18, Darren wrote: > Stuart - This is for storing 'voucher numbers'. > Users will add the first and last numbers in a sequence and now using > Gustav's clever code I can present a list of available voucher numbers > using these first and last numbers. > > These will never be static - always on the move so a fixed table won't > suffice but it's what I had in mind first, until the client explained > how their 'voucher' system works. > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From stuart at lexacorp.com.pg Tue Mar 24 20:04:13 2015 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Wed, 25 Mar 2015 11:04:13 +1000 Subject: [AccessD] Sample vba to get code (event procedure code) behind form/controls In-Reply-To: References: Message-ID: <5512098D.11814.D8DB8BA@stuart.lexacorp.com.pg> Application.SaveAsText acForm, "frmDemo","C:\Demoform. will create a text file containing the form and it's associated VBA. LoadFromText will let you import the file back the application. -- Stuart On 24 Mar 2015 at 20:30, jack drawbridge wrote: > Does anyone have some sample code showing how, using vba, to get the > code behind a form and its controls? I have code to get standard > module/procedure lines, but have been unable to find any code (or any > real info really) on how to get that code. > > Any advice and guidance most appreciated. > > Thanks in advance, > jack > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jackandpat.d at gmail.com Tue Mar 24 20:09:27 2015 From: jackandpat.d at gmail.com (jack drawbridge) Date: Tue, 24 Mar 2015 21:09:27 -0400 Subject: [AccessD] Sample vba to get code (event procedure code) behindform/controls In-Reply-To: References: Message-ID: Thanks Stuart and Bill, Yes SaveAsText/LoadAsText are probably best suited (easiest). Thanks for the quick response. jack On Tue, Mar 24, 2015 at 8:55 PM, Bill Patten wrote: > Jack, > > I'm not sure I understand the question but If you want to export the code > and controls behind a form > use SaveAsText > SaveAsText acForm, FormName as String, FileName as String > > Example SaveAsText "frmMain", "C:\FrmMain.txt" to save the form in your c: > directory. > > Bill > > -----Original Message----- > From: jack drawbridge > Sent: Tuesday, March 24, 2015 5:30 PM > To: Access Developers discussion and problem solving > Subject: [AccessD] Sample vba to get code (event procedure code) > behindform/controls > > Does anyone have some sample code showing how, using vba, to get the code > behind a form and its controls? I have code to get standard > module/procedure lines, but have been unable to find any code (or any real > info really) on how to get that code. > > Any advice and guidance most appreciated. > > Thanks in advance, > jack > -- > 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 > From darren at activebilling.com.au Tue Mar 24 21:33:14 2015 From: darren at activebilling.com.au (Darren) Date: Wed, 25 Mar 2015 13:33:14 +1100 Subject: [AccessD] A2k: Creating an Array from Start and End Numbers In-Reply-To: References: <692AD35113C94951AE205F35AC78E6A5@DDNote>, <551090FF.8796.7CECE9D@stuart.lexacorp.com.pg>, <0E4EB5587D144ED797645AED5D7A5D25@DDNote><5510F1EF.20520.9497A4E@stuart.lexacorp.com.pg> Message-ID: Stuart - Having said that, I can see uses for building arrays of say..all the coming 6 Tuesdays. In this same DB. Thanks I'll work on it - nice. Expect emails :-) D -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Darren Sent: Wednesday, 25 March 2015 12:04 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] A2k: Creating an Array from Start and End Numbers Howdy That's even more clever than I had originally planned. Nice. This is for a community support mob. They provide all sorts of assistance to the local community. It's a charity - so ProBono work for me. These guys deliver Govt EAPA vouchers, local business vouchers, internal services vouchers and so on to their 'clients'. Apart from the EAPA Vouchers there is no commonality with the number or sequences (Nothing predictable at least) So just being able to add a start and end sequence for the 'voucher type' (And there are types within the types) is enough - as per Gustav's solution. To be frank I think their poor data entry (Mostly volunteers and mostly older folk) will probably even make Gustav's solution moot in a short space of time. I am building it - Hoping they will come (To the better data entry party) Many thanks Darren -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Tuesday, 24 March 2015 4:11 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] A2k: Creating an Array from Start and End Numbers Darren, You generaly use a number table for dynamic data, you just use offsets. Create a number table containing the numbers 0 to 999 as an example. If you need the next 10 numbers starting from 34567 you would just "Select (num + 34567) from tblNumbers where num < 10" The beauty of using such as table is that you can use it to generate any sequence you like for numbers or dates: "Select (num * 2) from tblNumbers where num between 1 and 20" will give you the first 20 even numbers (2,4,6....40) If today is Tuesday then , "Select (Date() + (num * 7) from tblNumbers where num < 10" will give you an array of the next 10 Tuesdays including today. etc, etc One good way to use it is as the left side of a join in order show every number/date in a range whether or not there are matching records in the table on the right side of the join. Once you have a number table in your system, you will find more and more uses for it. :) -- Stuart On 24 Mar 2015 at 14:18, Darren wrote: > Stuart - This is for storing 'voucher numbers'. > Users will add the first and last numbers in a sequence and now using > Gustav's clever code I can present a list of available voucher numbers > using these first and last numbers. > > These will never be static - always on the move so a fixed table won't > suffice but it's what I had in mind first, until the client explained > how their 'voucher' system works. > -- 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 From bensonforums at gmail.com Tue Mar 24 21:51:45 2015 From: bensonforums at gmail.com (Bill Benson) Date: Tue, 24 Mar 2015 22:51:45 -0400 Subject: [AccessD] Sample vba to get code (event procedure code) behindform/controls In-Reply-To: References: Message-ID: That gets a lot more than code right? On Mar 24, 2015 9:11 PM, "jack drawbridge" wrote: > Thanks Stuart and Bill, > > Yes SaveAsText/LoadAsText are probably best suited (easiest). > > Thanks for the quick response. > jack > > On Tue, Mar 24, 2015 at 8:55 PM, Bill Patten > wrote: > > > Jack, > > > > I'm not sure I understand the question but If you want to export the code > > and controls behind a form > > use SaveAsText > > SaveAsText acForm, FormName as String, FileName as String > > > > Example SaveAsText "frmMain", "C:\FrmMain.txt" to save the form in your > c: > > directory. > > > > Bill > > > > -----Original Message----- > > From: jack drawbridge > > Sent: Tuesday, March 24, 2015 5:30 PM > > To: Access Developers discussion and problem solving > > Subject: [AccessD] Sample vba to get code (event procedure code) > > behindform/controls > > > > Does anyone have some sample code showing how, using vba, to get the code > > behind a form and its controls? I have code to get standard > > module/procedure lines, but have been unable to find any code (or any > real > > info really) on how to get that code. > > > > Any advice and guidance most appreciated. > > > > Thanks in advance, > > jack > > -- > > 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 > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From stuart at lexacorp.com.pg Tue Mar 24 22:20:10 2015 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Wed, 25 Mar 2015 13:20:10 +1000 Subject: [AccessD] Sample vba to get code (event procedure code) behindform/controls In-Reply-To: References: , , Message-ID: <5512296A.29695.E0A31A4@stuart.lexacorp.com.pg> Yep, it gets the whole form as well as its code module. On 24 Mar 2015 at 22:51, Bill Benson wrote: > That gets a lot more than code right? > On Mar 24, 2015 9:11 PM, "jack drawbridge" > wrote: > > > Thanks Stuart and Bill, > > > > Yes SaveAsText/LoadAsText are probably best suited (easiest). > > > > Thanks for the quick response. > > jack > > > > On Tue, Mar 24, 2015 at 8:55 PM, Bill Patten > > wrote: > > > > > Jack, > > > > > > I'm not sure I understand the question but If you want to export > > > the code and controls behind a form use SaveAsText SaveAsText > > > acForm, FormName as String, FileName as String > > > > > > Example SaveAsText "frmMain", "C:\FrmMain.txt" to save the form > > > in your > > c: > > > directory. > > > > > > Bill > > > > > > -----Original Message----- > > > From: jack drawbridge > > > Sent: Tuesday, March 24, 2015 5:30 PM > > > To: Access Developers discussion and problem solving > > > Subject: [AccessD] Sample vba to get code (event procedure code) > > > behindform/controls > > > > > > Does anyone have some sample code showing how, using vba, to get > > > the code behind a form and its controls? I have code to get > > > standard module/procedure lines, but have been unable to find any > > > code (or any > > real > > > info really) on how to get that code. > > > > > > Any advice and guidance most appreciated. > > > > > > Thanks in advance, > > > jack > > > -- > > > 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 > > > > > -- > > 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 > From jackandpat.d at gmail.com Tue Mar 24 22:25:51 2015 From: jackandpat.d at gmail.com (jack drawbridge) Date: Tue, 24 Mar 2015 23:25:51 -0400 Subject: [AccessD] Sample vba to get code (event procedure code) behindform/controls In-Reply-To: References: Message-ID: Right, it does. But it will work for what I'm trying. Save the form and code; insert some lines in each proc; then reload from revised text. Thanks again. On Tue, Mar 24, 2015 at 10:51 PM, Bill Benson wrote: > That gets a lot more than code right? > On Mar 24, 2015 9:11 PM, "jack drawbridge" wrote: > > > Thanks Stuart and Bill, > > > > Yes SaveAsText/LoadAsText are probably best suited (easiest). > > > > Thanks for the quick response. > > jack > > > > On Tue, Mar 24, 2015 at 8:55 PM, Bill Patten > > > wrote: > > > > > Jack, > > > > > > I'm not sure I understand the question but If you want to export the > code > > > and controls behind a form > > > use SaveAsText > > > SaveAsText acForm, FormName as String, FileName as String > > > > > > Example SaveAsText "frmMain", "C:\FrmMain.txt" to save the form in > your > > c: > > > directory. > > > > > > Bill > > > > > > -----Original Message----- > > > From: jack drawbridge > > > Sent: Tuesday, March 24, 2015 5:30 PM > > > To: Access Developers discussion and problem solving > > > Subject: [AccessD] Sample vba to get code (event procedure code) > > > behindform/controls > > > > > > Does anyone have some sample code showing how, using vba, to get the > code > > > behind a form and its controls? I have code to get standard > > > module/procedure lines, but have been unable to find any code (or any > > real > > > info really) on how to get that code. > > > > > > Any advice and guidance most appreciated. > > > > > > Thanks in advance, > > > jack > > > -- > > > 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 > > > > > -- > > 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 > From fuller.artful at gmail.com Wed Mar 25 04:32:38 2015 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 25 Mar 2015 05:32:38 -0400 Subject: [AccessD] NMFC class descriptions In-Reply-To: <1FB6591F806642B89A257C21C42DAE73@XPS> References: <5511B9C7.17096.C561CD3@stuart.lexacorp.com.pg> <1FB6591F806642B89A257C21C42DAE73@XPS> Message-ID: Jim, I found a PDF containing a lengthy list. Can't say how complete it is, nor whether, in light of the copyright issue mentioned above, you can use this. Since it's a PDF, you'll have to transform the data. I did that in the simplest possible way -- grabbed all the text from the displayed PDF and pasted it into a text file, in which I'll then transform " - " into ^T, so I can import the data into Excel. The data is formatted with a "header" line identifying each group, like this: 145 - BRUSHES (NOT OTHERWISE CLASSIFIED) 14515 - ACID 14543 - MASONRY BRUSHES 14545 - PAINT AND VARNISH 14560 - ROOFING etc. Here's the link: NMFC codes (South Florida) Don't know how important the South Florida qualifier is. But anyway, it's the best I could come up with. (I used wikipedia not just Google.) Arthur ? From jimdettman at verizon.net Wed Mar 25 07:42:00 2015 From: jimdettman at verizon.net (Jim Dettman) Date: Wed, 25 Mar 2015 08:42:00 -0400 Subject: [AccessD] Sample vba to get code (event procedure code)behindform/controls In-Reply-To: References: Message-ID: <31B575892C204549B758E07527E25597@XPS> Jack, You need a reference to the module: Dim mdl As Module Set mdl = Modules!Form_Employees Or if the form/report is already open, you can do: Dim mdl As Module Set mdl = Forms!Employees.Module Once you've done that, you can then use any of the module object methods, such as InsertLines, InsertText, ReplaceLine, etc. Example: Function ClickEventProc() As Boolean Dim frm As Form, ctl As Control, mdl As Module Dim lngReturn As Long On Error GoTo Error_ClickEventProc ' Create new form. Set frm = CreateForm ' Create command button on form. Set ctl = CreateControl(frm.Name, acCommandButton, , , , 1000, 1000) ctl.Caption = "Click here" ' Return reference to form module. Set mdl = frm.Module ' Add event procedure. lngReturn = mdl.CreateEventProc("Click", ctl.Name) ' Insert text into body of procedure. mdl.InsertLines lngReturn + 1, vbTab & "MsgBox ""Way cool!""" ClickEventProc = True Exit_ClickEventProc: Exit Function Error_ClickEventProc: MsgBox Err & " :" & Err.Description ClickEventProc = False Resume Exit_ClickEventProc End Function Jim. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jack drawbridge Sent: Tuesday, March 24, 2015 11:26 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Sample vba to get code (event procedure code)behindform/controls Right, it does. But it will work for what I'm trying. Save the form and code; insert some lines in each proc; then reload from revised text. Thanks again. On Tue, Mar 24, 2015 at 10:51 PM, Bill Benson wrote: > That gets a lot more than code right? > On Mar 24, 2015 9:11 PM, "jack drawbridge" wrote: > > > Thanks Stuart and Bill, > > > > Yes SaveAsText/LoadAsText are probably best suited (easiest). > > > > Thanks for the quick response. > > jack > > > > On Tue, Mar 24, 2015 at 8:55 PM, Bill Patten > > > wrote: > > > > > Jack, > > > > > > I'm not sure I understand the question but If you want to export the > code > > > and controls behind a form > > > use SaveAsText > > > SaveAsText acForm, FormName as String, FileName as String > > > > > > Example SaveAsText "frmMain", "C:\FrmMain.txt" to save the form in > your > > c: > > > directory. > > > > > > Bill > > > > > > -----Original Message----- > > > From: jack drawbridge > > > Sent: Tuesday, March 24, 2015 5:30 PM > > > To: Access Developers discussion and problem solving > > > Subject: [AccessD] Sample vba to get code (event procedure code) > > > behindform/controls > > > > > > Does anyone have some sample code showing how, using vba, to get the > code > > > behind a form and its controls? I have code to get standard > > > module/procedure lines, but have been unable to find any code (or any > > real > > > info really) on how to get that code. > > > > > > Any advice and guidance most appreciated. > > > > > > Thanks in advance, > > > jack > > > -- > > > 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 > > > > > -- > > 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 > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jimdettman at verizon.net Wed Mar 25 07:42:00 2015 From: jimdettman at verizon.net (Jim Dettman) Date: Wed, 25 Mar 2015 08:42:00 -0400 Subject: [AccessD] NMFC class descriptions In-Reply-To: References: <5511B9C7.17096.C561CD3@stuart.lexacorp.com.pg> <1FB6591F806642B89A257C21C42DAE73@XPS> Message-ID: Thanks. Jim. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, March 25, 2015 05:33 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] NMFC class descriptions Jim, I found a PDF containing a lengthy list. Can't say how complete it is, nor whether, in light of the copyright issue mentioned above, you can use this. Since it's a PDF, you'll have to transform the data. I did that in the simplest possible way -- grabbed all the text from the displayed PDF and pasted it into a text file, in which I'll then transform " - " into ^T, so I can import the data into Excel. The data is formatted with a "header" line identifying each group, like this: 145 - BRUSHES (NOT OTHERWISE CLASSIFIED) 14515 - ACID 14543 - MASONRY BRUSHES 14545 - PAINT AND VARNISH 14560 - ROOFING etc. Here's the link: NMFC codes (South Florida) Don't know how important the South Florida qualifier is. But anyway, it's the best I could come up with. (I used wikipedia not just Google.) Arthur ? -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jackandpat.d at gmail.com Wed Mar 25 08:00:15 2015 From: jackandpat.d at gmail.com (jack drawbridge) Date: Wed, 25 Mar 2015 09:00:15 -0400 Subject: [AccessD] Sample vba to get code (event procedure code)behindform/controls In-Reply-To: <31B575892C204549B758E07527E25597@XPS> References: <31B575892C204549B758E07527E25597@XPS> Message-ID: Thanks Jim. I'll give that a try. The SaveAsText/LoadAsText will serve my purpose, but if I can get right at the module, even better. Nice to have a few options regardless. Thanks. jack On Wed, Mar 25, 2015 at 8:42 AM, Jim Dettman wrote: > Jack, > > You need a reference to the module: > > Dim mdl As Module > Set mdl = Modules!Form_Employees > > Or if the form/report is already open, you can do: > > Dim mdl As Module > Set mdl = Forms!Employees.Module > > Once you've done that, you can then use any of the module object methods, > such as InsertLines, InsertText, ReplaceLine, etc. Example: > > Function ClickEventProc() As Boolean > Dim frm As Form, ctl As Control, mdl As Module > Dim lngReturn As Long > > On Error GoTo Error_ClickEventProc > ' Create new form. > Set frm = CreateForm > ' Create command button on form. > Set ctl = CreateControl(frm.Name, acCommandButton, , , , 1000, > 1000) > ctl.Caption = "Click here" > ' Return reference to form module. > Set mdl = frm.Module > ' Add event procedure. > lngReturn = mdl.CreateEventProc("Click", ctl.Name) > > ' Insert text into body of procedure. > mdl.InsertLines lngReturn + 1, vbTab & "MsgBox ""Way cool!""" > ClickEventProc = True > > Exit_ClickEventProc: > Exit Function > > Error_ClickEventProc: > MsgBox Err & " :" & Err.Description > ClickEventProc = False > Resume Exit_ClickEventProc > End Function > > Jim. > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > jack drawbridge > Sent: Tuesday, March 24, 2015 11:26 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Sample vba to get code (event procedure > code)behindform/controls > > Right, it does. But it will work for what I'm trying. > Save the form and code; insert some lines in each proc; > then reload from revised text. > Thanks again. > > On Tue, Mar 24, 2015 at 10:51 PM, Bill Benson > wrote: > > > That gets a lot more than code right? > > On Mar 24, 2015 9:11 PM, "jack drawbridge" > wrote: > > > > > Thanks Stuart and Bill, > > > > > > Yes SaveAsText/LoadAsText are probably best suited (easiest). > > > > > > Thanks for the quick response. > > > jack > > > > > > On Tue, Mar 24, 2015 at 8:55 PM, Bill Patten < > bill_patten at embarqmail.com > > > > > > wrote: > > > > > > > Jack, > > > > > > > > I'm not sure I understand the question but If you want to export the > > code > > > > and controls behind a form > > > > use SaveAsText > > > > SaveAsText acForm, FormName as String, FileName as String > > > > > > > > Example SaveAsText "frmMain", "C:\FrmMain.txt" to save the form in > > your > > > c: > > > > directory. > > > > > > > > Bill > > > > > > > > -----Original Message----- > > > > From: jack drawbridge > > > > Sent: Tuesday, March 24, 2015 5:30 PM > > > > To: Access Developers discussion and problem solving > > > > Subject: [AccessD] Sample vba to get code (event procedure code) > > > > behindform/controls > > > > > > > > Does anyone have some sample code showing how, using vba, to get the > > code > > > > behind a form and its controls? I have code to get standard > > > > module/procedure lines, but have been unable to find any code (or any > > > real > > > > info really) on how to get that code. > > > > > > > > Any advice and guidance most appreciated. > > > > > > > > Thanks in advance, > > > > jack > > > > -- > > > > 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 > > > > > > > -- > > > 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 > > > -- > 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 > From jimdettman at verizon.net Wed Mar 25 08:23:53 2015 From: jimdettman at verizon.net (Jim Dettman) Date: Wed, 25 Mar 2015 09:23:53 -0400 Subject: [AccessD] Sample vba to get code (event procedurecode)behindform/controls In-Reply-To: References: <31B575892C204549B758E07527E25597@XPS> Message-ID: Jack, Also note you have the AddFromFile and AddFromString methods. The first was the forerunner to the current SaveAsText/LoadFromText However this doesn't deal with the whole form, just the code. Also note that for much of this, the form needs to be open in design view. Jim. -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jack drawbridge Sent: Wednesday, March 25, 2015 09:00 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Sample vba to get code (event procedurecode)behindform/controls Thanks Jim. I'll give that a try. The SaveAsText/LoadAsText will serve my purpose, but if I can get right at the module, even better. Nice to have a few options regardless. Thanks. jack On Wed, Mar 25, 2015 at 8:42 AM, Jim Dettman wrote: > Jack, > > You need a reference to the module: > > Dim mdl As Module > Set mdl = Modules!Form_Employees > > Or if the form/report is already open, you can do: > > Dim mdl As Module > Set mdl = Forms!Employees.Module > > Once you've done that, you can then use any of the module object methods, > such as InsertLines, InsertText, ReplaceLine, etc. Example: > > Function ClickEventProc() As Boolean > Dim frm As Form, ctl As Control, mdl As Module > Dim lngReturn As Long > > On Error GoTo Error_ClickEventProc > ' Create new form. > Set frm = CreateForm > ' Create command button on form. > Set ctl = CreateControl(frm.Name, acCommandButton, , , , 1000, > 1000) > ctl.Caption = "Click here" > ' Return reference to form module. > Set mdl = frm.Module > ' Add event procedure. > lngReturn = mdl.CreateEventProc("Click", ctl.Name) > > ' Insert text into body of procedure. > mdl.InsertLines lngReturn + 1, vbTab & "MsgBox ""Way cool!""" > ClickEventProc = True > > Exit_ClickEventProc: > Exit Function > > Error_ClickEventProc: > MsgBox Err & " :" & Err.Description > ClickEventProc = False > Resume Exit_ClickEventProc > End Function > > Jim. > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > jack drawbridge > Sent: Tuesday, March 24, 2015 11:26 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Sample vba to get code (event procedure > code)behindform/controls > > Right, it does. But it will work for what I'm trying. > Save the form and code; insert some lines in each proc; > then reload from revised text. > Thanks again. > > On Tue, Mar 24, 2015 at 10:51 PM, Bill Benson > wrote: > > > That gets a lot more than code right? > > On Mar 24, 2015 9:11 PM, "jack drawbridge" > wrote: > > > > > Thanks Stuart and Bill, > > > > > > Yes SaveAsText/LoadAsText are probably best suited (easiest). > > > > > > Thanks for the quick response. > > > jack > > > > > > On Tue, Mar 24, 2015 at 8:55 PM, Bill Patten < > bill_patten at embarqmail.com > > > > > > wrote: > > > > > > > Jack, > > > > > > > > I'm not sure I understand the question but If you want to export the > > code > > > > and controls behind a form > > > > use SaveAsText > > > > SaveAsText acForm, FormName as String, FileName as String > > > > > > > > Example SaveAsText "frmMain", "C:\FrmMain.txt" to save the form in > > your > > > c: > > > > directory. > > > > > > > > Bill > > > > > > > > -----Original Message----- > > > > From: jack drawbridge > > > > Sent: Tuesday, March 24, 2015 5:30 PM > > > > To: Access Developers discussion and problem solving > > > > Subject: [AccessD] Sample vba to get code (event procedure code) > > > > behindform/controls > > > > > > > > Does anyone have some sample code showing how, using vba, to get the > > code > > > > behind a form and its controls? I have code to get standard > > > > module/procedure lines, but have been unable to find any code (or any > > > real > > > > info really) on how to get that code. > > > > > > > > Any advice and guidance most appreciated. > > > > > > > > Thanks in advance, > > > > jack > > > > -- > > > > 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 > > > > > > > -- > > > 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 > > > -- > 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 > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jackandpat.d at gmail.com Wed Mar 25 09:03:32 2015 From: jackandpat.d at gmail.com (jack drawbridge) Date: Wed, 25 Mar 2015 10:03:32 -0400 Subject: [AccessD] Sample vba to get code (event procedurecode)behindform/controls In-Reply-To: References: <31B575892C204549B758E07527E25597@XPS> Message-ID: Jim, Thanks for the info. I see the mdl.CountOfLines etc and mdl.InsertLines. Is there something to simply debug.print mdl current line or loop to print lines?? On Wed, Mar 25, 2015 at 9:23 AM, Jim Dettman wrote: > Jack, > > Also note you have the AddFromFile and AddFromString methods. The first > was the forerunner to the current SaveAsText/LoadFromText > > However this doesn't deal with the whole form, just the code. Also note > that for much of this, the form needs to be open in design view. > > Jim. > > -----Original Message----- > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > jack drawbridge > Sent: Wednesday, March 25, 2015 09:00 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Sample vba to get code (event > procedurecode)behindform/controls > > Thanks Jim. I'll give that a try. The SaveAsText/LoadAsText will serve my > purpose, but if I can get right at the module, even better. Nice to have a > few options regardless. > Thanks. > jack > > On Wed, Mar 25, 2015 at 8:42 AM, Jim Dettman > wrote: > > > Jack, > > > > You need a reference to the module: > > > > Dim mdl As Module > > Set mdl = Modules!Form_Employees > > > > Or if the form/report is already open, you can do: > > > > Dim mdl As Module > > Set mdl = Forms!Employees.Module > > > > Once you've done that, you can then use any of the module object > methods, > > such as InsertLines, InsertText, ReplaceLine, etc. Example: > > > > Function ClickEventProc() As Boolean > > Dim frm As Form, ctl As Control, mdl As Module > > Dim lngReturn As Long > > > > On Error GoTo Error_ClickEventProc > > ' Create new form. > > Set frm = CreateForm > > ' Create command button on form. > > Set ctl = CreateControl(frm.Name, acCommandButton, , , , 1000, > > 1000) > > ctl.Caption = "Click here" > > ' Return reference to form module. > > Set mdl = frm.Module > > ' Add event procedure. > > lngReturn = mdl.CreateEventProc("Click", ctl.Name) > > > > ' Insert text into body of procedure. > > mdl.InsertLines lngReturn + 1, vbTab & "MsgBox ""Way cool!""" > > ClickEventProc = True > > > > Exit_ClickEventProc: > > Exit Function > > > > Error_ClickEventProc: > > MsgBox Err & " :" & Err.Description > > ClickEventProc = False > > Resume Exit_ClickEventProc > > End Function > > > > Jim. > > > > -----Original Message----- > > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > > jack drawbridge > > Sent: Tuesday, March 24, 2015 11:26 PM > > To: Access Developers discussion and problem solving > > Subject: Re: [AccessD] Sample vba to get code (event procedure > > code)behindform/controls > > > > Right, it does. But it will work for what I'm trying. > > Save the form and code; insert some lines in each proc; > > then reload from revised text. > > Thanks again. > > > > On Tue, Mar 24, 2015 at 10:51 PM, Bill Benson > > wrote: > > > > > That gets a lot more than code right? > > > On Mar 24, 2015 9:11 PM, "jack drawbridge" > > wrote: > > > > > > > Thanks Stuart and Bill, > > > > > > > > Yes SaveAsText/LoadAsText are probably best suited (easiest). > > > > > > > > Thanks for the quick response. > > > > jack > > > > > > > > On Tue, Mar 24, 2015 at 8:55 PM, Bill Patten < > > bill_patten at embarqmail.com > > > > > > > > wrote: > > > > > > > > > Jack, > > > > > > > > > > I'm not sure I understand the question but If you want to export > the > > > code > > > > > and controls behind a form > > > > > use SaveAsText > > > > > SaveAsText acForm, FormName as String, FileName as String > > > > > > > > > > Example SaveAsText "frmMain", "C:\FrmMain.txt" to save the form in > > > your > > > > c: > > > > > directory. > > > > > > > > > > Bill > > > > > > > > > > -----Original Message----- > > > > > From: jack drawbridge > > > > > Sent: Tuesday, March 24, 2015 5:30 PM > > > > > To: Access Developers discussion and problem solving > > > > > Subject: [AccessD] Sample vba to get code (event procedure code) > > > > > behindform/controls > > > > > > > > > > Does anyone have some sample code showing how, using vba, to get > the > > > code > > > > > behind a form and its controls? I have code to get standard > > > > > module/procedure lines, but have been unable to find any code (or > any > > > > real > > > > > info really) on how to get that code. > > > > > > > > > > Any advice and guidance most appreciated. > > > > > > > > > > Thanks in advance, > > > > > jack > > > > > -- > > > > > 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 > > > > > > > > > -- > > > > 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 > > > > > -- > > 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 > > > -- > 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 > From bensonforums at gmail.com Wed Mar 25 21:22:09 2015 From: bensonforums at gmail.com (Bill Benson) Date: Wed, 25 Mar 2015 22:22:09 -0400 Subject: [AccessD] Sample vba to get code (event procedurecode)behindform/controls In-Reply-To: References: <31B575892C204549B758E07527E25597@XPS> Message-ID: Does vba extensibility work for Access objects, Ie. Dim vbc as vbComponent For each vbc in currentdb.vbproject or some such? On Mar 25, 2015 10:06 AM, "jack drawbridge" wrote: > Jim, Thanks for the info. > > I see the mdl.CountOfLines etc and mdl.InsertLines. > Is there something to simply debug.print mdl current line or loop to print > lines?? > > On Wed, Mar 25, 2015 at 9:23 AM, Jim Dettman > wrote: > > > Jack, > > > > Also note you have the AddFromFile and AddFromString methods. The first > > was the forerunner to the current SaveAsText/LoadFromText > > > > However this doesn't deal with the whole form, just the code. Also note > > that for much of this, the form needs to be open in design view. > > > > Jim. > > > > -----Original Message----- > > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > > jack drawbridge > > Sent: Wednesday, March 25, 2015 09:00 AM > > To: Access Developers discussion and problem solving > > Subject: Re: [AccessD] Sample vba to get code (event > > procedurecode)behindform/controls > > > > Thanks Jim. I'll give that a try. The SaveAsText/LoadAsText will serve my > > purpose, but if I can get right at the module, even better. Nice to > have a > > few options regardless. > > Thanks. > > jack > > > > On Wed, Mar 25, 2015 at 8:42 AM, Jim Dettman > > wrote: > > > > > Jack, > > > > > > You need a reference to the module: > > > > > > Dim mdl As Module > > > Set mdl = Modules!Form_Employees > > > > > > Or if the form/report is already open, you can do: > > > > > > Dim mdl As Module > > > Set mdl = Forms!Employees.Module > > > > > > Once you've done that, you can then use any of the module object > > methods, > > > such as InsertLines, InsertText, ReplaceLine, etc. Example: > > > > > > Function ClickEventProc() As Boolean > > > Dim frm As Form, ctl As Control, mdl As Module > > > Dim lngReturn As Long > > > > > > On Error GoTo Error_ClickEventProc > > > ' Create new form. > > > Set frm = CreateForm > > > ' Create command button on form. > > > Set ctl = CreateControl(frm.Name, acCommandButton, , , , 1000, > > > 1000) > > > ctl.Caption = "Click here" > > > ' Return reference to form module. > > > Set mdl = frm.Module > > > ' Add event procedure. > > > lngReturn = mdl.CreateEventProc("Click", ctl.Name) > > > > > > ' Insert text into body of procedure. > > > mdl.InsertLines lngReturn + 1, vbTab & "MsgBox ""Way cool!""" > > > ClickEventProc = True > > > > > > Exit_ClickEventProc: > > > Exit Function > > > > > > Error_ClickEventProc: > > > MsgBox Err & " :" & Err.Description > > > ClickEventProc = False > > > Resume Exit_ClickEventProc > > > End Function > > > > > > Jim. > > > > > > -----Original Message----- > > > From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf > Of > > > jack drawbridge > > > Sent: Tuesday, March 24, 2015 11:26 PM > > > To: Access Developers discussion and problem solving > > > Subject: Re: [AccessD] Sample vba to get code (event procedure > > > code)behindform/controls > > > > > > Right, it does. But it will work for what I'm trying. > > > Save the form and code; insert some lines in each proc; > > > then reload from revised text. > > > Thanks again. > > > > > > On Tue, Mar 24, 2015 at 10:51 PM, Bill Benson > > > wrote: > > > > > > > That gets a lot more than code right? > > > > On Mar 24, 2015 9:11 PM, "jack drawbridge" > > > wrote: > > > > > > > > > Thanks Stuart and Bill, > > > > > > > > > > Yes SaveAsText/LoadAsText are probably best suited (easiest). > > > > > > > > > > Thanks for the quick response. > > > > > jack > > > > > > > > > > On Tue, Mar 24, 2015 at 8:55 PM, Bill Patten < > > > bill_patten at embarqmail.com > > > > > > > > > > wrote: > > > > > > > > > > > Jack, > > > > > > > > > > > > I'm not sure I understand the question but If you want to export > > the > > > > code > > > > > > and controls behind a form > > > > > > use SaveAsText > > > > > > SaveAsText acForm, FormName as String, FileName as String > > > > > > > > > > > > Example SaveAsText "frmMain", "C:\FrmMain.txt" to save the form > in > > > > your > > > > > c: > > > > > > directory. > > > > > > > > > > > > Bill > > > > > > > > > > > > -----Original Message----- > > > > > > From: jack drawbridge > > > > > > Sent: Tuesday, March 24, 2015 5:30 PM > > > > > > To: Access Developers discussion and problem solving > > > > > > Subject: [AccessD] Sample vba to get code (event procedure code) > > > > > > behindform/controls > > > > > > > > > > > > Does anyone have some sample code showing how, using vba, to get > > the > > > > code > > > > > > behind a form and its controls? I have code to get standard > > > > > > module/procedure lines, but have been unable to find any code (or > > any > > > > > real > > > > > > info really) on how to get that code. > > > > > > > > > > > > Any advice and guidance most appreciated. > > > > > > > > > > > > Thanks in advance, > > > > > > jack > > > > > > -- > > > > > > 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 > > > > > > > > > > > -- > > > > > 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 > > > > > > > -- > > > 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 > > > > > -- > > 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 > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From fuller.artful at gmail.com Thu Mar 26 05:07:55 2015 From: fuller.artful at gmail.com (Arthur Fuller) Date: Thu, 26 Mar 2015 06:07:55 -0400 Subject: [AccessD] Sample vba to get code (event procedurecode)behindform/controls In-Reply-To: References: <31B575892C204549B758E07527E25597@XPS> Message-ID: A very good overview of MS-Access collections is available at Collections Overview . There are built-in collections such as AllForms, which (gasp) presents all the forms in the CurrentProject object; you can then walk through the collection and manipulate each item as you wish. See AllForms collection for more information and sample code. There are equivalent collections available for reports, queries and modules. Hope this helps. Arthur On Wed, Mar 25, 2015 at 10:22 PM, Bill Benson wrote: > Does vba extensibility work for Access objects, Ie. > > Dim vbc as vbComponent > For each vbc in currentdb.vbproject or some such? From jackandpat.d at gmail.com Thu Mar 26 06:38:31 2015 From: jackandpat.d at gmail.com (jack drawbridge) Date: Thu, 26 Mar 2015 07:38:31 -0400 Subject: [AccessD] Sample vba to get code (event procedurecode)behindform/controls In-Reply-To: References: <31B575892C204549B758E07527E25597@XPS> Message-ID: Thanks for the responses and thanks Arthur for the link. One that I found to be useful is http://www.codeproject.com/Articles/640258/Deconstruction-of-a-VBA-Code-Module And Bill, I haven't worked with extensibility --quite honestly never knew about it other than one of the files in a "Reference list". Jim's example got me headed in a "better" direction. Thanks all for responding. jack On Thu, Mar 26, 2015 at 6:07 AM, Arthur Fuller wrote: > A very good overview of MS-Access collections is available at Collections > Overview . There are > built-in collections such as AllForms, which (gasp) presents all the forms > in the CurrentProject object; you can then walk through the collection and > manipulate each item as you wish. > > See AllForms collection > > for more information and sample code. > > There are equivalent collections available for reports, queries and > modules. > > Hope this helps. > > Arthur > > On Wed, Mar 25, 2015 at 10:22 PM, Bill Benson > wrote: > > > Does vba extensibility work for Access objects, Ie. > > > > Dim vbc as vbComponent > > For each vbc in currentdb.vbproject or some such? > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jackandpat.d at gmail.com Thu Mar 26 07:06:00 2015 From: jackandpat.d at gmail.com (jack drawbridge) Date: Thu, 26 Mar 2015 08:06:00 -0400 Subject: [AccessD] Sample vba to get code (event procedurecode)behindform/controls In-Reply-To: References: <31B575892C204549B758E07527E25597@XPS> Message-ID: Bill, When I re-read my previous message, it seems I was not clear. Yes, vba extensibility is key to getting at "the stuff 'hidden' behind our typical vba/Access. Truth is, I hadn't been aware of vba extensibility, but it's at the heart of code to work with Procedures, modules tucked away by Access. Here is another link on the subject. http://www.devhut.net/2011/06/04/vba-vbe-enumerate-modules-procedures-and-line-count/ jack On Thu, Mar 26, 2015 at 7:38 AM, jack drawbridge wrote: > Thanks for the responses and thanks Arthur for the link. One that I found > to be useful is > http://www.codeproject.com/Articles/640258/Deconstruction-of-a-VBA-Code-Module > > And Bill, I haven't worked with extensibility --quite honestly never knew > about it other than one of the files in a "Reference list". > > Jim's example got me headed in a "better" direction. > Thanks all for responding. > jack > > On Thu, Mar 26, 2015 at 6:07 AM, Arthur Fuller > wrote: > >> A very good overview of MS-Access collections is available at Collections >> Overview . There are >> built-in collections such as AllForms, which (gasp) presents all the forms >> in the CurrentProject object; you can then walk through the collection and >> manipulate each item as you wish. >> >> See AllForms collection >> >> for more information and sample code. >> >> There are equivalent collections available for reports, queries and >> modules. >> >> Hope this helps. >> >> Arthur >> >> On Wed, Mar 25, 2015 at 10:22 PM, Bill Benson >> wrote: >> >> > Does vba extensibility work for Access objects, Ie. >> > >> > Dim vbc as vbComponent >> > For each vbc in currentdb.vbproject or some such? >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> > > From fuller.artful at gmail.com Thu Mar 26 07:46:24 2015 From: fuller.artful at gmail.com (Arthur Fuller) Date: Thu, 26 Mar 2015 08:46:24 -0400 Subject: [AccessD] Sample vba to get code (event procedurecode)behindform/controls In-Reply-To: References: <31B575892C204549B758E07527E25597@XPS> Message-ID: Since it hasn't been mentioned yet on this thread, perhaps because everyone is already using it, but just in case not, I feel compelled to mention MZ-Tools , an add-in for the Office suite, but primarily for Access developers, which is freeware. There's also a version for Visual Studio which is not free, but very reasonably priced. I consider the Access version indispensable -- so much so that when from time to time I am up for a contract with some firm or governmental arm, one of my first questions involves the use of MZ-Tools (some outfits don't permit such use of 3rd-party stuff); I consider that policy asinine, and a deal-breaker. The reason I mention it is that a lot of the things you might wish to do with the objects in an Access app are already included in MZ-Tools. Arthur ? From jackandpat.d at gmail.com Thu Mar 26 08:31:40 2015 From: jackandpat.d at gmail.com (jack drawbridge) Date: Thu, 26 Mar 2015 09:31:40 -0400 Subject: [AccessD] Sample vba to get code (event procedurecode)behindform/controls In-Reply-To: References: <31B575892C204549B758E07527E25597@XPS> Message-ID: Thanks Arthur. I have used MZTools for years, and would also suggest Smart Indenter (also free) and there is a trial version of vbWatchDog, all of which can be helpful. JC and others mentioned a free version of Visual Studio recently. There must be additional features in your 'not free version' suggestion. On Thu, Mar 26, 2015 at 8:46 AM, Arthur Fuller wrote: > Since it hasn't been mentioned yet on this thread, perhaps because everyone > is already using it, but just in case not, I feel compelled to mention > MZ-Tools , an add-in for the Office suite, but > primarily for Access developers, which is freeware. There's also a version > for Visual Studio which is not free, but very reasonably priced. I consider > the Access version indispensable -- so much so that when from time to time > I am up for a contract with some firm or governmental arm, one of my first > questions involves the use of MZ-Tools (some outfits don't permit such use > of 3rd-party stuff); I consider that policy asinine, and a deal-breaker. > > The reason I mention it is that a lot of the things you might wish to do > with the objects in an Access app are already included in MZ-Tools. > > Arthur > ? > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at gmail.com Thu Mar 26 08:32:58 2015 From: jwcolby at gmail.com (John W. Colby) Date: Thu, 26 Mar 2015 09:32:58 -0400 Subject: [AccessD] Sample vba to get code (event procedurecode)behindform/controls In-Reply-To: References: <31B575892C204549B758E07527E25597@XPS> Message-ID: <55140A8A.7080200@gmail.com> Access is built around collections, every thing you can think of uses collections. Fields, properties, controls, you name it. John W. Colby On 3/26/2015 6:07 AM, Arthur Fuller wrote: > A very good overview of MS-Access collections is available at Collections > Overview . There are > built-in collections such as AllForms, which (gasp) presents all the forms > in the CurrentProject object; you can then walk through the collection and > manipulate each item as you wish. > > See AllForms collection > > for more information and sample code. > > There are equivalent collections available for reports, queries and modules. > > Hope this helps. > > Arthur > > On Wed, Mar 25, 2015 at 10:22 PM, Bill Benson > wrote: > >> Does vba extensibility work for Access objects, Ie. >> >> Dim vbc as vbComponent >> For each vbc in currentdb.vbproject or some such? From jwcolby at gmail.com Thu Mar 26 08:35:39 2015 From: jwcolby at gmail.com (John W. Colby) Date: Thu, 26 Mar 2015 09:35:39 -0400 Subject: [AccessD] Sample vba to get code (event procedurecode)behindform/controls In-Reply-To: References: <31B575892C204549B758E07527E25597@XPS> Message-ID: <55140B2B.8060705@gmail.com> I would like to stress that MZTools is freeware but he will take a donation, and it is well worth the price, whatever you may give. John W. Colby On 3/26/2015 8:46 AM, Arthur Fuller wrote: > Since it hasn't been mentioned yet on this thread, perhaps because everyone > is already using it, but just in case not, I feel compelled to mention > MZ-Tools , an add-in for the Office suite, but > primarily for Access developers, which is freeware. There's also a version > for Visual Studio which is not free, but very reasonably priced. I consider > the Access version indispensable -- so much so that when from time to time > I am up for a contract with some firm or governmental arm, one of my first > questions involves the use of MZ-Tools (some outfits don't permit such use > of 3rd-party stuff); I consider that policy asinine, and a deal-breaker. > > The reason I mention it is that a lot of the things you might wish to do > with the objects in an Access app are already included in MZ-Tools. > > Arthur > ? From listmaster at databaseadvisors.com Thu Mar 26 09:13:06 2015 From: listmaster at databaseadvisors.com (Bryan Carbonnell) Date: Thu, 26 Mar 2015 10:13:06 -0400 Subject: [AccessD] Administrivia - New and Deprecated Lists Message-ID: Hi all, A while back there was a suggestion to create a new list, dba-VS, to discuss Visual Studio development. We are going to go ahead with that suggestion. Since this list would include VB.net development, the dba-VB list will be deprecated and no new posts will be allowed. The archives will remain for the foreseeable future however. All existing members of the dba-VB list will automatically transferred to the new list. These changes will take place by the end of the week and an announcement will be made. As always, if you have any questions/concerns please don't hesitate to get in touch. Your friendly neighborhood listmaster, Bryan -- Bryan Carbonnell - listmaster at databaseadvisors.com Life's journey is not to arrive at the grave safely in a well preserved body, but rather to skid in sideways, totally worn out, shouting "What a great ride!" From bensonforums at gmail.com Thu Mar 26 09:28:04 2015 From: bensonforums at gmail.com (Bill Benson) Date: Thu, 26 Mar 2015 10:28:04 -0400 Subject: [AccessD] Grouped fields on a report Message-ID: I have an acc 2013 report that has many fields appearing to be "grouped" - I am using that term guardedly because I don't know what to call this condition - it persists even when the Group & Sort button is in its untoggled (off) state. The manifestation is dashed box around all the fields, including both the bound controls and the labels next to them. And in the upper left corner of this "group" there is a plus-sign-in-box image that can be right-clicked on, but the choices when I do so do not include anything related to Grouping. Anyway my challenge is three-fold - to understand what this feature purports to do for this report; if anything useful, I have some recently added fields below the "grouped" fields, which should share in this condition as they are similar to the other fields. And last, if it is not a useful/needed feature, how do I turn it off? Thanks, I hope I have described the condition adequately to get some guidance. Bill From bensonforums at gmail.com Thu Mar 26 09:42:21 2015 From: bensonforums at gmail.com (Bill Benson) Date: Thu, 26 Mar 2015 10:42:21 -0400 Subject: [AccessD] Grouped fields on a report In-Reply-To: References: Message-ID: Apologies to those who are in the process of answering this - I found the information I needed here. https://support.office.com/en-gb/article/Move-and-resize-controls-independently-3d0bebde-592d-4191-adc8-f8db0650a761 On Thu, Mar 26, 2015 at 10:28 AM, Bill Benson wrote: > I have an acc 2013 report that has many fields appearing to be "grouped" - > I am using that term guardedly because I don't know what to call this > condition - it persists even when the Group & Sort button is in its > untoggled (off) state. The manifestation is dashed box around all the > fields, including both the bound controls and the labels next to them. And > in the upper left corner of this "group" there is a plus-sign-in-box image > that can be right-clicked on, but the choices when I do so do not include > anything related to Grouping. > > Anyway my challenge is three-fold - to understand what this feature > purports to do for this report; if anything useful, I have some recently > added fields below the "grouped" fields, which should share in this > condition as they are similar to the other fields. And last, if it is not a > useful/needed feature, how do I turn it off? > > Thanks, I hope I have described the condition adequately to get some > guidance. > > Bill > From Salato at ky.gov Thu Mar 26 12:01:37 2015 From: Salato at ky.gov (FW Salato Center) Date: Thu, 26 Mar 2015 17:01:37 +0000 Subject: [AccessD] FW: Form changing behavior after changing record source Message-ID: I am still struggling with this. Here's what I've found so far. I created the query wizard to create a simple SELECT on one table. When viewing the query in Datasheet view, there's no New button on the Navigational toolbar. This seems to be why the form is ignoring the Data Entry property. I don't work with Access much anymore, but I don't recall ever running into this before. I can't figure out how to enable new records so the form can honor the data entry property. If someone can tell me how to do that, I'll probably be fine. Susan H. From: FW Salato Center Sent: Friday, March 20, 2015 1:11 PM To: 'accessd at databaseadvisors.com' Subject: Form changing behavior after changing record source Using a menu form, a button opens a form in data entry view - empty form. The same form is also used for browsing and editing at different times - clicking the button sets the properties when opening the form: DoCmd.OpenForm "Enter New Animals", acNormal,,,acFormAdd,,"New" I changed the form's resource source from a table to a query that I based on the table - same fields. Now, clicking the menu button to open the form in data entry view opens the form filled with data. I have no idea why this should matter. Editing and browsing mode are still working fine. Any idea why changing the record source is inhibiting Susan H. From charlotte.foust at gmail.com Thu Mar 26 13:00:37 2015 From: charlotte.foust at gmail.com (Charlotte Foust) Date: Thu, 26 Mar 2015 11:00:37 -0700 Subject: [AccessD] FW: Form changing behavior after changing record source In-Reply-To: References: Message-ID: ?Is the query itself updateable? It doesn't sound like it, and in that case there will be no New button on the navigation controls.? If the query cannot be updated when you run it, there is no way to add or edit records in a form. Charlotte Foust (916) 206-4336 On Thu, Mar 26, 2015 at 10:01 AM, FW Salato Center wrote: > I am still struggling with this. Here's what I've found so far. > > I created the query wizard to create a simple SELECT on one table. When > viewing the query in Datasheet view, there's no New button on the > Navigational toolbar. This seems to be why the form is ignoring the Data > Entry property. > > I don't work with Access much anymore, but I don't recall ever running > into this before. I can't figure out how to enable new records so the form > can honor the data entry property. If someone can tell me how to do that, > I'll probably be fine. > > Susan H. > > > From: FW Salato Center > Sent: Friday, March 20, 2015 1:11 PM > To: 'accessd at databaseadvisors.com' > Subject: Form changing behavior after changing record source > > Using a menu form, a button opens a form in data entry view - empty form. > The same form is also used for browsing and editing at different times - > clicking the button sets the properties when opening the form: > > DoCmd.OpenForm "Enter New Animals", acNormal,,,acFormAdd,,"New" > > I changed the form's resource source from a table to a query that I based > on the table - same fields. Now, clicking the menu button to open the form > in data entry view opens the form filled with data. I have no idea why this > should matter. Editing and browsing mode are still working fine. > > Any idea why changing the record source is inhibiting > > Susan H. > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From Salato at ky.gov Thu Mar 26 13:40:36 2015 From: Salato at ky.gov (FW Salato Center) Date: Thu, 26 Mar 2015 18:40:36 +0000 Subject: [AccessD] FW: Form changing behavior after changing record source In-Reply-To: References: Message-ID: It's a single table with no criteria expression in place. I'm just using the query instead of a form to more easily control the save and cancel process during data entry. I read about the Unique Values property and in testing found that I couldn't change it to Yes because of the Attachment fields. The table has several and I noticed last fall that the query added several additional fields for each Attachment field -- FileName, FileType, etc. I removed all the extraneous fields and the query is now updateable (New) record and the form is opening in data entry form as it was before. However, the (form) control bound to the Attachment field no longer works. I've lost all that new functionality. I'm still playing, but if anybody knows a work around, I'd appreciate some more information. Susan H. ?Is the query itself updateable? It doesn't sound like it, and in that case there will be no New button on the navigation controls.? If the query cannot be updated when you run it, there is no way to add or edit records in a form. Charlotte Foust (916) 206-4336 On Thu, Mar 26, 2015 at 10:01 AM, FW Salato Center wrote: > I am still struggling with this. Here's what I've found so far. > > I created the query wizard to create a simple SELECT on one table. > When viewing the query in Datasheet view, there's no New button on the > Navigational toolbar. This seems to be why the form is ignoring the > Data Entry property. > > I don't work with Access much anymore, but I don't recall ever running > into this before. I can't figure out how to enable new records so the > form can honor the data entry property. If someone can tell me how to > do that, I'll probably be fine. > > Susan H. > > > From: FW Salato Center > Sent: Friday, March 20, 2015 1:11 PM > To: 'accessd at databaseadvisors.com' > Subject: Form changing behavior after changing record source > > Using a menu form, a button opens a form in data entry view - empty form. > The same form is also used for browsing and editing at different times > - clicking the button sets the properties when opening the form: > > DoCmd.OpenForm "Enter New Animals", acNormal,,,acFormAdd,,"New" > > I changed the form's resource source from a table to a query that I > based on the table - same fields. Now, clicking the menu button to > open the form in data entry view opens the form filled with data. I > have no idea why this should matter. Editing and browsing mode are still working fine. > > Any idea why changing the record source is inhibiting > > Susan H. > > > -- > 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 From charlotte.foust at gmail.com Thu Mar 26 14:29:05 2015 From: charlotte.foust at gmail.com (Charlotte Foust) Date: Thu, 26 Mar 2015 12:29:05 -0700 Subject: [AccessD] FW: Form changing behavior after changing record source In-Reply-To: References: Message-ID: You didn't mention the attachment fields. I've never played with them, so I can't help there. Charlotte Foust (916) 206-4336 On Thu, Mar 26, 2015 at 11:40 AM, FW Salato Center wrote: > It's a single table with no criteria expression in place. I'm just using > the query instead of a form to more easily control the save and cancel > process during data entry. > > I read about the Unique Values property and in testing found that I > couldn't change it to Yes because of the Attachment fields. The table has > several and I noticed last fall that the query added several additional > fields for each Attachment field -- FileName, FileType, etc. > > I removed all the extraneous fields and the query is now updateable (New) > record and the form is opening in data entry form as it was before. > However, the (form) control bound to the Attachment field no longer works. > I've lost all that new functionality. > > I'm still playing, but if anybody knows a work around, I'd appreciate some > more information. > > Susan H. > > > ?Is the query itself updateable? It doesn't sound like it, and in that > case there will be no New button on the navigation controls.? If the query > cannot be updated when you run it, there is no way to add or edit records > in a form. > > > > Charlotte Foust > (916) 206-4336 > > On Thu, Mar 26, 2015 at 10:01 AM, FW Salato Center wrote: > > > I am still struggling with this. Here's what I've found so far. > > > > I created the query wizard to create a simple SELECT on one table. > > When viewing the query in Datasheet view, there's no New button on the > > Navigational toolbar. This seems to be why the form is ignoring the > > Data Entry property. > > > > I don't work with Access much anymore, but I don't recall ever running > > into this before. I can't figure out how to enable new records so the > > form can honor the data entry property. If someone can tell me how to > > do that, I'll probably be fine. > > > > Susan H. > > > > > > From: FW Salato Center > > Sent: Friday, March 20, 2015 1:11 PM > > To: 'accessd at databaseadvisors.com' > > Subject: Form changing behavior after changing record source > > > > Using a menu form, a button opens a form in data entry view - empty form. > > The same form is also used for browsing and editing at different times > > - clicking the button sets the properties when opening the form: > > > > DoCmd.OpenForm "Enter New Animals", acNormal,,,acFormAdd,,"New" > > > > I changed the form's resource source from a table to a query that I > > based on the table - same fields. Now, clicking the menu button to > > open the form in data entry view opens the form filled with data. I > > have no idea why this should matter. Editing and browsing mode are still > working fine. > > > > Any idea why changing the record source is inhibiting > > > > Susan H. > > > > > > -- > > 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From listmaster at databaseadvisors.com Thu Mar 26 14:27:22 2015 From: listmaster at databaseadvisors.com (Bryan Carbonnell) Date: Thu, 26 Mar 2015 15:27:22 -0400 Subject: [AccessD] Administrivia - dba-VS List is LIVE!!! Message-ID: Hi All, The new dba-VS list, to discuss Visual Studio development is now live and ready for use (but please no abuse :) All the old DBA-VB members have been migrated over to the dba-VS list and should have received a subscription notice. You shouldn't have to do anything, except post to the new list using dba-vs at databaseadvisors.com. If you weren't subscribed to dba-VB and want to get in on the party that will be happening over at dba-VS, please head on over to http://databaseadvisors.com/mailman/listinfo/dba-vs and subscribe. As always, if you have any problems, please get in touch. -- Bryan Carbonnell - listmaster at databaseadvisors.com Life's journey is not to arrive at the grave safely in a well preserved body, but rather to skid in sideways, totally worn out, shouting "What a great ride!" From Salato at ky.gov Thu Mar 26 14:46:55 2015 From: Salato at ky.gov (FW Salato Center) Date: Thu, 26 Mar 2015 19:46:55 +0000 Subject: [AccessD] FW: Form changing behavior after changing record source In-Reply-To: References: Message-ID: I didn't know that was the problem until today. :) Susan H. You didn't mention the attachment fields. I've never played with them, so I can't help there. From dbdoug at gmail.com Thu Mar 26 18:58:06 2015 From: dbdoug at gmail.com (Doug Steele) Date: Thu, 26 Mar 2015 16:58:06 -0700 Subject: [AccessD] Sample vba to get code (event procedurecode)behindform/controls In-Reply-To: References: <31B575892C204549B758E07527E25597@XPS> Message-ID: Hi Jack: The smart indenter is a lifesaver! I just recently got a project where there are thousands of lines of code indented inconsistently. Much of it is indented by >10 characters per line, which makes nested if statements completely unreadable. http://www.oaltd.co.uk/indenter/default.htm Despite the fact that it hasn't been updated since 2005, I just installed it on Access 2007 and it worked fine. Doug On Thu, Mar 26, 2015 at 6:31 AM, jack drawbridge wrote: > Thanks Arthur. I have used MZTools for years, and would also suggest > Smart Indenter (also free) and there is a trial version of vbWatchDog, all > of which can be helpful. > > JC and others mentioned a free version of Visual Studio recently. There > must be additional features in your 'not free version' suggestion. > > On Thu, Mar 26, 2015 at 8:46 AM, Arthur Fuller > wrote: > > > Since it hasn't been mentioned yet on this thread, perhaps because > everyone > > is already using it, but just in case not, I feel compelled to mention > > MZ-Tools , an add-in for the Office suite, but > > primarily for Access developers, which is freeware. There's also a > version > > for Visual Studio which is not free, but very reasonably priced. I > consider > > the Access version indispensable -- so much so that when from time to > time > > I am up for a contract with some firm or governmental arm, one of my > first > > questions involves the use of MZ-Tools (some outfits don't permit such > use > > of 3rd-party stuff); I consider that policy asinine, and a deal-breaker. > > > > The reason I mention it is that a lot of the things you might wish to do > > with the objects in an Access app are already included in MZ-Tools. > > > > Arthur > > ? > > -- > > 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 > From df.waters at outlook.com Thu Mar 26 21:09:40 2015 From: df.waters at outlook.com (Dan Waters) Date: Thu, 26 Mar 2015 21:09:40 -0500 Subject: [AccessD] Sample vba to get code (event procedurecode)behindform/controls Message-ID: It works on Access 2010 also! Dan Sent from my Windows Phone ________________________________ From: Doug Steele Sent: ?3/?26/?2015 19:01 To: Access Developers discussion and problem solving Subject: Re: [AccessD] Sample vba to get code (event procedurecode)behindform/controls Hi Jack: The smart indenter is a lifesaver! I just recently got a project where there are thousands of lines of code indented inconsistently. Much of it is indented by >10 characters per line, which makes nested if statements completely unreadable. http://www.oaltd.co.uk/indenter/default.htm Despite the fact that it hasn't been updated since 2005, I just installed it on Access 2007 and it worked fine. Doug On Thu, Mar 26, 2015 at 6:31 AM, jack drawbridge wrote: > Thanks Arthur. I have used MZTools for years, and would also suggest > Smart Indenter (also free) and there is a trial version of vbWatchDog, all > of which can be helpful. > > JC and others mentioned a free version of Visual Studio recently. There > must be additional features in your 'not free version' suggestion. > > On Thu, Mar 26, 2015 at 8:46 AM, Arthur Fuller > wrote: > > > Since it hasn't been mentioned yet on this thread, perhaps because > everyone > > is already using it, but just in case not, I feel compelled to mention > > MZ-Tools , an add-in for the Office suite, but > > primarily for Access developers, which is freeware. There's also a > version > > for Visual Studio which is not free, but very reasonably priced. I > consider > > the Access version indispensable -- so much so that when from time to > time > > I am up for a contract with some firm or governmental arm, one of my > first > > questions involves the use of MZ-Tools (some outfits don't permit such > use > > of 3rd-party stuff); I consider that policy asinine, and a deal-breaker. > > > > The reason I mention it is that a lot of the things you might wish to do > > with the objects in an Access app are already included in MZ-Tools. > > > > Arthur > > ? > > -- > > 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 > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jerbach.db at gmail.com Fri Mar 27 10:28:38 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Fri, 27 Mar 2015 10:28:38 -0500 Subject: [AccessD] Inconsistent Front Ends Message-ID: I'm troubleshooting an application that is behaving differently from one machine to another. I work in a front end copy to correct some problems the users are having, and test it and test it until it's working properly. But when I deploy it on the end users computers (there are 3) it turns flakey on me! One of the problems I was correcting had to do with records 'dropping off' - 4 records would be returned by the initial query into a temp table, the user would select all 4 to move them into the real backend table, and only 3 would make it. I tested my code over and over again on my machine without a hitch; but when I installed it on the floor sometimes all 4 records would make it to the backend, sometimes only 3. There is one computer in particular that seems to be wackier than the other two. That third computer consistently drops the records (in this particular example) whereas the other 2 would only drop some of the time. There are other weird behaviors too, but this is the easiest to describe. Where do I start to trouble shoot this? I worked in a small office environment before, and since I was the one who kept all of the pcs up to date I never worried about inconsistencies from one to the other - and never experienced an issue like this. Thank you! Janet Erbach From stuart at lexacorp.com.pg Fri Mar 27 12:39:52 2015 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Sat, 28 Mar 2015 03:39:52 +1000 Subject: [AccessD] Inconsistent Front Ends In-Reply-To: References: Message-ID: <551595E8.9793.4481D07@stuart.lexacorp.com.pg> If you are missing records on a query in a local temp table I would suspect database corruption. As a test, does it happen if you compact and repair the appliction immediately before you move the records to the BE? On 27 Mar 2015 at 10:28, Janet Erbach wrote: > I'm troubleshooting an application that is behaving differently from > one machine to another. I work in a front end copy to correct some > problems the users are having, and test it and test it until it's > working properly. But when I deploy it on the end users computers > (there are 3) it turns flakey on me! > > One of the problems I was correcting had to do with records 'dropping > off' - 4 records would be returned by the initial query into a temp > table, the user would select all 4 to move them into the real backend > table, and only 3 would make it. I tested my code over and over again > on my machine without a hitch; but when I installed it on the floor > sometimes all 4 records would make it to the backend, sometimes only > 3. > > There is one computer in particular that seems to be wackier than the > other two. That third computer consistently drops the records (in this > particular example) whereas the other 2 would only drop some of the > time. There are other weird behaviors too, but this is the easiest to > describe. > > Where do I start to trouble shoot this? > > I worked in a small office environment before, and since I was the > one who kept all of the pcs up to date I never worried about > inconsistencies from one to the other - and never experienced an issue > like this. > > Thank you! > > Janet Erbach > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jbartow at winhaven.net Fri Mar 27 14:57:23 2015 From: jbartow at winhaven.net (John R Bartow) Date: Fri, 27 Mar 2015 14:57:23 -0500 Subject: [AccessD] Administrivia - Thank you all Message-ID: <010001d068c8$3e095010$ba1bf030$@winhaven.net> Hi All, I have stepped down from any role of responsibility with Database Advisors. I want to thank everyone involved with the running of Database Advisors over the years, especially: Keith Williamson, our Treasurer - the man who keeps it all paid for Bryan Carbonnell, our List Master - the man who keeps it all working Jim Lawrence, our Web Master - the man who keeps it all out there for the public And all of our moderators, current and throughout the years, Gary, Francisco, Bryan, Andy, Debbie, Donna, Lembit, Martin, Mike, Reuben, Roz, (and anyone I missed). While you have not needed to moderate much, it does still take time, and without you, we may have had chaos ;-) I would also like to thank all of our list members for participating. Your questions, answers and comments have lead us all to greater knowledge and you have participated in a manner that creates camaraderie. I wish Database Advisors and all of you the best! Sincerely, John Bartow From robert at servicexp.com Fri Mar 27 18:07:12 2015 From: robert at servicexp.com (Robert) Date: Fri, 27 Mar 2015 19:07:12 -0400 Subject: [AccessD] Administrivia - Thank you all In-Reply-To: <010001d068c8$3e095010$ba1bf030$@winhaven.net> References: <010001d068c8$3e095010$ba1bf030$@winhaven.net> Message-ID: <004a01d068e2$c41e6bd0$4c5b4370$@com> No.. Thank You! :-) -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John R Bartow Sent: Friday, March 27, 2015 3:57 PM To: administrivia at databaseadvisors.com Subject: [AccessD] Administrivia - Thank you all Importance: High Hi All, I have stepped down from any role of responsibility with Database Advisors. I want to thank everyone involved with the running of Database Advisors over the years, especially: Keith Williamson, our Treasurer - the man who keeps it all paid for Bryan Carbonnell, our List Master - the man who keeps it all working Jim Lawrence, our Web Master - the man who keeps it all out there for the public And all of our moderators, current and throughout the years, Gary, Francisco, Bryan, Andy, Debbie, Donna, Lembit, Martin, Mike, Reuben, Roz, (and anyone I missed). While you have not needed to moderate much, it does still take time, and without you, we may have had chaos ;-) I would also like to thank all of our list members for participating. Your questions, answers and comments have lead us all to greater knowledge and you have participated in a manner that creates camaraderie. I wish Database Advisors and all of you the best! Sincerely, John Bartow -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jerbach.db at gmail.com Fri Mar 27 21:27:02 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Fri, 27 Mar 2015 21:27:02 -0500 Subject: [AccessD] Inconsistent Front Ends In-Reply-To: <551595E8.9793.4481D07@stuart.lexacorp.com.pg> References: <551595E8.9793.4481D07@stuart.lexacorp.com.pg> Message-ID: I will test that when I'm on site next week. Never thought of trying that. We did try creating a whole new fresh backend last week by creating a new db and copying all of the BE tables into it. We've continued to have dropped records... On Fri, Mar 27, 2015 at 12:39 PM, Stuart McLachlan wrote: > If you are missing records on a query in a local temp table I would > suspect database > corruption. As a test, does it happen if you compact and repair the > appliction immediately > before you move the records to the BE? > > > > > On 27 Mar 2015 at 10:28, Janet Erbach wrote: > > > I'm troubleshooting an application that is behaving differently from > > one machine to another. I work in a front end copy to correct some > > problems the users are having, and test it and test it until it's > > working properly. But when I deploy it on the end users computers > > (there are 3) it turns flakey on me! > > > > One of the problems I was correcting had to do with records 'dropping > > off' - 4 records would be returned by the initial query into a temp > > table, the user would select all 4 to move them into the real backend > > table, and only 3 would make it. I tested my code over and over again > > on my machine without a hitch; but when I installed it on the floor > > sometimes all 4 records would make it to the backend, sometimes only > > 3. > > > > There is one computer in particular that seems to be wackier than the > > other two. That third computer consistently drops the records (in this > > particular example) whereas the other 2 would only drop some of the > > time. There are other weird behaviors too, but this is the easiest to > > describe. > > > > Where do I start to trouble shoot this? > > > > I worked in a small office environment before, and since I was the > > one who kept all of the pcs up to date I never worried about > > inconsistencies from one to the other - and never experienced an issue > > like this. > > > > Thank you! > > > > Janet Erbach > > -- > > 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 > From andy at minstersystems.co.uk Sat Mar 28 01:35:20 2015 From: andy at minstersystems.co.uk (Andy Lacey) Date: Sat, 28 Mar 2015 06:35:20 -0000 Subject: [AccessD] Administrivia - Thank you all In-Reply-To: <004a01d068e2$c41e6bd0$4c5b4370$@com> Message-ID: <818C8022058C4441B5E70A181879EE09@MINSTER> Well said Robert. Thanks for all your good work behind the scenes John. Andy -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Robert Sent: 27 March 2015 23:07 To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Administrivia - Thank you all No.. Thank You! :-) -----Original Message----- From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John R Bartow Sent: Friday, March 27, 2015 3:57 PM To: administrivia at databaseadvisors.com Subject: [AccessD] Administrivia - Thank you all Importance: High Hi All, I have stepped down from any role of responsibility with Database Advisors. I want to thank everyone involved with the running of Database Advisors over the years, especially: Keith Williamson, our Treasurer - the man who keeps it all paid for Bryan Carbonnell, our List Master - the man who keeps it all working Jim Lawrence, our Web Master - the man who keeps it all out there for the public And all of our moderators, current and throughout the years, Gary, Francisco, Bryan, Andy, Debbie, Donna, Lembit, Martin, Mike, Reuben, Roz, (and anyone I missed). While you have not needed to moderate much, it does still take time, and without you, we may have had chaos ;-) I would also like to thank all of our list members for participating. Your questions, answers and comments have lead us all to greater knowledge and you have participated in a manner that creates camaraderie. I wish Database Advisors and all of you the best! Sincerely, John Bartow -- 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 From lembit.soobik at weihenstephan.org Sat Mar 28 06:32:19 2015 From: lembit.soobik at weihenstephan.org (Lembit Soobik) Date: Sat, 28 Mar 2015 12:32:19 +0100 Subject: [AccessD] Administrivia - Thank you all In-Reply-To: <010001d068c8$3e095010$ba1bf030$@winhaven.net> References: <010001d068c8$3e095010$ba1bf030$@winhaven.net> Message-ID: <128201E5FA064D4EA051E8CEE713664B@S3600> Thank you, John, for doing a great job for this list. Lembit -----Urspr?ngliche Nachricht----- From: John R Bartow Sent: Friday, March 27, 2015 8:57 PM To: administrivia at databaseadvisors.com Subject: [AccessD] Administrivia - Thank you all Hi All, I have stepped down from any role of responsibility with Database Advisors. I want to thank everyone involved with the running of Database Advisors over the years, especially: Keith Williamson, our Treasurer - the man who keeps it all paid for Bryan Carbonnell, our List Master - the man who keeps it all working Jim Lawrence, our Web Master - the man who keeps it all out there for the public And all of our moderators, current and throughout the years, Gary, Francisco, Bryan, Andy, Debbie, Donna, Lembit, Martin, Mike, Reuben, Roz, (and anyone I missed). While you have not needed to moderate much, it does still take time, and without you, we may have had chaos ;-) I would also like to thank all of our list members for participating. Your questions, answers and comments have lead us all to greater knowledge and you have participated in a manner that creates camaraderie. I wish Database Advisors and all of you the best! Sincerely, John Bartow -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jerbach.db at gmail.com Mon Mar 30 14:59:59 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Mon, 30 Mar 2015 14:59:59 -0500 Subject: [AccessD] Menu form changes app behavior? Message-ID: I am trouble shooting an app that uses a switchboard menu. While I'm trouble shooting, I open the app in design view to write my code, test my forms and queries, etc. Everything is working fine that way. As soon as I run the menu form and begin testing the app the way the end user sees it, the results I get change. Specifically: the user types in a part # and a machine #; the query inserts, say, 6 records into a temp table. A form comes up that displays the records in that temp table; the user can select the records to process with an 'accept' checkbox. When the user clicks 'submit', all records with 'accept=true' should be selected and processed. This works fine when I open the app in design mode: I select 6 records, and 6 records are processed. When running this function through the main menu, though, only 5 out of 6 are being selected! It's as if the last 'accept' checkmark is not being posted to the table. I issue a 'Me.requery' to the form as soon as the 'submit' button is checked to post all the records, but it's not working. I have no idea why this is happening. Any ideas where I can look? Janet Erbach From stuart at lexacorp.com.pg Mon Mar 30 15:27:13 2015 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Tue, 31 Mar 2015 06:27:13 +1000 Subject: [AccessD] Menu form changes app behavior? In-Reply-To: References: Message-ID: <5519B1A1.4296.14545912@stuart.lexacorp.com.pg> The last record is still dirty and the "accept" state has not been updated. Try a "Me.Dirty = False" at the start of the procedure to force the save. On 30 Mar 2015 at 14:59, Janet Erbach wrote: > I am trouble shooting an app that uses a switchboard menu. While I'm > trouble shooting, I open the app in design view to write my code, test > my forms and queries, etc. Everything is working fine that way. > > As soon as I run the menu form and begin testing the app the way the > end user sees it, the results I get change. > > Specifically: the user types in a part # and a machine #; the query > inserts, say, 6 records into a temp table. A form comes up that > displays the records in that temp table; the user can select the > records to process with an 'accept' checkbox. When the user clicks > 'submit', all records with 'accept=true' should be selected and > processed. > > This works fine when I open the app in design mode: I select 6 > records, and 6 records are processed. When running this function > through the main menu, though, only 5 out of 6 are being selected! > It's as if the last 'accept' checkmark is not being posted to the > table. I issue a 'Me.requery' to the form as soon as the 'submit' > button is checked to post all the records, but it's not working. > > I have no idea why this is happening. Any ideas where I can look? > > Janet Erbach > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jerbach.db at gmail.com Tue Mar 31 08:22:38 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Tue, 31 Mar 2015 08:22:38 -0500 Subject: [AccessD] Menu form changes app behavior? In-Reply-To: <5519B1A1.4296.14545912@stuart.lexacorp.com.pg> References: <5519B1A1.4296.14545912@stuart.lexacorp.com.pg> Message-ID: I'll try that. Doesn't 'Me.requery' do the same thing, though? On Mon, Mar 30, 2015 at 3:27 PM, Stuart McLachlan wrote: > The last record is still dirty and the "accept" state has not been updated. > > Try a "Me.Dirty = False" at the start of the procedure to force the save. > > > > On 30 Mar 2015 at 14:59, Janet Erbach wrote: > > > I am trouble shooting an app that uses a switchboard menu. While I'm > > trouble shooting, I open the app in design view to write my code, test > > my forms and queries, etc. Everything is working fine that way. > > > > As soon as I run the menu form and begin testing the app the way the > > end user sees it, the results I get change. > > > > Specifically: the user types in a part # and a machine #; the query > > inserts, say, 6 records into a temp table. A form comes up that > > displays the records in that temp table; the user can select the > > records to process with an 'accept' checkbox. When the user clicks > > 'submit', all records with 'accept=true' should be selected and > > processed. > > > > This works fine when I open the app in design mode: I select 6 > > records, and 6 records are processed. When running this function > > through the main menu, though, only 5 out of 6 are being selected! > > It's as if the last 'accept' checkmark is not being posted to the > > table. I issue a 'Me.requery' to the form as soon as the 'submit' > > button is checked to post all the records, but it's not working. > > > > I have no idea why this is happening. Any ideas where I can look? > > > > Janet Erbach > > -- > > 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 > From stuart at lexacorp.com.pg Tue Mar 31 14:36:15 2015 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Wed, 01 Apr 2015 05:36:15 +1000 Subject: [AccessD] Menu form changes app behavior? In-Reply-To: References: , <5519B1A1.4296.14545912@stuart.lexacorp.com.pg>, Message-ID: <551AF72F.21589.194C10C6@stuart.lexacorp.com.pg> No, it doesn't force a save of the dirty record, it discards the change. On 31 Mar 2015 at 8:22, Janet Erbach wrote: > I'll try that. Doesn't 'Me.requery' do the same thing, though? > > On Mon, Mar 30, 2015 at 3:27 PM, Stuart McLachlan > wrote: > > > The last record is still dirty and the "accept" state has not been > > updated. > > > > Try a "Me.Dirty = False" at the start of the procedure to force the > > save. > > > > > > > > On 30 Mar 2015 at 14:59, Janet Erbach wrote: > > > > > I am trouble shooting an app that uses a switchboard menu. While > > > I'm trouble shooting, I open the app in design view to write my > > > code, test my forms and queries, etc. Everything is working fine > > > that way. > > > > > > As soon as I run the menu form and begin testing the app the way > > > the end user sees it, the results I get change. > > > > > > Specifically: the user types in a part # and a machine #; the > > > query inserts, say, 6 records into a temp table. A form comes up > > > that displays the records in that temp table; the user can select > > > the records to process with an 'accept' checkbox. When the user > > > clicks 'submit', all records with 'accept=true' should be selected > > > and processed. > > > > > > This works fine when I open the app in design mode: I select 6 > > > records, and 6 records are processed. When running this function > > > through the main menu, though, only 5 out of 6 are being selected! > > > It's as if the last 'accept' checkmark is not being posted to the > > > table. I issue a 'Me.requery' to the form as soon as the 'submit' > > > button is checked to post all the records, but it's not working. > > > > > > I have no idea why this is happening. Any ideas where I can look? > > > > > > Janet Erbach > > > -- > > > 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 > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jerbach.db at gmail.com Tue Mar 31 15:11:28 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Tue, 31 Mar 2015 15:11:28 -0500 Subject: [AccessD] Menu form changes app behavior? In-Reply-To: <551AF72F.21589.194C10C6@stuart.lexacorp.com.pg> References: <5519B1A1.4296.14545912@stuart.lexacorp.com.pg> <551AF72F.21589.194C10C6@stuart.lexacorp.com.pg> Message-ID: Alright, thank you. The 'Me.Dirty = false' seems to be making a difference. On Tue, Mar 31, 2015 at 2:36 PM, Stuart McLachlan wrote: > No, it doesn't force a save of the dirty record, it discards the change. > > On 31 Mar 2015 at 8:22, Janet Erbach wrote: > > > I'll try that. Doesn't 'Me.requery' do the same thing, though? > > > > On Mon, Mar 30, 2015 at 3:27 PM, Stuart McLachlan > > wrote: > > > > > The last record is still dirty and the "accept" state has not been > > > updated. > > > > > > Try a "Me.Dirty = False" at the start of the procedure to force the > > > save. > > > > > > > > > > > > On 30 Mar 2015 at 14:59, Janet Erbach wrote: > > > > > > > I am trouble shooting an app that uses a switchboard menu. While > > > > I'm trouble shooting, I open the app in design view to write my > > > > code, test my forms and queries, etc. Everything is working fine > > > > that way. > > > > > > > > As soon as I run the menu form and begin testing the app the way > > > > the end user sees it, the results I get change. > > > > > > > > Specifically: the user types in a part # and a machine #; the > > > > query inserts, say, 6 records into a temp table. A form comes up > > > > that displays the records in that temp table; the user can select > > > > the records to process with an 'accept' checkbox. When the user > > > > clicks 'submit', all records with 'accept=true' should be selected > > > > and processed. > > > > > > > > This works fine when I open the app in design mode: I select 6 > > > > records, and 6 records are processed. When running this function > > > > through the main menu, though, only 5 out of 6 are being selected! > > > > It's as if the last 'accept' checkmark is not being posted to the > > > > table. I issue a 'Me.requery' to the form as soon as the 'submit' > > > > button is checked to post all the records, but it's not working. > > > > > > > > I have no idea why this is happening. Any ideas where I can look? > > > > > > > > Janet Erbach > > > > -- > > > > 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 > > > > > -- > > 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 > From jerbach.db at gmail.com Tue Mar 31 16:42:48 2015 From: jerbach.db at gmail.com (Janet Erbach) Date: Tue, 31 Mar 2015 16:42:48 -0500 Subject: [AccessD] Form won't populate in 'Menu' mode Message-ID: I have a continuous form that is bound to a temporary table on the user's C drive. The temporary table is populated before the form opens. There are no filters, nothing fancy at all - just a form bound to a small, local table. The user inputs a tooling # into a 'Find' form; if records are found for that #, the temporary table is populated and the 'Display' form opens. I'm seeing 2 consistently different behaviors which are driving me crazy. 1) *Open the app in design mode*...I input a tooling # in the 'Find' form; click 'submit'; the 'Display' form opens and all of the records display just fine. Every time. 2) *Run the app in user mode*...the app opens to a switchboard form. I select the proper switchboard item, input a tooling # in the 'Find' form; click 'submit'; the 'Display' form opens and *at least 50% of the time the form opens with no records displaying at all. *If I click the 'refresh' button (placed on the form because of this recurring issue), the form requeries and the records display just fine. I swear that the switchboard form is affecting the app's overall behavior...but I don't understand how that could be. Help. Janet Erbach